package tonius.neiintegration.mods.harvestcraft; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import tonius.neiintegration.PositionedStackAdv; import tonius.neiintegration.RecipeHandlerBase; import tonius.neiintegration.Utils; import codechicken.lib.gui.GuiDraw; import codechicken.nei.PositionedStack; import com.pam.harvestcraft.GuiPamApiary; import com.pam.harvestcraft.ItemRegistry; public class RecipeHandlerApiary extends RecipeHandlerBase { private static final Map<Item, Float> BEE_PRODUCTS = new LinkedHashMap<Item, Float>(); static { BEE_PRODUCTS.put(ItemRegistry.waxcombItem, 0.5F); BEE_PRODUCTS.put(ItemRegistry.honeycombItem, 0.45F); BEE_PRODUCTS.put(ItemRegistry.grubItem, 0.05F); } public class CachedApiaryRecipe extends CachedBaseRecipe { private PositionedStack input; private List<PositionedStack> outputs = new ArrayList<PositionedStack>(); public CachedApiaryRecipe() { this.input = new PositionedStack(new ItemStack(ItemRegistry.queenbeeItem), 21, 24); int i = 0; for (Entry<Item, Float> e : BEE_PRODUCTS.entrySet()) { this.outputs.add(new PositionedStackAdv(new ItemStack(e.getKey()), 57 + 18 * i, 6).setChance(e.getValue())); i++; } } @Override public PositionedStack getIngredient() { return this.input; } @Override public List<PositionedStack> getOtherStacks() { return this.outputs; } @Override public PositionedStack getResult() { return null; } } @Override public String getRecipeID() { return "harvestcraft.apiary"; } @Override public String getRecipeName() { return Utils.translate("tile.apiary.name", false); } @Override public String getGuiTexture() { return "harvestcraft:textures/gui/apiary.png"; } @Override public void loadTransferRects() { this.addTransferRect(3, 44, 49, 11); } @Override public Class<? extends GuiContainer> getGuiClass() { return GuiPamApiary.class; } @Override public void drawBackground(int recipe) { this.changeToGuiTexture(); GuiDraw.drawTexturedModalRect(-2, -3, 3, 8, 170, 66); } @Override public int recipiesPerPage() { return 1; } @Override public void loadAllRecipes() { this.arecipes.add(new CachedApiaryRecipe()); } @Override public void loadCraftingRecipes(ItemStack result) { if (BEE_PRODUCTS.containsKey(result.getItem())) { this.arecipes.add(new CachedApiaryRecipe()); } } @Override public void loadUsageRecipes(ItemStack ingred) { if (ingred.getItem() == ItemRegistry.queenbeeItem) { this.arecipes.add(new CachedApiaryRecipe()); } } }