[Change] Helper for underwater survival hints

This commit is contained in:
Frank 2023-06-17 21:07:07 +02:00
parent 4f934cdaf0
commit 07f8bce1dc
4 changed files with 23 additions and 0 deletions

View file

@ -59,6 +59,18 @@ public interface SurvivesOnSpecialGround extends SurvivesOn {
}
}
@Environment(EnvType.CLIENT)
public static void appendHoverTextUnderwater(List<Component> list) {
list.add(Component.translatable("tooltip.bclib.place_underwater")
.withStyle(ChatFormatting.GREEN));
}
@Environment(EnvType.CLIENT)
public static void appendHoverTextUnderwaterInDepth(List<Component> list, int depth) {
list.add(Component.translatable("tooltip.bclib.place_underwater_depth", depth)
.withStyle(ChatFormatting.GREEN));
}
default boolean canSurviveOnTop(LevelReader world, BlockPos pos) {
return isSurvivable(world.getBlockState(pos.below()));
}

View file

@ -1,7 +1,10 @@
package org.betterx.bclib.interfaces;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
import java.util.List;
@ -12,4 +15,8 @@ public interface SurvivesOnWater extends SurvivesOnBlocks {
default List<Block> getSurvivableBlocks() {
return BLOCKS;
}
default boolean canSurvive(BlockState state, LevelReader world, BlockPos pos) {
return world.getBlockState(pos).isAir() && isTerrain(world.getBlockState(pos.below()));
}
}