package gregtech.loaders.preload; import static gregtech.GT_Mod.GT_FML_LOGGER; import static gregtech.api.multitileentity.enums.GT_MultiTileCasing.*; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import gregtech.api.enums.Materials; import gregtech.api.multitileentity.MultiTileEntityBlock; import gregtech.api.multitileentity.MultiTileEntityRegistry; import gregtech.api.multitileentity.multiblock.base.WallShareablePart; import gregtech.api.multitileentity.multiblock.casing.BasicCasing; import gregtech.common.tileentities.casings.functional.MotorCasing; import gregtech.common.tileentities.casings.upgrade.InventoryUpgrade; import gregtech.common.tileentities.machines.multiblock.MultiBlock_CokeOven; import gregtech.common.tileentities.machines.multiblock.MultiBlock_Macerator; public class GT_Loader_MultiTileEntities implements Runnable { public static int CASING_REGISTRY = 0; @Override public void run() { GT_FML_LOGGER.info("GT_Mod: Registering MultiTileEntities"); // registerMachines(); // registerCasings(); } private static void registerMachines() { final MultiTileEntityBlock machine = MultiTileEntityBlock .getOrCreate("GregTech", "machine", Material.iron, Block.soundTypeMetal, "wrench", 0, 0, 15, true, true); final MultiTileEntityRegistry machineRegistry = new MultiTileEntityRegistry("gt.multitileentity.controllers"); // Disable for now machineRegistry.create(1000, MultiBlock_Macerator.class) .name("Large Macerator") .category("Multiblock Controller") .setBlock(machine) .material(Materials.Iron) .texture("metalwall") .tankCapacity(128000L) .inputInventorySize(16) .outputInventorySize(16) .register(); machineRegistry.create(0, MultiBlock_CokeOven.class) .name("Coke Oven") .category("MultiblockController") .setBlock(machine) .texture("cokeOven") .inputInventorySize(1) .outputInventorySize(1) .register(); } private static void registerCasings() { final MultiTileEntityRegistry casingRegistry = new MultiTileEntityRegistry("gt.multitileentity.casings"); final MultiTileEntityBlock casing = MultiTileEntityBlock .getOrCreate("GregTech", "casing", Material.iron, Block.soundTypeMetal, "wrench", 0, 0, 15, true, true); casingRegistry.create(CokeOven.getId(), WallShareablePart.class) .name("Coke Oven Bricks") .category("MultiBlock Casing") .setBlock(casing) .texture("cokeOven") .register(); casingRegistry.create(18000, BasicCasing.class) .name("Test Casing") .category("Multiblock Casing") .setBlock(casing) .material(Materials.Cobalt) .texture("metalwall") .register(); casingRegistry.create(20001, InventoryUpgrade.class) .name("Inventory Upgrade LV") .category("MultiBlock Special Casing") .setBlock(casing) .material(Materials.SpaceTime) .texture("metalwall") .upgradeInventorySize(16) .tier(1) .register(); casingRegistry.create(20002, InventoryUpgrade.class) .name("Inventory Upgrade MV") .category("MultiBlock Upgrade Casing") .setBlock(casing) .material(Materials.Neutronium) .texture("metalwall") .upgradeInventorySize(24) .tier(2) .register(); casingRegistry.create(10000, MotorCasing.class) .name("Motor Casing LV") .tier(1) .category("MultiBlock Functional Casing") .setBlock(casing) .material(Materials.Arsenic) .texture("metalwall") .register(); } }