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

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

import java.util.Arrays;

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