Fixed Tick for InfusionPedestal

This commit is contained in:
Frank Bauer 2021-06-29 23:05:36 +02:00
parent b6c4e73481
commit ab6d015c98
3 changed files with 16 additions and 16 deletions

View file

@ -435,7 +435,12 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock {
@Override @Override
@Nullable @Nullable
public <T extends BlockEntity> BlockEntityTicker<T> getTicker(Level level, BlockState blockState, BlockEntityType<T> blockEntityType) { public <T extends BlockEntity> BlockEntityTicker<T> getTicker(Level level, BlockState blockState, BlockEntityType<T> blockEntityType) {
return level.isClientSide() ? null : createTickerHelper(blockEntityType, EndBlockEntities.PEDESTAL, PedestalBlockEntity::tick); if (level.isClientSide) return null;
BlockEntityTicker<T> ticker = createTickerHelper(blockEntityType, EndBlockEntities.PEDESTAL, PedestalBlockEntity::tick);
if (ticker!=null) return ticker;
return createTickerHelper(blockEntityType, EndBlockEntities.INFUSION_PEDESTAL, InfusionPedestalEntity::tick);
} }
@Nullable @Nullable

View file

@ -44,13 +44,12 @@ public class InfusionPedestalEntity extends PedestalBlockEntity {
public boolean hasRitual() { public boolean hasRitual() {
return linkedRitual != null; return linkedRitual != null;
} }
@Override public static void tick(Level tickLevel, BlockPos tickPos, BlockState tickState, InfusionPedestalEntity blockEntity) {
protected void tick(Level tickLevel, BlockPos tickPos, BlockState tickState){ if (blockEntity.hasRitual()) {
if (hasRitual()) { blockEntity.linkedRitual.tick();
linkedRitual.tick();
} }
super.tick(tickLevel, tickPos, tickState); PedestalBlockEntity.tick(tickLevel, tickPos, tickState, blockEntity);
} }
@Override @Override

View file

@ -132,16 +132,12 @@ public class PedestalBlockEntity extends BlockEntity implements Container, Block
} }
} }
protected void tick(Level tickLevel, BlockPos tickPos, BlockState tickState){ public static void tick(Level tickLevel, BlockPos tickPos, BlockState tickState, PedestalBlockEntity blockEntity) {
if (!this.isEmpty()) { if (!blockEntity.isEmpty()) {
this.age++; blockEntity.age++;
if (this.age > this.maxAge) { if (blockEntity.age > blockEntity.maxAge) {
this.age = 0; blockEntity.age = 0;
} }
} }
} }
public static void tick(Level tickLevel, BlockPos tickPos, BlockState tickState, PedestalBlockEntity blockEntity) {
blockEntity.tick(tickLevel, tickPos, tickState);
}
} }