/
InspirationsOredict.java
108 lines (90 loc) · 2.84 KB
/
InspirationsOredict.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
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
package knightminer.inspirations.shared;
import javax.annotation.Nonnull;
import com.google.common.eventbus.Subscribe;
import knightminer.inspirations.building.InspirationsBuilding;
import knightminer.inspirations.recipes.InspirationsRecipes;
import knightminer.inspirations.utility.InspirationsUtility;
import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.oredict.OreDictionary;
import slimeknights.mantle.pulsar.pulse.Pulse;
@Pulse(id = InspirationsShared.pulseID, description = "Blocks and items used by all modules", forced = true)
public class InspirationsOredict {
private static final String[] DYES = { // makes oredict to int a bit easier in a couple other places
"White",
"Orange",
"Magenta",
"LightBlue",
"Yellow",
"Lime",
"Pink",
"Gray",
"LightGray",
"Cyan",
"Purple",
"Blue",
"Brown",
"Green",
"Red",
"Black"
};
@Subscribe
public void doTheOredict(FMLInitializationEvent event) {
ensureVanilla();
registerBuilding();
registerRecipes();
registerShared();
registerUtility();
}
private void ensureVanilla() {
oredict(Items.BOOK, "book");
}
private void registerShared() {
oredict(InspirationsShared.witherBone, "boneWithered");
oredict(InspirationsShared.stoneRod, "rodStone");
}
private static void registerBuilding() {
oredict(InspirationsBuilding.books, "book");
}
private static void registerRecipes() {
for(EnumDyeColor color : EnumDyeColor.values()) {
oredict(InspirationsRecipes.dyedWaterBottle, color.getDyeDamage(), dyeNameFor(color));
}
oredict(InspirationsShared.splashBottle, "bottleSplash");
oredict(InspirationsShared.lingeringBottle, "bottleLingering");
}
private static void registerUtility() {
if(InspirationsUtility.carpetedTrapdoors != null) {
for(Block block : InspirationsUtility.carpetedTrapdoors) {
oredict(block, "trapdoorCarpeted");
}
}
}
/* Helper functions */
public static String dyeNameFor(@Nonnull EnumDyeColor color) {
return "dye" + DYES[color.getMetadata()];
}
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.isEmpty()) {
for(String name : names) {
OreDictionary.registerOre(name, stack);
}
}
}
}