diff options
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java')
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java deleted file mode 100644 index c78e7789b8..0000000000 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/gui/GUI_MultiMachine.java +++ /dev/null @@ -1,296 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.gui; - - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.TimeUnit; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.util.GT_Utility; -import gregtech.common.items.GT_MetaGenerated_Tool_01; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.reflect.ReflectionUtils; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; - -/** - * NEVER INCLUDE THIS FILE IN YOUR MOD!!! - * <p/> - * The GUI-Container I use for all my Basic Machines - * <p/> - * As the NEI-RecipeTransferRect Handler can't handle one GUI-Class for all GUIs I needed to produce some dummy-classes which extend this class - */ -public class GUI_MultiMachine extends GT_GUIContainerMetaTile_Machine { - - private final static Materials GOOD; - private final static Materials BAD; - private final String mName; - - private final static ConcurrentHashMap<String, ItemStack> mToolStacks = new ConcurrentHashMap<String, ItemStack>(); - - //net.minecraft.client.gui.inventory.GuiContainer.drawItemStack(ItemStack, int, int, String) - private final static Method mDrawItemStack; - - static { - GOOD = Materials.Uranium; - BAD = Materials.Plutonium; - - //net.minecraft.client.gui.inventory.GuiContainer.drawItemStack(ItemStack, int, int, String) - mDrawItemStack = ReflectionUtils.getMethod(GuiContainer.class, "drawItemStack", new Class[] {ItemStack.class, int.class, int.class, String.class}); - } - - public GUI_MultiMachine(final InventoryPlayer aInventoryPlayer, final IGregTechTileEntity aTileEntity, final String aName, final String aTextureFile) { - super(new CONTAINER_MultiMachine_NoPlayerInventory(aInventoryPlayer, aTileEntity), CORE.RES_PATH_GUI + (aTextureFile == null ? "MultiblockDisplay" : aTextureFile)); - this.mName = aName != null ? aName : ""; - } - - @Override - protected void drawGuiContainerForegroundLayer(final int par1, final int par2) { - if (this.mContainer != null) { - drawGuiInfoTextLayer(par1, par2); - drawGuiRepairStatusLayer(par1, par2); - } - } - - - protected void drawGuiInfoTextLayer(final float par1, final int par2) { - - if ((((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 64) != 0) { - this.fontRendererObj.drawString(mName, 6, 7, 16448255); // Move down 8px - this.fontRendererObj.drawString("Incomplete Structure.", 6, 15, 16448255); // Move down 8px - } - else { - int aTotalTickTime = ((CONTAINER_MultiMachine) this.mContainer).aTotalTickTime; - int aMaxParallel = ((CONTAINER_MultiMachine) this.mContainer).aMaxParallel; - int aPollutionTick = ((CONTAINER_MultiMachine) this.mContainer).aPollutionTick; - int aMaxInputVoltage = ((CONTAINER_MultiMachine) this.mContainer).aMaxInputVoltage; - int aInputTier = ((CONTAINER_MultiMachine) this.mContainer).aInputTier; - int aOutputTier = ((CONTAINER_MultiMachine) this.mContainer).aOutputTier; - int aRecipeDuration = ((CONTAINER_MultiMachine) this.mContainer).aRecipeDuration; - int aRecipeEU = ((CONTAINER_MultiMachine) this.mContainer).aRecipeEU; - int aRecipeSpecial = ((CONTAINER_MultiMachine) this.mContainer).aRecipeSpecial; - int aEfficiency = ((CONTAINER_MultiMachine) this.mContainer).aEfficiency; - - int aPollutionReduction = ((CONTAINER_MultiMachine) this.mContainer).aPollutionReduction; - - - long aStoredEnergy = ((CONTAINER_MultiMachine) this.mContainer).aStoredEnergy; - long aMaxEnergy = ((CONTAINER_MultiMachine) this.mContainer).aMaxEnergy; - - /* - * Logic Block - */ - - long seconds = (aTotalTickTime/20); - int weeks = (int) (TimeUnit.SECONDS.toDays(seconds) / 7); - int days = (int) (TimeUnit.SECONDS.toDays(seconds) - 7 * weeks); - long hours = TimeUnit.SECONDS.toHours(seconds) - TimeUnit.DAYS.toHours(days) - TimeUnit.DAYS.toHours(7*weeks); - long minutes = TimeUnit.SECONDS.toMinutes(seconds) - (TimeUnit.SECONDS.toHours(seconds) * 60); - long second = TimeUnit.SECONDS.toSeconds(seconds) - (TimeUnit.SECONDS.toMinutes(seconds) *60); - - ArrayList<String> mInfo = new ArrayList<String>(); - - String EU = StatCollector.translateToLocal("GTPP.info.eu"); - - //GTPP.machines.tier - - mInfo.add(mName); - - if (aInputTier > 0) { - mInfo.add(StatCollector.translateToLocal("GTPP.machines.input")+" "+StatCollector.translateToLocal("GTPP.machines.tier")+": "+ EnumChatFormatting.GREEN +GT_Values.VOLTAGE_NAMES[aInputTier]); - } - if (aOutputTier > 0) { - mInfo.add(StatCollector.translateToLocal("GTPP.machines.output")+" "+StatCollector.translateToLocal("GTPP.machines.tier")+": "+ EnumChatFormatting.GREEN +GT_Values.VOLTAGE_NAMES[aOutputTier]); - } - - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.progress")+": "+ - EnumChatFormatting.GREEN + Integer.toString(((CONTAINER_MultiMachine) this.mContainer).mProgressTime/20) + EnumChatFormatting.RESET +" s / "+ - EnumChatFormatting.YELLOW + Integer.toString(((CONTAINER_MultiMachine) this.mContainer).mMaxProgressTime/20) + EnumChatFormatting.RESET +" s"); - - - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.energy")+": "+ - EnumChatFormatting.GREEN + Long.toString(aStoredEnergy) + EnumChatFormatting.RESET +" "+EU+" / "+ - EnumChatFormatting.YELLOW + Long.toString(aMaxEnergy) + EnumChatFormatting.RESET +" "+EU+""); - - if (aRecipeEU != 0 && aRecipeDuration > 0) { - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.usage")+": "+ - EnumChatFormatting.RED + Integer.toString(-aRecipeEU) + EnumChatFormatting.RESET + " "+EU+"/t"); - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.duration")+": "+ - EnumChatFormatting.RED + Integer.toString(aRecipeDuration) + EnumChatFormatting.RESET + " ticks"); - if (aRecipeSpecial > 0) { - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.specialvalue")+": "+ - EnumChatFormatting.RED + Integer.toString(aRecipeEU) + EnumChatFormatting.RESET + ""); - } - } - - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.mei")+": "+ - EnumChatFormatting.YELLOW+Long.toString(aMaxInputVoltage)+EnumChatFormatting.RESET+ " "+EU+"/t"+EnumChatFormatting.RESET); - - mInfo.add(StatCollector.translateToLocal(StatCollector.translateToLocal("GTPP.machines.tier")+": "+ - EnumChatFormatting.YELLOW+GT_Values.VN[GT_Utility.getTier(aMaxInputVoltage)]+ EnumChatFormatting.RESET)); - - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.efficiency")+": "+ EnumChatFormatting.YELLOW+Float.toString(aEfficiency / 100.0F)+EnumChatFormatting.RESET + " %"); - - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.pollution")+": "+ EnumChatFormatting.RED + (aPollutionTick*20)+ EnumChatFormatting.RESET+"/sec"); - mInfo.add(StatCollector.translateToLocal("GTPP.multiblock.pollutionreduced")+": "+ EnumChatFormatting.GREEN + aPollutionReduction + EnumChatFormatting.RESET+" %"); - - mInfo.add(StatCollector.translateToLocal("GTPP.CC.parallel")+": "+EnumChatFormatting.GREEN+(aMaxParallel)+EnumChatFormatting.RESET); - - mInfo.add("Total Time Since Built: "); - mInfo.add("" + EnumChatFormatting.DARK_GREEN + Integer.toString(weeks)+EnumChatFormatting.RESET+" Weeks,"); - mInfo.add("" + EnumChatFormatting.DARK_GREEN+ Integer.toString(days) +EnumChatFormatting.RESET+ " Days,"); - mInfo.add("" + EnumChatFormatting.DARK_GREEN+ Long.toString(hours) +EnumChatFormatting.RESET+ " Hours,"); - mInfo.add("" + EnumChatFormatting.DARK_GREEN+ Long.toString(minutes) +EnumChatFormatting.RESET+ " Minutes,"); - mInfo.add("" + EnumChatFormatting.DARK_GREEN+ Long.toString(second) +EnumChatFormatting.RESET+ " Seconds"); - - - - // Machine Name - //fontRendererObj.drawString(this.mName, 6, 7, 16448255); - - for (int i=0;i<mInfo.size();i++) { - fontRendererObj.drawString(mInfo.get(i), 6, 7+(i*8), 16448255); - } - - } - - - - - } - - - protected void drawGuiRepairStatusLayer(final float par1, final int par2) { - - boolean aWrench = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 1) != 0; - boolean aScrewdriver = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 2) != 0; - boolean aMallet = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 4) != 0; - boolean aHammer = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 8) != 0; - boolean aSoldering = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 16) != 0; - boolean aCrowbar = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 32) != 0; - - if (mToolStacks.isEmpty()) { - // Map Stacks of Repair items - aWrench = false; - aScrewdriver = false; - aMallet = false; - aHammer = false; - aSoldering = false; - aCrowbar = false; - mToolStacks.put(aWrench+"WRENCH", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.WRENCH, 1, (aWrench ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aCrowbar+"CROWBAR", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.CROWBAR, 1, (aCrowbar ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aHammer+"HARDHAMMER", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.HARDHAMMER, 1, (aHammer ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aMallet+"SOFTHAMMER", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.SOFTHAMMER, 1, (aMallet ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aScrewdriver+"SCREWDRIVER", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.SCREWDRIVER, 1, (aScrewdriver ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aSoldering+"SOLDERING_IRON_LV", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.SOLDERING_IRON_LV, 1, (aSoldering ? BAD : GOOD), Materials.Tungsten, null)); - - // Map Stacks of valid items - aWrench = true; - aScrewdriver = true; - aMallet = true; - aHammer = true; - aSoldering = true; - aCrowbar = true; - mToolStacks.put(aWrench+"WRENCH", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.WRENCH, 1, (aWrench ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aCrowbar+"CROWBAR", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.CROWBAR, 1, (aCrowbar ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aHammer+"HARDHAMMER", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.HARDHAMMER, 1, (aHammer ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aMallet+"SOFTHAMMER", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.SOFTHAMMER, 1, (aMallet ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aScrewdriver+"SCREWDRIVER", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.SCREWDRIVER, 1, (aScrewdriver ? BAD : GOOD), Materials.Tungsten, null)); - mToolStacks.put(aSoldering+"SOLDERING_IRON_LV", GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(GT_MetaGenerated_Tool_01.SOLDERING_IRON_LV, 1, (aSoldering ? BAD : GOOD), Materials.Tungsten, null)); - - ItemStack aGlassPane1 = ItemUtils.getItemStackOfAmountFromOreDict("paneGlassRed", 1); - ItemStack aGlassPane2 = ItemUtils.getItemStackOfAmountFromOreDict("paneGlassLime", 1); - mToolStacks.put("falseGLASS", aGlassPane1); - mToolStacks.put("trueGLASS", aGlassPane2); - - // Reset vars to real state - aWrench = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 1) != 0; - aScrewdriver = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 2) != 0; - aMallet = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 4) != 0; - aHammer = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 8) != 0; - aSoldering = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 16) != 0; - aCrowbar = (((CONTAINER_MultiMachine) this.mContainer).mDisplayErrorCode & 32) != 0; - - } - - ItemStack aWrenchStack; - ItemStack aCrowbarStack; - ItemStack aHammerStack; - ItemStack aMalletStack; - ItemStack aScrewdriverStack; - ItemStack aSolderingStack; - if (!mToolStacks.isEmpty() && mDrawItemStack != null) { - - aWrenchStack = mToolStacks.get(aWrench + "WRENCH"); - aCrowbarStack = mToolStacks.get(aCrowbar + "CROWBAR"); - aHammerStack = mToolStacks.get(aHammer + "HARDHAMMER"); - aMalletStack = mToolStacks.get(aMallet + "SOFTHAMMER"); - aScrewdriverStack = mToolStacks.get(aScrewdriver + "SCREWDRIVER"); - aSolderingStack = mToolStacks.get(aSoldering + "SOLDERING_IRON_LV"); - - try { - - ItemStack[] aToolStacks2 = new ItemStack[] { - aWrenchStack, aCrowbarStack, - aHammerStack, aMalletStack, - aScrewdriverStack, aSolderingStack }; - - int aIndex = 0; - //Draw Repair status tools - for (aIndex = 0; aIndex < 6; aIndex++) { - int x = 156; - int y = 112 - (18 * 3) + (aIndex * 18); - mDrawItemStack.invoke(this, - new Object[] { - aToolStacks2[aIndex] != null ? aToolStacks2[aIndex] - : ItemUtils.getErrorStack(1, "Bad Times"), - x, y, "" + (aIndex == 2 ? "H" : aIndex == 3 ? "M" : "") // Stacksize Overlay - }); - //this.fontRendererObj.drawString("", 10, 64, 16448255); - } - - //Draw Running status - boolean running = ((CONTAINER_MultiMachine) this.mContainer).mActive != 0; - ItemStack aGlassPane = mToolStacks.get(running+"GLASS"); - - if (aGlassPane == null) { - aGlassPane = ItemUtils.getItemStackOfAmountFromOreDict("paneGlass" + (running ? "Lime" : "Red"), 1); - mToolStacks.put(running+"GLASS", aGlassPane); - } - - mDrawItemStack.invoke(this, - new Object[] { - aGlassPane != null ? aGlassPane - : ItemUtils.getErrorStack(1, "Bad Times"), - 156, - 112 - (18 * 5), - running ? "On" : "Off"}); // Stacksize Overlay - - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - e.printStackTrace(); - } - } - - - - - } - - - @Override - protected void drawGuiContainerBackgroundLayer(final float par1, final int par2, final int par3) { - super.drawGuiContainerBackgroundLayer(par1, par2, par3); - final int x = (this.width - this.xSize) / 2; - final int y = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); - } -} |