minecraft-src/net/minecraft/world/level/block/EntityBlock.java
2025-07-04 01:41:11 +03:00

26 lines
1,001 B
Java

package net.minecraft.world.level.block;
import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerLevel;
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.BlockState;
import net.minecraft.world.level.gameevent.GameEventListener;
import org.jetbrains.annotations.Nullable;
public interface EntityBlock {
@Nullable
BlockEntity newBlockEntity(BlockPos pos, BlockState state);
@Nullable
default <T extends BlockEntity> BlockEntityTicker<T> getTicker(Level level, BlockState state, BlockEntityType<T> blockEntityType) {
return null;
}
@Nullable
default <T extends BlockEntity> GameEventListener getListener(ServerLevel level, T blockEntity) {
return blockEntity instanceof GameEventListener.Provider<?> provider ? provider.getListener() : null;
}
}