diff --git a/src/main/java/org/betterx/betterend/blocks/CharniaBlock.java b/src/main/java/org/betterx/betterend/blocks/CharniaBlock.java index 35c1a9ef..abfbd2cf 100644 --- a/src/main/java/org/betterx/betterend/blocks/CharniaBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/CharniaBlock.java @@ -2,16 +2,19 @@ package org.betterx.betterend.blocks; import org.betterx.bclib.behaviours.BehaviourBuilders; import org.betterx.bclib.behaviours.interfaces.BehaviourWaterPlant; -import org.betterx.bclib.interfaces.SurvivesOnWater; +import org.betterx.bclib.interfaces.SurvivesOnSpecialGround; import org.betterx.betterend.blocks.basis.EndUnderwaterPlantBlock; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.world.level.LevelReader; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Fluids; -public class CharniaBlock extends EndUnderwaterPlantBlock implements BehaviourWaterPlant, SurvivesOnWater { +import java.util.List; +import org.jetbrains.annotations.Nullable; + +public class CharniaBlock extends EndUnderwaterPlantBlock implements BehaviourWaterPlant { public CharniaBlock() { super( BehaviourBuilders.createWaterPlant() @@ -19,12 +22,18 @@ public class CharniaBlock extends EndUnderwaterPlantBlock implements BehaviourWa } @Override - public boolean canSurvive(BlockState state, LevelReader world, BlockPos pos) { - return canSupportCenter(world, pos.below(), Direction.UP) && world.getFluidState(pos).getType() == Fluids.WATER; + public void appendHoverText( + ItemStack itemStack, + @Nullable BlockGetter blockGetter, + List list, + TooltipFlag tooltipFlag + ) { + super.appendHoverText(itemStack, blockGetter, list, tooltipFlag); + SurvivesOnSpecialGround.appendHoverTextUnderwater(list); } @Override - public boolean isTerrain(BlockState state) { - return SurvivesOnWater.super.isTerrain(state); + protected boolean isTerrain(BlockState state) { + return state.isSolid(); } } diff --git a/src/main/java/org/betterx/betterend/blocks/FlamaeaBlock.java b/src/main/java/org/betterx/betterend/blocks/FlamaeaBlock.java index 29053d12..a09c4eb1 100644 --- a/src/main/java/org/betterx/betterend/blocks/FlamaeaBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/FlamaeaBlock.java @@ -59,4 +59,10 @@ public class FlamaeaBlock extends EndPlantBlock implements CustomItemProvider, B public boolean isTerrain(BlockState state) { return SurvivesOnWater.super.isTerrain(state); } + + +// @Override +// public boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) { +// return SurvivesOnWater.super.canSurvive(state, level, pos); +// } } diff --git a/src/main/java/org/betterx/betterend/blocks/HydraluxSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/HydraluxSaplingBlock.java index 2afaddef..07995e34 100644 --- a/src/main/java/org/betterx/betterend/blocks/HydraluxSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/HydraluxSaplingBlock.java @@ -2,6 +2,7 @@ package org.betterx.betterend.blocks; import org.betterx.bclib.behaviours.interfaces.BehaviourWaterPlantSapling; import org.betterx.bclib.blocks.UnderwaterPlantWithAgeBlock; +import org.betterx.bclib.interfaces.SurvivesOnSpecialGround; import org.betterx.bclib.util.BlocksHelper; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.interfaces.survives.SurvivesOnSulphuricRock; @@ -9,11 +10,18 @@ import org.betterx.betterend.registry.EndBlocks; import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; +import net.minecraft.network.chat.Component; import net.minecraft.util.RandomSource; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; +import java.util.List; +import org.jetbrains.annotations.Nullable; + public class HydraluxSaplingBlock extends UnderwaterPlantWithAgeBlock implements BehaviourWaterPlantSapling, SurvivesOnSulphuricRock { @Override @@ -75,7 +83,15 @@ public class HydraluxSaplingBlock extends UnderwaterPlantWithAgeBlock implements return SurvivesOnSulphuricRock.super.isTerrain(state); } - public String prefixComponent() { - return "tooltip.bclib.place_underwater_on"; + + @Override + public void appendHoverText( + ItemStack itemStack, + @Nullable BlockGetter blockGetter, + List list, + TooltipFlag tooltipFlag + ) { + super.appendHoverText(itemStack, blockGetter, list, tooltipFlag); + SurvivesOnSpecialGround.appendHoverTextUnderwaterInDepth(list, 5); } } diff --git a/src/main/java/org/betterx/betterend/interfaces/survives/SurvivesOnSulphuricRock.java b/src/main/java/org/betterx/betterend/interfaces/survives/SurvivesOnSulphuricRock.java index 5c301b46..664f70ab 100644 --- a/src/main/java/org/betterx/betterend/interfaces/survives/SurvivesOnSulphuricRock.java +++ b/src/main/java/org/betterx/betterend/interfaces/survives/SurvivesOnSulphuricRock.java @@ -14,4 +14,9 @@ public interface SurvivesOnSulphuricRock extends SurvivesOnBlocks { default List getSurvivableBlocks() { return BLOCKS; } + + @Override + default String prefixComponent() { + return "tooltip.bclib.place_underwater_on"; + } }