From ef3b28610324e46c3b332d3e10a848ecf1a1304a Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Thu, 8 Jul 2021 15:27:16 +0300 Subject: [PATCH] Fixed items on pedestals --- .../betterend/blocks/basis/PedestalBlock.java | 23 ++++++------------- .../blocks/entities/PedestalBlockEntity.java | 6 ++++- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java b/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java index 117c82d5..fa6f4963 100644 --- a/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/PedestalBlock.java @@ -42,6 +42,7 @@ import ru.bclib.client.models.ModelsHelper; import ru.betterend.blocks.EndBlockProperties; import ru.betterend.blocks.EndBlockProperties.PedestalState; import ru.betterend.blocks.InfusionPedestal; +import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity; import ru.betterend.blocks.entities.InfusionPedestalEntity; import ru.betterend.blocks.entities.PedestalBlockEntity; import ru.betterend.client.models.Patterns; @@ -447,22 +448,6 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock { }; } - @Override - @Nullable - public BlockEntityTicker getTicker(Level level, BlockState blockState, BlockEntityType blockEntityType) { - if (level.isClientSide) return null; - - BlockEntityTicker ticker = createTickerHelper(blockEntityType, EndBlockEntities.PEDESTAL, PedestalBlockEntity::tick); - if (ticker != null) return ticker; - - return createTickerHelper(blockEntityType, EndBlockEntities.INFUSION_PEDESTAL, InfusionPedestalEntity::tick); - } - - @Nullable - protected static BlockEntityTicker createTickerHelper(BlockEntityType blockEntityType, BlockEntityType blockEntityType2, BlockEntityTicker blockEntityTicker) { - return blockEntityType2 == blockEntityType ? (BlockEntityTicker) blockEntityTicker : null; - } - static { VoxelShape basinUp = Block.box(2, 3, 2, 14, 4, 14); VoxelShape basinDown = Block.box(0, 0, 0, 16, 3, 16); @@ -481,4 +466,10 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock { SHAPE_COLUMN = Shapes.or(basin, SHAPE_PILLAR, columnTop); SHAPE_BOTTOM = Shapes.or(basin, SHAPE_PILLAR); } + + @Override + @Nullable + public BlockEntityTicker getTicker(Level level, BlockState blockState, BlockEntityType blockEntityType) { + return level.isClientSide() ? PedestalBlockEntity::tick : null; + } } diff --git a/src/main/java/ru/betterend/blocks/entities/PedestalBlockEntity.java b/src/main/java/ru/betterend/blocks/entities/PedestalBlockEntity.java index dab530c0..0e61d526 100644 --- a/src/main/java/ru/betterend/blocks/entities/PedestalBlockEntity.java +++ b/src/main/java/ru/betterend/blocks/entities/PedestalBlockEntity.java @@ -133,7 +133,11 @@ public class PedestalBlockEntity extends BlockEntity implements Container, Block } } - public static void tick(Level tickLevel, BlockPos tickPos, BlockState tickState, PedestalBlockEntity blockEntity) { + public static void tick(Level level, BlockPos blockPos, BlockState blockState, T uncastedEntity) { + clientTick(level, blockPos, blockState, (PedestalBlockEntity) uncastedEntity); + } + + private static void clientTick(Level tickLevel, BlockPos tickPos, BlockState tickState, PedestalBlockEntity blockEntity) { if (!blockEntity.isEmpty()) { blockEntity.age++; if (blockEntity.age > blockEntity.maxAge) {