2015-11-01 23:10:32 +01:00
|
|
|
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;
|
2015-11-08 13:34:18 +01:00
|
|
|
import reborncore.common.util.ItemUtils;
|
2015-11-01 23:10:32 +01:00
|
|
|
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<PositionedStack> input, List<PositionedStack> 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<ItemStack> fuels = new ArrayList<ItemStack>();
|
|
|
|
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() {
|
2015-12-11 22:52:35 +01:00
|
|
|
return Reference.alloySmelteRecipe;
|
2015-11-01 23:10:32 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String getGuiTexture() {
|
|
|
|
return "techreborn:textures/gui/alloy_furnace.png";
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Class<? extends GuiContainer> 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);
|
|
|
|
}
|
|
|
|
}
|