42 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.world.level.block;
 | |
| 
 | |
| import com.mojang.serialization.MapCodec;
 | |
| import net.minecraft.core.BlockPos;
 | |
| import net.minecraft.world.MenuProvider;
 | |
| import net.minecraft.world.level.Level;
 | |
| import net.minecraft.world.level.block.entity.BlockEntity;
 | |
| import net.minecraft.world.level.block.entity.BlockEntityTicker;
 | |
| import net.minecraft.world.level.block.entity.BlockEntityType;
 | |
| import net.minecraft.world.level.block.state.BlockBehaviour;
 | |
| import net.minecraft.world.level.block.state.BlockState;
 | |
| import org.jetbrains.annotations.Nullable;
 | |
| 
 | |
| public abstract class BaseEntityBlock extends Block implements EntityBlock {
 | |
| 	protected BaseEntityBlock(BlockBehaviour.Properties properties) {
 | |
| 		super(properties);
 | |
| 	}
 | |
| 
 | |
| 	@Override
 | |
| 	protected abstract MapCodec<? extends BaseEntityBlock> codec();
 | |
| 
 | |
| 	@Override
 | |
| 	protected boolean triggerEvent(BlockState state, Level level, BlockPos pos, int id, int param) {
 | |
| 		super.triggerEvent(state, level, pos, id, param);
 | |
| 		BlockEntity blockEntity = level.getBlockEntity(pos);
 | |
| 		return blockEntity == null ? false : blockEntity.triggerEvent(id, param);
 | |
| 	}
 | |
| 
 | |
| 	@Nullable
 | |
| 	@Override
 | |
| 	protected MenuProvider getMenuProvider(BlockState state, Level level, BlockPos pos) {
 | |
| 		BlockEntity blockEntity = level.getBlockEntity(pos);
 | |
| 		return blockEntity instanceof MenuProvider ? (MenuProvider)blockEntity : null;
 | |
| 	}
 | |
| 
 | |
| 	@Nullable
 | |
| 	protected static <E extends BlockEntity, A extends BlockEntity> BlockEntityTicker<A> createTickerHelper(
 | |
| 		BlockEntityType<A> serverType, BlockEntityType<E> clientType, BlockEntityTicker<? super E> ticker
 | |
| 	) {
 | |
| 		return clientType == serverType ? ticker : null;
 | |
| 	}
 | |
| }
 |