Entites fixes
This commit is contained in:
parent
ec61f22682
commit
0c73d69a93
2 changed files with 35 additions and 55 deletions
|
@ -7,13 +7,16 @@ import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
|||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import ru.bclib.blocks.BaseBarrelBlock;
|
||||
import ru.bclib.blocks.BaseChestBlock;
|
||||
import ru.bclib.blocks.BaseFurnaceBlock;
|
||||
import ru.bclib.blocks.BaseSignBlock;
|
||||
import ru.bclib.client.render.BCLRenderLayer;
|
||||
import ru.bclib.client.render.BaseChestBlockEntityRenderer;
|
||||
import ru.bclib.client.render.BaseSignBlockEntityRenderer;
|
||||
import ru.bclib.interfaces.PostInitable;
|
||||
import ru.bclib.interfaces.RenderLayerProvider;
|
||||
import ru.bclib.registry.BaseBlockEntities;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
@ -66,5 +69,17 @@ public class PostInitAPI {
|
|||
if (block instanceof PostInitable) {
|
||||
((PostInitable) block).postInit();
|
||||
}
|
||||
if (block instanceof BaseChestBlock) {
|
||||
BaseBlockEntities.CHEST.registerBlock(block);
|
||||
}
|
||||
else if (block instanceof BaseSignBlock) {
|
||||
BaseBlockEntities.SIGN.registerBlock(block);
|
||||
}
|
||||
else if (block instanceof BaseBarrelBlock) {
|
||||
BaseBlockEntities.BARREL.registerBlock(block);
|
||||
}
|
||||
else if (block instanceof BaseFurnaceBlock) {
|
||||
BaseBlockEntities.FURNACE.registerBlock(block);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,16 +18,10 @@ import ru.bclib.blocks.BaseFurnaceBlock;
|
|||
import ru.bclib.blocks.BaseSignBlock;
|
||||
|
||||
public class BaseBlockEntities {
|
||||
public static final DynamicBlockEntityType<BaseChestBlockEntity> CHEST = registerBlockEntityType(BCLib.makeID(
|
||||
"chest"), BaseChestBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseBarrelBlockEntity> BARREL = registerBlockEntityType(BCLib.makeID(
|
||||
"barrel"), BaseBarrelBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseSignBlockEntity> SIGN = registerBlockEntityType(
|
||||
BCLib.makeID("sign"),
|
||||
BaseSignBlockEntity::new
|
||||
);
|
||||
public static final DynamicBlockEntityType<BaseFurnaceBlockEntity> FURNACE = registerBlockEntityType(BCLib.makeID(
|
||||
"furnace"), BaseFurnaceBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseChestBlockEntity> CHEST = registerBlockEntityType(BCLib.makeID("chest"), BaseChestBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseBarrelBlockEntity> BARREL = registerBlockEntityType(BCLib.makeID("barrel"), BaseBarrelBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseSignBlockEntity> SIGN = registerBlockEntityType(BCLib.makeID("sign"), BaseSignBlockEntity::new);
|
||||
public static final DynamicBlockEntityType<BaseFurnaceBlockEntity> FURNACE = registerBlockEntityType(BCLib.makeID("furnace"), BaseFurnaceBlockEntity::new);
|
||||
|
||||
public static <T extends BlockEntity> DynamicBlockEntityType<T> registerBlockEntityType(ResourceLocation typeId, BlockEntitySupplier<? extends T> supplier) {
|
||||
return Registry.register(Registry.BLOCK_ENTITY_TYPE, typeId, new DynamicBlockEntityType<>(supplier));
|
||||
|
@ -36,59 +30,30 @@ public class BaseBlockEntities {
|
|||
public static void register() {}
|
||||
|
||||
public static Block[] getChests() {
|
||||
return BaseRegistry.getRegisteredBlocks()
|
||||
.values()
|
||||
return Registry.BLOCK
|
||||
.stream()
|
||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseChestBlock)
|
||||
.map(item -> ((BlockItem) item).getBlock())
|
||||
.filter(block -> block instanceof BaseChestBlock)
|
||||
.toArray(Block[]::new);
|
||||
}
|
||||
|
||||
public static Block[] getBarrels() {
|
||||
return BaseRegistry.getRegisteredBlocks()
|
||||
.values()
|
||||
return Registry.BLOCK
|
||||
.stream()
|
||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseBarrelBlock)
|
||||
.map(item -> ((BlockItem) item).getBlock())
|
||||
.filter(block -> block instanceof BaseBarrelBlock)
|
||||
.toArray(Block[]::new);
|
||||
}
|
||||
|
||||
public static Block[] getSigns() {
|
||||
return BaseRegistry.getRegisteredBlocks()
|
||||
.values()
|
||||
return Registry.BLOCK
|
||||
.stream()
|
||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseSignBlock)
|
||||
.map(item -> ((BlockItem) item).getBlock())
|
||||
.filter(block -> block instanceof BaseSignBlock)
|
||||
.toArray(Block[]::new);
|
||||
}
|
||||
|
||||
public static Block[] getFurnaces() {
|
||||
return BaseRegistry.getRegisteredBlocks()
|
||||
.values()
|
||||
return Registry.BLOCK
|
||||
.stream()
|
||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseFurnaceBlock)
|
||||
.map(item -> ((BlockItem) item).getBlock())
|
||||
.filter(block -> block instanceof BaseFurnaceBlock)
|
||||
.toArray(Block[]::new);
|
||||
}
|
||||
|
||||
public static boolean registerSpecialBlock(Block block) {
|
||||
if (block instanceof BaseChestBlock) {
|
||||
BaseBlockEntities.CHEST.registerBlock(block);
|
||||
return true;
|
||||
}
|
||||
if (block instanceof BaseSignBlock) {
|
||||
BaseBlockEntities.SIGN.registerBlock(block);
|
||||
return true;
|
||||
}
|
||||
if (block instanceof BaseBarrelBlock) {
|
||||
BaseBlockEntities.BARREL.registerBlock(block);
|
||||
return true;
|
||||
}
|
||||
if (block instanceof BaseFurnaceBlock) {
|
||||
BaseBlockEntities.FURNACE.registerBlock(block);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue