package buildcraftAdditions.compat.buildcraft.recipe; import java.util.Arrays; import java.util.List; import com.google.common.base.Strings; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; import buildcraft.api.recipes.IIntegrationRecipe; import buildcraft.silicon.ItemRedstoneChipset; import buildcraftAdditions.reference.ItemLoader; /** * 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/ */ public class ToolCoreRecipe implements IIntegrationRecipe { @Override public int getEnergyCost() { return 10000; } @Override public List<ItemStack> getExampleInput() { return OreDictionary.getOres("gearGold"); } @Override public List<List<ItemStack>> getExampleExpansions() { return Arrays.asList((List<ItemStack>) OreDictionary.getOres("chipset" + ItemRedstoneChipset.Chipset.DIAMOND.name().toUpperCase().substring(0, 1) + ItemRedstoneChipset.Chipset.DIAMOND.name().toLowerCase().substring(1))); } @Override public List<ItemStack> getExampleOutput() { return Arrays.asList(new ItemStack(ItemLoader.toolCore)); } @Override public boolean isValidInput(ItemStack input) { if (input != null && input.getItem() != null && input.stackSize > 0) { int[] oreIDs = OreDictionary.getOreIDs(input); if (oreIDs != null && oreIDs.length > 0) { for (int oreID : oreIDs) { String oreName = OreDictionary.getOreName(oreID); if (!Strings.isNullOrEmpty(oreName)) { if (oreName.equals("gearGold")) return true; } } } } return false; } @Override public boolean isValidExpansion(ItemStack input, ItemStack expansion) { if (expansion != null && expansion.getItem() != null && expansion.stackSize > 0) { int[] oreIDs = OreDictionary.getOreIDs(expansion); if (oreIDs != null && oreIDs.length > 0) { for (int oreID : oreIDs) { String oreName = OreDictionary.getOreName(oreID); if (!Strings.isNullOrEmpty(oreName)) { if (oreName.equals("chipset" + ItemRedstoneChipset.Chipset.DIAMOND.name().toUpperCase().substring(0, 1) + ItemRedstoneChipset.Chipset.DIAMOND.name().toLowerCase().substring(1))) return true; } } } } return false; } @Override public ItemStack craft(ItemStack input, List<ItemStack> expansions, boolean preview) { if (!preview) expansions.get(0).stackSize--; return new ItemStack(ItemLoader.toolCore); } @Override public int getMaximumExpansionCount(ItemStack input) { return 1; } }