diff --git a/src/main/java/techreborn/client/hud/ChargeHud.java b/src/main/java/techreborn/client/hud/ChargeHud.java index 6c2a68590..d38f71d51 100644 --- a/src/main/java/techreborn/client/hud/ChargeHud.java +++ b/src/main/java/techreborn/client/hud/ChargeHud.java @@ -43,57 +43,56 @@ public class ChargeHud { public void drawChargeHud(ScaledResolution res) { EntityPlayer player = mc.thePlayer; - ItemStack stack = player.getCurrentArmor(2); - ItemStack stack2 = mc.thePlayer.inventory.getCurrentItem(); - if (showHud) { - if (stack2 != null) { - if ((stack2.getItem() instanceof IEnergyInterfaceItem)) { - double MaxCharge = ((IEnergyInterfaceItem) stack2.getItem()).getMaxPower(stack2); - double CurrentCharge = ((IEnergyInterfaceItem) stack2.getItem()).getEnergy(stack2); - Color color = Color.GREEN; - double quarter = MaxCharge / 4; - double half = MaxCharge / 2; - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(32826); - RenderHelper.enableStandardItemLighting(); - RenderHelper.enableGUIStandardItemLighting(); - RenderItem.getInstance().renderItemAndEffectIntoGUI(mc.fontRenderer, mc.renderEngine, stack2, 0, 20); - RenderItem.getInstance().renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, stack2, 0, 20); - if (CurrentCharge <= half) { - color = Color.YELLOW; - } - if (CurrentCharge <= quarter) { - color = Color.DARK_RED; - } - mc.fontRenderer.drawString(color + GetEUString(CurrentCharge) + "/" + GetEUString(MaxCharge), 20, 25, 0); + ItemStack armorstack = player.getCurrentArmor(2); + ItemStack stack = mc.thePlayer.inventory.getCurrentItem(); - } + int y = 5; + + if (armorstack != null && ConfigTechReborn.ShowChargeHud && armorstack.getItem() instanceof IEnergyInterfaceItem) { + double MaxCharge = ((IEnergyInterfaceItem) armorstack.getItem()).getMaxPower(armorstack); + double CurrentCharge = ((IEnergyInterfaceItem) armorstack.getItem()).getEnergy(armorstack); + Color color = Color.GREEN; + double quarter = MaxCharge / 4; + double half = MaxCharge / 2; + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glEnable(32826); + RenderHelper.enableStandardItemLighting(); + RenderHelper.enableGUIStandardItemLighting(); + //Render the stack + RenderItem.getInstance().renderItemAndEffectIntoGUI(mc.fontRenderer, mc.renderEngine, armorstack, 0, y - 5); + //Render Overlay + RenderItem.getInstance().renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, armorstack, 0, y - 5); + //Get the color depending on current charge + if (CurrentCharge <= half) { + color = Color.YELLOW; } + if (CurrentCharge <= quarter) { + color = Color.DARK_RED; + } + mc.fontRenderer.drawString(color + GetEUString(CurrentCharge) + "/" + GetEUString(MaxCharge), 20, y, 0); + y += 20; + } - if (stack != null) { - if ((stack.getItem() instanceof IEnergyInterfaceItem) && ConfigTechReborn.ShowChargeHud) { - double MaxCharge = ((IEnergyInterfaceItem) stack.getItem()).getMaxPower(stack); - double CurrentCharge = ((IEnergyInterfaceItem) stack2.getItem()).getEnergy(stack2); - Color color = Color.GREEN; - double quarter = MaxCharge / 4; - double half = MaxCharge / 2; - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(32826); - RenderHelper.enableStandardItemLighting(); - RenderHelper.enableGUIStandardItemLighting(); - //Render the stack - RenderItem.getInstance().renderItemAndEffectIntoGUI(mc.fontRenderer, mc.renderEngine, stack, 0, 0); - //Render Overlay - RenderItem.getInstance().renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, stack, 0, 0); - //Get the color depending on current charge - if (CurrentCharge <= half) { - color = Color.YELLOW; - } - if (CurrentCharge <= quarter) { - color = Color.DARK_RED; - } - mc.fontRenderer.drawString(color + GetEUString(CurrentCharge) + "/" + GetEUString(MaxCharge), 20, 5, 0); + if (showHud) { + if (stack != null && stack.getItem() instanceof IEnergyInterfaceItem) { + double MaxCharge = ((IEnergyInterfaceItem) stack.getItem()).getMaxPower(stack); + double CurrentCharge = ((IEnergyInterfaceItem) stack.getItem()).getEnergy(stack); + Color color = Color.GREEN; + double quarter = MaxCharge / 4; + double half = MaxCharge / 2; + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glEnable(32826); + RenderHelper.enableStandardItemLighting(); + RenderHelper.enableGUIStandardItemLighting(); + RenderItem.getInstance().renderItemAndEffectIntoGUI(mc.fontRenderer, mc.renderEngine, stack, 0, y - 5); + RenderItem.getInstance().renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, stack, 0, y - 5); + if (CurrentCharge <= half) { + color = Color.YELLOW; } + if (CurrentCharge <= quarter) { + color = Color.DARK_RED; + } + mc.fontRenderer.drawString(color + GetEUString(CurrentCharge) + "/" + GetEUString(MaxCharge), 20, y, 0); } } GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); diff --git a/src/main/java/techreborn/compat/nei/NEIConfig.java b/src/main/java/techreborn/compat/nei/NEIConfig.java index 227f49e84..193db8dfb 100644 --- a/src/main/java/techreborn/compat/nei/NEIConfig.java +++ b/src/main/java/techreborn/compat/nei/NEIConfig.java @@ -31,6 +31,10 @@ public class NEIConfig implements IConfigureNEI { API.registerUsageHandler(alloy); API.registerRecipeHandler(alloy); + IronAlloySmelterRecipeHandler ironAlloy = new IronAlloySmelterRecipeHandler(); + API.registerUsageHandler(ironAlloy); + API.registerRecipeHandler(ironAlloy); + IndustrialSawmillRecipeHandler sawmill = new IndustrialSawmillRecipeHandler(); API.registerUsageHandler(sawmill); API.registerRecipeHandler(sawmill); diff --git a/src/main/java/techreborn/compat/nei/recipes/AlloySmelterRecipeHandler.java b/src/main/java/techreborn/compat/nei/recipes/AlloySmelterRecipeHandler.java index 8bd9ea541..0ca1c8808 100644 --- a/src/main/java/techreborn/compat/nei/recipes/AlloySmelterRecipeHandler.java +++ b/src/main/java/techreborn/compat/nei/recipes/AlloySmelterRecipeHandler.java @@ -12,6 +12,7 @@ import java.awt.*; import java.util.List; public class AlloySmelterRecipeHandler extends GenericRecipeHander implements INeiBaseRecipe { + @Override public void addPositionedStacks(List input, List outputs, IBaseRecipeType recipeType) { int offset = 4; diff --git a/src/main/java/techreborn/compat/nei/recipes/GenericRecipeHander.java b/src/main/java/techreborn/compat/nei/recipes/GenericRecipeHander.java index 1be2d31c0..0a03b46b3 100644 --- a/src/main/java/techreborn/compat/nei/recipes/GenericRecipeHander.java +++ b/src/main/java/techreborn/compat/nei/recipes/GenericRecipeHander.java @@ -85,7 +85,7 @@ public abstract class GenericRecipeHander extends TemplateRecipeHandler { DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols(); symbols.setGroupingSeparator('.'); formatter.setDecimalFormatSymbols(symbols); - GuiDraw.drawString("EU needed:" + formatter.format(new Integer(genericRecipe.recipie.euPerTick() * genericRecipe.recipie.tickTime()).longValue()), 16, 105, -1); + GuiDraw.drawString("EU needed: " + formatter.format(new Integer(genericRecipe.recipie.euPerTick() * genericRecipe.recipie.tickTime()).longValue()), 16, 105, -1); GuiDraw.drawString("Ticks to process: " + genericRecipe.recipie.tickTime(), 14, 115, -1); GuiDraw.drawString("Time to process: " + genericRecipe.recipie.tickTime() / 20 + " seconds", 14, 125, -1); } diff --git a/src/main/java/techreborn/compat/nei/recipes/IronAlloySmelterRecipeHandler.java b/src/main/java/techreborn/compat/nei/recipes/IronAlloySmelterRecipeHandler.java new file mode 100644 index 000000000..f1550e98e --- /dev/null +++ b/src/main/java/techreborn/compat/nei/recipes/IronAlloySmelterRecipeHandler.java @@ -0,0 +1,87 @@ +package techreborn.compat.nei.recipes; + +import codechicken.lib.gui.GuiDraw; +import codechicken.nei.ItemList; +import codechicken.nei.PositionedStack; +import codechicken.nei.recipe.FurnaceRecipeHandler; +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 techreborn.api.recipe.IBaseRecipeType; +import techreborn.client.gui.GuiAlloyFurnace; +import techreborn.lib.Reference; +import techreborn.util.ItemUtils; + +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.ironalloySmelteRecipe; + } + + @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); + } +} diff --git a/src/main/java/techreborn/lib/Reference.java b/src/main/java/techreborn/lib/Reference.java index 896ffbb59..d0eb62857 100644 --- a/src/main/java/techreborn/lib/Reference.java +++ b/src/main/java/techreborn/lib/Reference.java @@ -4,6 +4,7 @@ import net.minecraft.util.StatCollector; public class Reference { public static String alloySmelteRecipe = StatCollector.translateToLocal("techreborn.recipe.alloysmelter"); + public static String ironalloySmelteRecipe = StatCollector.translateToLocal("techreborn.recipe.ironalloysmelter"); public static String assemblingMachineRecipe = StatCollector.translateToLocal("techreborn.recipe.assemblingmachine"); public static String blastFurnaceRecipe = StatCollector.translateToLocal("techreborn.recipe.blastfurnace"); public static String centrifugeRecipe = StatCollector.translateToLocal("techreborn.recipe.centrifuge"); diff --git a/src/main/resources/assets/techreborn/lang/en_US.lang b/src/main/resources/assets/techreborn/lang/en_US.lang index b2052a93e..866107f96 100644 --- a/src/main/resources/assets/techreborn/lang/en_US.lang +++ b/src/main/resources/assets/techreborn/lang/en_US.lang @@ -766,6 +766,7 @@ config.techreborn.category.emc=EMC Configs #Recipe Handlers techreborn.recipe.alloysmelter=Alloy Furnace Recipe +techreborn.recipe.ironalloysmelter=Iron Alloy Furnace Recipe techreborn.recipe.assemblingmachine=Assembling Machine Recipe techreborn.recipe.blastfurnace=Blast Furnace Recipe techreborn.recipe.centrifuge=Centrifuge Recipe