package techreborn.compat.nei.recipes; import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntityFurnace; import org.lwjgl.opengl.GL11; import reborncore.common.util.ItemUtils; import techreborn.api.recipe.IBaseRecipeType; import techreborn.client.gui.GuiAlloyFurnace; import techreborn.lib.Reference; import java.awt.*; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * Created by MrBretzel on 01/11/2015. */ public class IronAlloySmelterRecipeHandler extends GenericRecipeHander implements INeiBaseRecipe { @Override public void addPositionedStacks(List input, List outputs, IBaseRecipeType recipeType) { int offset = 4; PositionedStack pStack = new PositionedStack(ItemUtils.getStackWithAllOre(recipeType.getInputs().get(0)), 46 - offset, 9 - offset, false); input.add(pStack); PositionedStack pStack2 = new PositionedStack(ItemUtils.getStackWithAllOre(recipeType.getInputs().get(1)), 64 - offset, 9 - offset, false); input.add(pStack2); Iterator i = ItemList.items.iterator(); List fuels = new ArrayList(); while(i.hasNext()) { ItemStack item = (ItemStack) i.next(); if(!fuels.contains(new ItemStack(item.getItem()))) { int burnTime = TileEntityFurnace.getItemBurnTime(item); if(burnTime > 0) { fuels.add(new ItemStack(item.getItem())); } } } PositionedStack pStack3 = new PositionedStack(fuels, 51, 42, false); input.add(pStack3); PositionedStack pStack4 = new PositionedStack(recipeType.getOutput(0), 115 - offset, 28 - offset, false); outputs.add(pStack4); } @Override public String getRecipeName() { return Reference.alloySmelteRecipe; } @Override public String getGuiTexture() { return "techreborn:textures/gui/alloy_furnace.png"; } @Override public Class getGuiClass() { return GuiAlloyFurnace.class; } @Override public INeiBaseRecipe getNeiBaseRecipe() { return this; } @Override public void loadTransferRects() { this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect( new Rectangle(75, 20, 25, 20), Reference.alloySmelteRecipe, new Object[0])); } @Override public void drawBackground(int recipeIndex) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GuiDraw.changeTexture(getGuiTexture()); GuiDraw.drawTexturedModalRect(0, 0, 5, 11, 166, 65); } }