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.client.renderer.RenderType;
|
||||||
import net.minecraft.core.Registry;
|
import net.minecraft.core.Registry;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import ru.bclib.blocks.BaseBarrelBlock;
|
||||||
import ru.bclib.blocks.BaseChestBlock;
|
import ru.bclib.blocks.BaseChestBlock;
|
||||||
|
import ru.bclib.blocks.BaseFurnaceBlock;
|
||||||
import ru.bclib.blocks.BaseSignBlock;
|
import ru.bclib.blocks.BaseSignBlock;
|
||||||
import ru.bclib.client.render.BCLRenderLayer;
|
import ru.bclib.client.render.BCLRenderLayer;
|
||||||
import ru.bclib.client.render.BaseChestBlockEntityRenderer;
|
import ru.bclib.client.render.BaseChestBlockEntityRenderer;
|
||||||
import ru.bclib.client.render.BaseSignBlockEntityRenderer;
|
import ru.bclib.client.render.BaseSignBlockEntityRenderer;
|
||||||
import ru.bclib.interfaces.PostInitable;
|
import ru.bclib.interfaces.PostInitable;
|
||||||
import ru.bclib.interfaces.RenderLayerProvider;
|
import ru.bclib.interfaces.RenderLayerProvider;
|
||||||
|
import ru.bclib.registry.BaseBlockEntities;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
@ -66,5 +69,17 @@ public class PostInitAPI {
|
||||||
if (block instanceof PostInitable) {
|
if (block instanceof PostInitable) {
|
||||||
((PostInitable) block).postInit();
|
((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;
|
import ru.bclib.blocks.BaseSignBlock;
|
||||||
|
|
||||||
public class BaseBlockEntities {
|
public class BaseBlockEntities {
|
||||||
public static final DynamicBlockEntityType<BaseChestBlockEntity> CHEST = registerBlockEntityType(BCLib.makeID(
|
public static final DynamicBlockEntityType<BaseChestBlockEntity> CHEST = registerBlockEntityType(BCLib.makeID("chest"), BaseChestBlockEntity::new);
|
||||||
"chest"), BaseChestBlockEntity::new);
|
public static final DynamicBlockEntityType<BaseBarrelBlockEntity> BARREL = registerBlockEntityType(BCLib.makeID("barrel"), BaseBarrelBlockEntity::new);
|
||||||
public static final DynamicBlockEntityType<BaseBarrelBlockEntity> BARREL = registerBlockEntityType(BCLib.makeID(
|
public static final DynamicBlockEntityType<BaseSignBlockEntity> SIGN = registerBlockEntityType(BCLib.makeID("sign"), BaseSignBlockEntity::new);
|
||||||
"barrel"), BaseBarrelBlockEntity::new);
|
public static final DynamicBlockEntityType<BaseFurnaceBlockEntity> FURNACE = registerBlockEntityType(BCLib.makeID("furnace"), BaseFurnaceBlockEntity::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) {
|
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));
|
return Registry.register(Registry.BLOCK_ENTITY_TYPE, typeId, new DynamicBlockEntityType<>(supplier));
|
||||||
|
@ -36,59 +30,30 @@ public class BaseBlockEntities {
|
||||||
public static void register() {}
|
public static void register() {}
|
||||||
|
|
||||||
public static Block[] getChests() {
|
public static Block[] getChests() {
|
||||||
return BaseRegistry.getRegisteredBlocks()
|
return Registry.BLOCK
|
||||||
.values()
|
.stream()
|
||||||
.stream()
|
.filter(block -> block instanceof BaseChestBlock)
|
||||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseChestBlock)
|
.toArray(Block[]::new);
|
||||||
.map(item -> ((BlockItem) item).getBlock())
|
|
||||||
.toArray(Block[]::new);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Block[] getBarrels() {
|
public static Block[] getBarrels() {
|
||||||
return BaseRegistry.getRegisteredBlocks()
|
return Registry.BLOCK
|
||||||
.values()
|
.stream()
|
||||||
.stream()
|
.filter(block -> block instanceof BaseBarrelBlock)
|
||||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseBarrelBlock)
|
.toArray(Block[]::new);
|
||||||
.map(item -> ((BlockItem) item).getBlock())
|
|
||||||
.toArray(Block[]::new);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Block[] getSigns() {
|
public static Block[] getSigns() {
|
||||||
return BaseRegistry.getRegisteredBlocks()
|
return Registry.BLOCK
|
||||||
.values()
|
.stream()
|
||||||
.stream()
|
.filter(block -> block instanceof BaseSignBlock)
|
||||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseSignBlock)
|
.toArray(Block[]::new);
|
||||||
.map(item -> ((BlockItem) item).getBlock())
|
|
||||||
.toArray(Block[]::new);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Block[] getFurnaces() {
|
public static Block[] getFurnaces() {
|
||||||
return BaseRegistry.getRegisteredBlocks()
|
return Registry.BLOCK
|
||||||
.values()
|
.stream()
|
||||||
.stream()
|
.filter(block -> block instanceof BaseFurnaceBlock)
|
||||||
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseFurnaceBlock)
|
.toArray(Block[]::new);
|
||||||
.map(item -> ((BlockItem) item).getBlock())
|
|
||||||
.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