aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/preload/GT_Loader_MultiTileEntities.java
blob: 9aedde81c4e25b4dba3114d57ce866db452ca6b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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();
    }
}