package buildcraftAdditions.compat.metals;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.event.FMLLoadCompleteEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import buildcraftAdditions.api.item.BCAItemManager;
import buildcraftAdditions.api.item.dust.IDust;
import buildcraftAdditions.api.recipe.BCARecipeManager;
import buildcraftAdditions.compat.CompatModule;
import buildcraftAdditions.items.dust.DustTypes;
/**
* Copyright (c) 2014-2015, AEnterprise
* http://buildcraftadditions.wordpress.com/
* Buildcraft Additions is distributed under the terms of GNU GPL v3.0
* Please check the contents of the license located in
* http://buildcraftadditions.wordpress.com/wiki/licensing-stuff/
*/
@CompatModule(id = "Metals")
public class CompatMetals {
@CompatModule.Handler
public void doneLoading(FMLLoadCompleteEvent event) {
int meta = 4;
BCAItemManager.dusts.addDust(meta++, "Bronze", 0xAD6726, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Manganese", 0xF3D2D2, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Hepatizon", 0x6B566B, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "DamascusSteel", 0x3D2C1F, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Angmallen", 0xFAFA6C, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Steel", 0x919191, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Eximite", 0x9E83B4, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Meutoite", 0x5F5269, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Desichalkos", 0x742EA8, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Prometheum", 0x5A8156, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "DeepIron", 0x495B69, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Infuscolium", 0xCB6293, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "BlackSteel", 0x395679, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Oureclase", 0xDCA82E, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "AstralSilver", 0xC8D4D5, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Carmot", 0xA99733, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Mithril", 0x08B5C3, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Rubracium", 0x8E2727, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Quicksilver", 0x7CD3C7, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Haderoth", 0xD1531E, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Orichalcum", 0x547A38, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Celenegil", 0x94CC48, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Adamantine", 0xF04040, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Atlarus", 0xF4D603, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Tartarite", 0xFF763C, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Ignatius", 0xE87400, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "ShadowIron", 0x8D7565, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Lemurite", 0xEFEFEF, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Midasium", 0xFFA826, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Vyroxeres", 0x55E001, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Ceruclase", 0x458FAB, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Alduorite", 0xA3DEDE, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Kalendrite", 0xAA5BBD, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Vulcanite", 0xFF8448, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Sanguinite", 0xB90000, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "ShadowSteel", 0x887362, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Inolashite", 0x40AA7D, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Amordrine", 0xA98DB1, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Zinc", 0xDCDFA4, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Brass", 0xD89634, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Electrum", 0xDFD0AA, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Aluminum", 0xEDEDED, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Ardite", 0xF28900, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Manyullyn", 0xAB7EE3, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Cobalt", 0x0064FF, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Copper", 0xBF5E1F, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Lead", 0x808096, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Nickel", 0xBAB0A4, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Platinum", 0xABCDEF, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Silver", 0xB3B3B3, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta, "Tin", 0xF2F2F2, DustTypes.METAL_DUST);
meta = 61;
BCAItemManager.dusts.addDust(meta++, "Apatite", 0x1A89C1, DustTypes.GEM_DUST);
BCAItemManager.dusts.addDust(meta++, "Osmium", 0x92A6B8, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Sulfur", 0xFFDB50, new DustTypes.SimpleDustWithOre(6));
BCAItemManager.dusts.addDust(meta++, "Saltpeter", 0xDEDEDE, new DustTypes.SimpleDustWithOre(4));
BCAItemManager.dusts.addDust(meta++, "CertusQuartz", 0xBAC5F2, new DustTypes.SimpleDustWithOre(2));
BCAItemManager.dusts.addDust(meta++, "AluminumBrass", 0xF0D467, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Alumite", 0xF4CCEC, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "PigIron", 0xF0A8A4, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Invar", 0x959E99, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Signalum", 0xFF5B00, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Lumium", 0xE7D648, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "EnderiumBase", 0x4B7A9A, DustTypes.ENDERIUM_BASE_DUST);
BCAItemManager.dusts.addDust(meta++, "Enderium", 0x0F7575, DustTypes.ENDERIUM_DUST);
BCAItemManager.dusts.addDust(meta++, "ElectricalSteel", 0x949494, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "EnergeticAlloy", 0xE47700, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "PhasedGold", 0xB2D44D, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "RedstoneAlloy", 0x942323, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "ConductiveIron", 0x945758, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "PhasedIron", 0x2E6C3D, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "DarkSteel", 0x4B4B4B, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Soularium", 0x654D31, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta, "FzDarkIron", 0x6700BE, DustTypes.METAL_DUST);
meta = 84;
BCAItemManager.dusts.addDust(meta++, "Yellorium", 0xD7EF00, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Graphite", 0x515151, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Cyanite", 0x0087EF, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Blutonium", 0x1B00E6, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Ludicrite", 0xEF00EF, DustTypes.METAL_DUST);
BCAItemManager.dusts.addDust(meta++, "Pyrotheum", 0xF8B33D, DustTypes.ONLY_ORE_DICTIONARY_REGISTRATION);
BCAItemManager.dusts.addDust(meta++, "Cryotheum", 0x49EFFF, DustTypes.ONLY_ORE_DICTIONARY_REGISTRATION);
BCAItemManager.dusts.addDust(meta, "Blizz", 0x8BEDFC, DustTypes.ONLY_ORE_DICTIONARY_REGISTRATION);
addOreDictDusterRecipe("oreApatite", "gemApatite", 6);
addOreDictDusterRecipe("rodBlizz", "dustBlizz", 4);
addDustRecipe("Bronze", 4, "dustCopper", "dustCopper", "dustCopper", "dustTin");
addDustRecipe("AluminumBrass", 4, "dustAluminum", "dustAluminum", "dustAluminum", "dustCopper");
addDustRecipe("Manyullyn", 1, "dustArdite", "dustCobalt");
addDustRecipe("Alumite", 4, "dustAluminum", "dustAluminum", "dustAluminum", "dustAluminum", "dustAluminum", "dustIron", "dustIron", "dustObsidian", "dustObsidian");
addDustRecipe("Invar", 3, "dustIron", "dustIron", "dustNickel");
addDustRecipe("Signalum", 4, "dustCopper", "dustCopper", "dustCopper", "dustSilver", "blockRedstone", "dustRedstone");
addDustRecipe("Lumium", 4, "dustTin", "dustTin", "dustTin", "dustSilver", "dustGlowstone", "dustGlowstone", "dustGlowstone", "dustGlowstone");
addDustRecipe("EnderiumBase", 4, "dustTin", "dustTin", "dustSilver", "dustPlatinum");
addDustRecipe("Enderium", 4, "dustEnderiumBase", "dustEnderiumBase", "dustPyrotheum", "dustEnderPearl", "dustEnderPearl");
addDustRecipe("ElectricalSteel", 1, "dustIron", "dustCoal", "itemSilicon");
addDustRecipe("EnergeticAlloy", 1, "dustRedstone", "dustGold", "dustGlowstone");
addDustRecipe("PhasedGold", 1, "dustEnergeticAlloy", "dustEnderPearl");
addDustRecipe("RedstoneAlloy", 1, "dustRedstone", "itemSilicon");
addDustRecipe("ConductiveIron", 1, "dustRedstone", "dustIron");
addDustRecipe("PhasedIron", 1, "dustIron", "dustEnderPearl");
addDustRecipe("DarkSteel", 1, "dustIron", "dustCoal", "dustObsidian");
addDustRecipe("Soularium", 1, "blockSoulSand", "dustGold");
addDustRecipe("Cyanite", 1, "blockSand", "dustYellorium");
addDustRecipe("Pyrotheum", 2, "dustCoal", "dustSulfur", "dustRedstone", "dustBlaze");
addDustRecipe("Cryotheum", 2, "materialSnowball", "dustSaltpeter", "dustRedstone", "dustBlizz");
addDustRecipe("Blizz", 1, "materialSnowball", "dustRedstone", "dustRedstone");
addDustSmelting("Graphite", 1, "dustCoal");
addDustSmelting("Graphite", 1, "dustCharcoal");
}
private void addOreDictDusterRecipe(String input, String output, int outputCount) {
for (ItemStack stack : OreDictionary.getOres(output)) {
if (stack != null && stack.getItem() != null) {
ItemStack out = stack.copy();
out.stackSize = outputCount;
BCARecipeManager.duster.addRecipe(input, out);
return;
}
}
}
private void addDustRecipe(String output, int outputCount, Object... inputs) {
IDust dust = BCAItemManager.dusts.getDust(output);
if (dust != null) {
ItemStack dustStack = ItemStack.copyItemStack(dust.getDustStack());
if (dustStack != null && dustStack.getItem() != null) {
dustStack.stackSize = outputCount;
GameRegistry.addRecipe(new ShapelessOreRecipe(dustStack, inputs));
}
}
}
private void addDustSmelting(String output, int outputCount, String input) {
IDust dust = BCAItemManager.dusts.getDust(output);
if (dust != null) {
ItemStack dustStack = ItemStack.copyItemStack(dust.getDustStack());
if (dustStack != null && dustStack.getItem() != null) {
dustStack.stackSize = outputCount;
for (ItemStack stack : OreDictionary.getOres(input))
if (stack != null && stack.getItem() != null)
GameRegistry.addSmelting(stack, dustStack, 0);
}
}
}
}