Items and Blocks registries (WIP)

This commit is contained in:
Aleksey 2021-05-27 18:01:31 +03:00
parent 41df84404b
commit a3e781b401
34 changed files with 313 additions and 1771 deletions

View file

@ -1,9 +1,6 @@
package ru.betterend.registry;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.core.Registry;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.level.block.Block;
@ -13,20 +10,10 @@ import ru.betterend.BetterEnd;
import ru.betterend.blocks.EndStoneSmelter;
import ru.betterend.blocks.EternalPedestal;
import ru.betterend.blocks.InfusionPedestal;
import ru.betterend.blocks.basis.EndBarrelBlock;
import ru.betterend.blocks.basis.EndChestBlock;
import ru.betterend.blocks.basis.EndFurnaceBlock;
import ru.betterend.blocks.basis.EndSignBlock;
import ru.betterend.blocks.basis.PedestalBlock;
import ru.betterend.blocks.entities.BlockEntityHydrothermalVent;
import ru.betterend.blocks.entities.EBarrelBlockEntity;
import ru.betterend.blocks.entities.EChestBlockEntity;
import ru.betterend.blocks.entities.EFurnaceBlockEntity;
import ru.betterend.blocks.entities.ESignBlockEntity;
import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity;
import ru.betterend.blocks.entities.EternalPedestalEntity;
import ru.betterend.blocks.entities.InfusionPedestalEntity;
import ru.betterend.blocks.entities.PedestalBlockEntity;
import ru.betterend.blocks.entities.*;
import java.util.List;
public class EndBlockEntities {
public final static BlockEntityType<EndStoneSmelterBlockEntity> END_STONE_SMELTER = registerBlockEntity(EndStoneSmelter.ID,
@ -37,61 +24,14 @@ public class EndBlockEntities {
BlockEntityType.Builder.of(EternalPedestalEntity::new, EndBlocks.ETERNAL_PEDESTAL));
public final static BlockEntityType<InfusionPedestalEntity> INFUSION_PEDESTAL = registerBlockEntity("infusion_pedestal",
BlockEntityType.Builder.of(InfusionPedestalEntity::new, EndBlocks.INFUSION_PEDESTAL));
public static final BlockEntityType<EChestBlockEntity> CHEST = registerBlockEntity("chest",
BlockEntityType.Builder.of(EChestBlockEntity::new, getChests()));
public static final BlockEntityType<EBarrelBlockEntity> BARREL = registerBlockEntity("barrel",
BlockEntityType.Builder.of(EBarrelBlockEntity::new, getBarrels()));
public static final BlockEntityType<ESignBlockEntity> SIGN = registerBlockEntity("sign",
BlockEntityType.Builder.of(ESignBlockEntity::new, getSigns()));
public final static BlockEntityType<BlockEntityHydrothermalVent> HYDROTHERMAL_VENT = registerBlockEntity("hydrother_malvent",
BlockEntityType.Builder.of(BlockEntityHydrothermalVent::new, EndBlocks.HYDROTHERMAL_VENT));
public static final BlockEntityType<EFurnaceBlockEntity> FURNACE = registerBlockEntity("furnace",
BlockEntityType.Builder.of(EFurnaceBlockEntity::new, getFurnaces()));
public static <T extends BlockEntity> BlockEntityType<T> registerBlockEntity(String id, BlockEntityType.Builder<T> builder) {
return Registry.register(Registry.BLOCK_ENTITY_TYPE, BetterEnd.makeID(id), builder.build(null));
}
public static void register() {}
static Block[] getChests() {
List<Block> result = Lists.newArrayList();
EndItems.getModBlocks().forEach((item) -> {
if (item instanceof BlockItem) {
Block block = ((BlockItem) item).getBlock();
if (block instanceof EndChestBlock) {
result.add(block);
}
}
});
return result.toArray(new Block[] {});
}
static Block[] getBarrels() {
List<Block> result = Lists.newArrayList();
EndItems.getModBlocks().forEach((item) -> {
if (item instanceof BlockItem) {
Block block = ((BlockItem) item).getBlock();
if (block instanceof EndBarrelBlock) {
result.add(block);
}
}
});
return result.toArray(new Block[] {});
}
static Block[] getSigns() {
List<Block> result = Lists.newArrayList();
EndItems.getModBlocks().forEach((item) -> {
if (item instanceof BlockItem) {
Block block = ((BlockItem) item).getBlock();
if (block instanceof EndSignBlock) {
result.add(block);
}
}
});
return result.toArray(new Block[] {});
}
static Block[] getPedestals() {
List<Block> result = Lists.newArrayList();
@ -107,17 +47,4 @@ public class EndBlockEntities {
});
return result.toArray(new Block[] {});
}
static Block[] getFurnaces() {
List<Block> result = Lists.newArrayList();
EndItems.getModBlocks().forEach((item) -> {
if (item instanceof BlockItem) {
Block block = ((BlockItem) item).getBlock();
if (block instanceof EndFurnaceBlock) {
result.add(block);
}
}
});
return result.toArray(new Block[] {});
}
}