修复getTicker类型问题
This commit is contained in:
parent
e69cd6a265
commit
a725a914be
1 changed files with 8 additions and 2 deletions
|
@ -70,12 +70,18 @@ public class FuMO25Block extends Block implements EntityBlock {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable <T extends BlockEntity> BlockEntityTicker<T> getTicker(Level pLevel, @NotNull BlockState pState, @NotNull BlockEntityType<T> pBlockEntityType) {
|
public @Nullable <T extends BlockEntity> BlockEntityTicker<T> getTicker(Level pLevel, @NotNull BlockState pState, @NotNull BlockEntityType<T> pBlockEntityType) {
|
||||||
if (!pLevel.isClientSide && pBlockEntityType == ModBlockEntities.FUMO_25.get()) {
|
if (!pLevel.isClientSide) {
|
||||||
return FuMO25BlockEntity::serverTick;
|
return createTickerHelper(pBlockEntityType, ModBlockEntities.FUMO_25.get(), FuMO25BlockEntity::serverTick);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
protected static <E extends BlockEntity, A extends BlockEntity> BlockEntityTicker<A> createTickerHelper(BlockEntityType<A> pServerType, BlockEntityType<E> pClientType, BlockEntityTicker<? super E> pTicker) {
|
||||||
|
return pClientType == pServerType ? (BlockEntityTicker<A>) pTicker : null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public void onRemove(BlockState pState, Level pLevel, BlockPos pPos, BlockState pNewState, boolean pMovedByPiston) {
|
public void onRemove(BlockState pState, Level pLevel, BlockPos pPos, BlockState pNewState, boolean pMovedByPiston) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue