blob: 7085ec93299f447e6e8afc2990393b17f6c21d4f (
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
119
120
121
122
123
124
125
126
127
128
129
|
package gtPlusPlus.core.material;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.item.UtilsItems;
import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.item.ItemStack;
public class Material {
final String unlocalizedName;
final String localizedName;
private MaterialStack[] materialInput = new MaterialStack[4];
final short[] RGBA;
final boolean usesBlastFurnace;
final int meltingPointK;
final int boilingPointK;
final int meltingPointC;
final int boilingPointC;
final long vProtons;
final long vNeutrons;
final long vMass;
public Material(String materialName, short[] rgba, int meltingPoint, int boilingPoint, long protons, long neutrons, boolean blastFurnace, MaterialStack[] inputs){
this.unlocalizedName = Utils.sanitizeString(materialName);
this.localizedName = materialName;
this.RGBA = rgba;
this.meltingPointC = meltingPoint;
if (boilingPoint == 0){
boilingPoint = meltingPoint*4;
}
this.boilingPointC = boilingPoint;
this.meltingPointK = (int) MathUtils.celsiusToKelvin(meltingPointC);
this.boilingPointK = (int) MathUtils.celsiusToKelvin(boilingPointC);
this.vProtons = protons;
this.vNeutrons = neutrons;
this.vMass = getMass();
this.usesBlastFurnace = blastFurnace;
if (inputs == null){
this.materialInput = null;
}
else {
if (inputs.length != 0){
for (int i=0; i < inputs.length; i++){
if (inputs[i] != null){
this.materialInput[i] = inputs[i];
}
}
}
}
}
public String getLocalizedName(){
return localizedName;
}
public String getUnlocalizedName(){
return unlocalizedName;
}
public short[] getRGBA(){
return RGBA;
}
public long getProtons() {
return vProtons;
}
public long getNeutrons() {
return vNeutrons;
}
public long getMass() {
return vProtons + vNeutrons;
}
public int getMeltingPoint_C() {
return meltingPointC;
}
public int getBoilingPoint_C() {
return boilingPointC;
}
public boolean requiresBlastFurnace(){
return usesBlastFurnace;
}
public ItemStack getDust(){
return UtilsItems.getItemStackOfAmountFromOreDictNoBroken("dust"+unlocalizedName, 1);
}
public ItemStack[] getValidInputStacks(){
return UtilsItems.validItemsForOreDict(unlocalizedName);
}
public ItemStack[] getMaterialComposites(){
if (materialInput != null && materialInput.length >= 1){
ItemStack[] temp = new ItemStack[materialInput.length];
for (int i=0;i<materialInput.length;i++){
Utils.LOG_INFO("i:"+i);
ItemStack testNull = materialInput[i].getDustStack();
if (testNull != null){
Utils.LOG_INFO("not null");
temp[i] = materialInput[i].getDustStack();
}
}
return temp;
}
return new ItemStack[]{};
}
public int[] getMaterialCompositeStackSizes(){
if (materialInput != null && materialInput.length >= 1){
int[] temp = new int[materialInput.length];
for (int i=0;i<materialInput.length;i++){
temp[i] = materialInput[i].getDustStack().stackSize;
}
return temp;
}
return new int[]{};
}
}
|