aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kekztech/Items.java
blob: 2444eb2fe9e97e52fd5e180898bd70f8ba36a598 (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
package kekztech;

import common.items.MetaItem_CraftingComponent;
import common.items.MetaItem_ReactorComponent;
import java.util.Arrays;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import util.Util;

public enum Items {
    /*
    // Heat Vents
    T1HeatVent(0,0), T2HeatVent(1,0), T3HeatVent(2,0), T4HeatVent(3,0),
    T1ComponentHeatVent(4,0), T2ComponentHeatVent(5,0), T3ComponentHeatVent(6,0), T4ComponentHeatVent(7,0),
    T1OverclockedHeatVent(8,0), T2OverclockedHeatVent(9,0), T3OverclockedHeatVent(10,0), T4OverclockedHeatVent(11,0),
    // Heat Exchanger
    T1HeatExchanger(12,0), T2HeatExchanger(13,0), T3HeatExchanger(14,0), T4HeatExchanger(15,0),
    // Fuel Rods
    UraniumFuelRod(16,0), UraniumDualFuelRod(17,0), UraniumQuadFuelRod(18,0),
    ThoriumFuelRod(19,0), ThoriumDualFuelRod(20,0), ThoriumQuadFuelRod(21,0),
    MOXFuelRod(22,0), MOXDualFuelRod(23,0), MOXQuadFuelRod(24,0),
    NaquadahFuelRod(25,0), NaquadahDualFuelRod(26,0), NaquadahQuadFuelRod(27,0),
    Th_MOXFuelRod(28,0), Th_MOXDualFuelRod(29,0), Th_MOXQuadFuelRod(30,0),
    // Depleted Fuel Rods
    DepletedUraniumFuelRod(31,0), DepletedUraniumDualFuelRod(32,0), DepletedUraniumQuadFuelRod(33,0),
    DepletedThoriumFuelRod(34,0), DepletedThoriumDualFuelRod(35,0), DepletedThoriumQuadFuelRod(36,0),
    DepletedMOXFuelRod(37,0), DepletedMOXDualFuelRod(38,0), DepletedMOXQuadFuelRod(39,0),
    DepletedNaquadahFuelRod(40,0), DepletedNaquadahDualFuelRod(41,0), DepletedNaquadahQuadFuelRod(42,0),
    Th_DepletedMOXFuelRod(43,0), Th_DepletedMOXDualFuelRod(44,0), Th_DepletedMOXQuadFuelRod(45,0),
    // Neutron Reflectors
    T1NeutronReflector(46,0), T2NeutronReflector(47,0),
    // Coolant Cells
    HeliumCoolantCell360k(48,0), NaKCoolantCell360k(49,0),

    // Heat Pipes
    CopperHeatPipe(0,1), SilverHeatPipe(1,1), BoronArsenideHeatPipe(2,1), DiamondHeatPipe(3,1),
    BoronArsenideDust(4,1), IsotopicallyPureDiamondDust(5,1), AmineCarbamiteDust(6,1),
    BoronArsenideCrystal(7,1), IsotopicallyPureDiamondCrystal(8,1),
    */
    // Ceramics
    YSZCeramicDust(9, 1),
    GDCCeramicDust(10, 1),
    YttriaDust(11, 1),
    ZirconiaDust(12, 1),
    CeriaDust(13, 1),
    YSZCeramicPlate(14, 1),
    GDCCeramicPlate(15, 1),
    // Error Item
    Error(0, 1),
    // Configurator
    Configurator(0, 1);

    static {
        YttriaDust.setOreDictName("dustYttriumOxide");
        ZirconiaDust.setOreDictName("dustCubicZirconia");
    }

    private final int metaID;
    private final int identifier;

    Items(int metaID, int identifier) {
        this.metaID = metaID;
        this.identifier = identifier;
    }

    public int getMetaID() {
        return metaID;
    }

    String OreDictName;

    private void registerOreDict() {
        OreDictionary.registerOre(getOreDictName(), getNonOreDictedItemStack(1));
    }

    public static void registerOreDictNames() {
        Arrays.stream(Items.values()).filter(e -> e.getOreDictName() != null).forEach(Items::registerOreDict);
    }

    public ItemStack getNonOreDictedItemStack(int amount) {
        return identifier == 0
                ? new ItemStack(MetaItem_ReactorComponent.getInstance(), amount, this.getMetaID())
                : new ItemStack(MetaItem_CraftingComponent.getInstance(), amount, this.getMetaID());
    }

    public ItemStack getOreDictedItemStack(int amount) {
        return this.getOreDictName() != null
                ? Util.getStackofAmountFromOreDict(this.getOreDictName(), amount)
                : identifier == 0
                        ? new ItemStack(MetaItem_ReactorComponent.getInstance(), amount, this.getMetaID())
                        : new ItemStack(MetaItem_CraftingComponent.getInstance(), amount, this.getMetaID());
    }

    public String getOreDictName() {
        return OreDictName;
    }

    public void setOreDictName(String oreDictName) {
        OreDictName = oreDictName;
    }
}