mirror of
https://github.com/RoBaertschi/EnvironmentTech.git
synced 2025-04-19 23:03:28 +00:00
ticking for env distributor
This commit is contained in:
parent
a653a10ae8
commit
88753530be
@ -1,7 +1,10 @@
|
||||
package robaertschi.environmenttech.level.block;
|
||||
|
||||
import com.mojang.serialization.MapCodec;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
@ -13,8 +16,17 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.StateDefinition;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraft.world.level.block.state.properties.DirectionProperty;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import robaertschi.environmenttech.level.block.entity.ETBlockEntities;
|
||||
import robaertschi.environmenttech.level.block.entity.EnvDistributorBlockEntity;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Slf4j
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
public class EnvDistributorBlock extends BaseEntityBlock {
|
||||
public static final DirectionProperty FACING = BlockStateProperties.FACING;
|
||||
public static final MapCodec<EnvDistributorBlock> CODEC = simpleCodec(EnvDistributorBlock::new);
|
||||
@ -41,7 +53,7 @@ public class EnvDistributorBlock extends BaseEntityBlock {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockState mirror(BlockState pState, Mirror pMirror) {
|
||||
protected @NotNull BlockState mirror(BlockState pState, Mirror pMirror) {
|
||||
return pState.rotate(pMirror.getRotation(pState.getValue(FACING)));
|
||||
}
|
||||
|
||||
@ -65,6 +77,25 @@ public class EnvDistributorBlock extends BaseEntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
public BlockEntity newBlockEntity(BlockPos pPos, BlockState pState) {
|
||||
return null;
|
||||
return new EnvDistributorBlockEntity(pPos, pState);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public <T extends BlockEntity> BlockEntityTicker<T> getTicker(@NotNull Level pLevel, @NotNull BlockState pState, @NotNull BlockEntityType<T> pBlockEntityType) {
|
||||
return createTickerHelper(pBlockEntityType, ETBlockEntities.ENV_DISTRIBUTOR_BLOCK_ENTITY.get(), this::tick);
|
||||
}
|
||||
|
||||
public void tick(Level level, BlockPos blockPos, BlockState blockState, EnvDistributorBlockEntity envDistributorBlockEntity) {
|
||||
|
||||
if (!level.isClientSide()) {
|
||||
if (level instanceof ServerLevel serverLevel) {
|
||||
envDistributorBlockEntity.serverTick(serverLevel, blockPos, blockState);
|
||||
} else {
|
||||
log.error("level.isClientSide() returned false, but is not a ServerLevel, not ticking EnvCollector");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user