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

import java.util.Arrays;

import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;

import util.Util;

import common.items.MetaItem_CraftingComponent;
import common.items.MetaItem_ReactorComponent;

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;
    }
}