/
MechRecipes.java
83 lines (67 loc) · 2.48 KB
/
MechRecipes.java
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
package slimeknights.tmechworks.common;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
public class MechRecipes
{
protected static void register ()
{
registerMetalRecipes("Aluminum", MechworksContent.ingotAluminum, MechworksContent.nuggetAluminum, MechworksContent.blockAluminum);
registerMetalRecipes("Copper", MechworksContent.ingotCopper, MechworksContent.nuggetCopper, MechworksContent.blockCopper);
}
private static void registerMetalRecipes (String oreString, ItemStack ingot, ItemStack nugget, ItemStack block)
{
if (ingot == null)
return;
oredict(ingot, "ingot" + oreString);
if (nugget != null)
{
oredict(nugget, "nugget" + oreString);
registerCompressionRecipe(nugget, ingot, "nugget" + oreString, "ingot" + oreString);
}
if (block != null)
{
oredict(block, "block" + oreString);
registerCompressionRecipe(ingot, block, "ingot" + oreString, "block" + oreString);
}
}
private static void registerCompressionRecipe (ItemStack small, ItemStack big, String oreSmall, String oreBig)
{
// Small -> Big
GameRegistry.addRecipe(new ShapedOreRecipe(big, "###", "###", "###", '#', oreSmall));
small = small.copy();
small.stackSize = 9;
// Big -> Small
GameRegistry.addRecipe(new ShapelessOreRecipe(small, oreBig));
}
public static void oredict (Item item, String... name)
{
oredict(item, OreDictionary.WILDCARD_VALUE, name);
}
public static void oredict (Block block, String... name)
{
oredict(block, OreDictionary.WILDCARD_VALUE, name);
}
public static void oredict (Item item, int meta, String... name)
{
oredict(new ItemStack(item, 1, meta), name);
}
public static void oredict (Block block, int meta, String... name)
{
oredict(new ItemStack(block, 1, meta), name);
}
public static void oredict (ItemStack stack, String... names)
{
if (stack != null && stack.getItem() != null)
{
for (String name : names)
{
OreDictionary.registerOre(name, stack);
}
}
}
}