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
|
package gregtech.loaders.oreprocessing;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegistrator {
public ProcessingBlock() {
OrePrefixes.block.add(this);
}
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
if (aMaterial != Materials.Clay && aMaterial != Materials.Basalt) {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
GT_Values.RA.addCutterRecipe(
GT_Utility.copyAmount(1L, aStack),
aMaterial == MaterialsBotania.Livingrock || aMaterial == MaterialsBotania.Livingwood
|| aMaterial == MaterialsBotania.Dreamwood ? GT_Utility.getIntegratedCircuit(3) : null,
GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 9L),
null,
(int) Math.max(aMaterial.getMass() * 10L, 1L),
30);
}
}
ItemStack tStack1 = GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L);
ItemStack tStack2 = GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L);
ItemStack tStack3 = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L);
GT_ModHandler.removeRecipeDelayed(GT_Utility.copyAmount(1L, aStack));
if (tStack1 != null) GT_ModHandler
.removeRecipeDelayed(tStack1, tStack1, tStack1, tStack1, tStack1, tStack1, tStack1, tStack1, tStack1);
if (tStack2 != null) GT_ModHandler
.removeRecipeDelayed(tStack2, tStack2, tStack2, tStack2, tStack2, tStack2, tStack2, tStack2, tStack2);
if (tStack3 != null) {
GT_ModHandler.removeRecipeDelayed(
tStack3,
tStack3,
tStack3,
tStack3,
tStack3,
tStack3,
tStack3,
tStack3,
tStack3);
}
if (aMaterial.mStandardMoltenFluid != null) {
if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
GT_Values.RA.addFluidSolidifierRecipe(
ItemList.Shape_Mold_Block.get(0L),
aMaterial.getMolten(1296L),
GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L),
288,
8);
}
}
}
if (GregTech_API.sRecipeFile.get(
ConfigCategories.Recipes.storageblockcrafting,
OrePrefixes.block.get(aMaterial).toString(),
false)) {
if ((tStack1 == null) && (tStack2 == null) && (tStack3 != null)) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L),
new Object[] { "XXX", "XXX", "XXX", 'X', OrePrefixes.dust.get(aMaterial) });
if (tStack2 != null) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L),
new Object[] { "XXX", "XXX", "XXX", 'X', OrePrefixes.gem.get(aMaterial) });
if (tStack1 != null) {
GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L),
new Object[] { "XXX", "XXX", "XXX", 'X', OrePrefixes.ingot.get(aMaterial) });
}
}
if (tStack1 != null) tStack1.stackSize = 9;
if (tStack2 != null) tStack2.stackSize = 9;
if (tStack3 != null) tStack3.stackSize = 9;
GT_Values.RA.addForgeHammerRecipe(aStack, tStack2, 100, 24);
if (GregTech_API.sRecipeFile.get(
ConfigCategories.Recipes.storageblockdecrafting,
OrePrefixes.block.get(aMaterial).toString(),
tStack2 != null)) {
if (tStack3 != null)
GT_ModHandler.addShapelessCraftingRecipe(tStack3, new Object[] { OrePrefixes.block.get(aMaterial) });
if (tStack2 != null)
GT_ModHandler.addShapelessCraftingRecipe(tStack2, new Object[] { OrePrefixes.block.get(aMaterial) });
if (tStack1 != null)
GT_ModHandler.addShapelessCraftingRecipe(tStack1, new Object[] { OrePrefixes.block.get(aMaterial) });
}
if (!OrePrefixes.block.isIgnored(aMaterial)) {
GT_ModHandler.addCompressionRecipe(
GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 9L),
GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L),
300,
calculateRecipeEU(aMaterial, 2));
}
switch (aMaterial.mName) {
case "Mercury":
System.err.println(
"'blockQuickSilver'?, In which Ice Desert can you actually place this as a solid Block? On Pluto Greg :)");
break;
case "Iron":
case "WroughtIron":
case "Steel":
GT_Values.RA.addAssemblerRecipe(
ItemList.IC2_Compressed_Coal_Ball.get(8L),
GT_Utility.copyAmount(1L, aStack),
ItemList.IC2_Compressed_Coal_Chunk.get(1L),
400,
4);
break;
}
}
}
|