icbm/src/main/java/calclavia/lib/UniversalRecipes.java

103 lines
4.0 KiB
Java

package calclavia.lib;
import cpw.mods.fml.common.FMLLog;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
public class UniversalRecipes {
public static final String PRIMARY_METAL = "ingotSteel";
public static final String PRIMARY_PLATE = "plateSteel";
public static final String SECONDARY_METAL = "ingotBronze";
public static final String SECONDARY_PLATE = "plateBronze";
public static final String CIRCUIT_T1 = "calclavia:CIRCUIT_T1";
public static final String CIRCUIT_T2 = "calclavia:CIRCUIT_T2";
public static final String CIRCUIT_T3 = "calclavia:CIRCUIT_T3";
public static String ADVANCED_BATTERY = "calclavia:ADVANCED_BATTERY";
public static String BATTERY = "calclavia:BATTERY";
public static String BATTERY_BOX = "calclavia:BATTERY_BOX";
public static final String WRENCH = "calclavia:WRENCH";
public static final String WIRE = "calclavia:WIRE";
public static final String MOTOR = "calclavia:MOTOR";
public static boolean isInit = false;
public static void init() {
if (!isInit) {
// TODO: WTF
// register("calclavia:CIRCUIT_T1", new Object[]{"circuitBasic",
// Items.getItem("electronicCircuit"), new
// ItemStack(Blocks.redstone_torch)}); register("calclavia:CIRCUIT_T2",
// new Object[]{"circuitAdvanced", Items.getItem("advancedCircuit"), new
// ItemStack(Items.repeater)}); register("calclavia:CIRCUIT_T3", new
// Object[]{"circuitElite", Items.getItem("iridiumPlate"), new
// ItemStack(Block.field_94346_cn)}); register(ADVANCED_BATTERY, new
// Object[]{"advancedBattery", Items.getItem("energyCrystal"), "battery",
// new ItemStack(Items.repeater)}); register(BATTERY, new
// Object[]{"battery", Items.getItem("reBattery"), new
// ItemStack(Items.repeater)});
// register(BATTERY_BOX, new Object[]{"batteryBox",
// Items.getItem("batBox"), new ItemStack(Block.field_72105_ah)});
// register("calclavia:WRENCH", new Object[]{"wrench",
// Items.getItem("wrench"), new ItemStack(Item.field_77708_h)});
// register("calclavia:WIRE", new Object[]{"copperWire",
// "copperCableBlock", new ItemStack(Item.field_77767_aC)});
// register("calclavia:MOTOR", new Object[]{"motor",
// Items.getItem("generator"), new ItemStack(Block.field_71963_Z)});
isInit = true;
}
}
public static void register(String name, Object... possiblities) {
Object[] arr$ = possiblities;
int len$ = possiblities.length;
for (int i$ = 0; i$ < len$; ++i$) {
Object possiblity = arr$[i$];
if (possiblity instanceof ItemStack) {
if (registerItemStacksToDictionary(
name, new ItemStack[] {(ItemStack)possiblity})) {
break;
}
} else if (possiblity instanceof String) {
if (registerItemStacksToDictionary(name, (String)possiblity)) {
break;
}
} else {
FMLLog.severe("Universal Recipes: Error Registering " + name,
new Object[0]);
}
}
}
public static boolean registerItemStacksToDictionary(String name,
List itemStacks) {
boolean returnValue = false;
if (itemStacks != null && itemStacks.size() > 0) {
Iterator i$ = itemStacks.iterator();
while (i$.hasNext()) {
ItemStack stack = (ItemStack)i$.next();
if (stack != null) {
OreDictionary.registerOre(name, stack);
returnValue = true;
}
}
}
return returnValue;
}
public static boolean
registerItemStacksToDictionary(String name, ItemStack... itemStacks) {
return registerItemStacksToDictionary(name, Arrays.asList(itemStacks));
}
public static boolean registerItemStacksToDictionary(String name,
String stackName) {
return registerItemStacksToDictionary(
name, (List)OreDictionary.getOres(stackName));
}
}