/** * Copyright (c) 2011-2015, SpaceToad and the BuildCraft Team * http://www.mod-buildcraft.com * <p/> * BuildCraft is distributed under the terms of the Minecraft Mod Public * License 1.0, or MMPL. Please check the contents of the license located in * http://www.mod-buildcraft.com/MMPL-1.0.txt */ package buildcraft.silicon.gui; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.util.ResourceLocation; import buildcraft.BuildCraftCore; import buildcraft.core.CoreIconProvider; import buildcraft.core.lib.gui.BuildCraftContainer; import buildcraft.core.lib.gui.GuiBuildCraft; import buildcraft.core.lib.utils.StringUtils; import buildcraft.silicon.TileLaserTableBase; public abstract class GuiLaserTable extends GuiBuildCraft { private class LaserTableLedger extends Ledger { int headerColour = 0xe1c92f; int subheaderColour = 0xaaafb8; int textColour = 0x000000; public LaserTableLedger() { maxHeight = 94; overlayColor = 0xd46c1f; } @Override public void draw(int x, int y) { // Draw background drawBackground(x, y); // Draw icon Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); drawIcon(BuildCraftCore.iconProvider.getIcon(CoreIconProvider.ENERGY), x + 3, y + 4); if (!isFullyOpened()) { return; } fontRendererObj.drawStringWithShadow(StringUtils.localize("gui.energy"), x + 22, y + 8, headerColour); fontRendererObj.drawStringWithShadow(StringUtils.localize("gui.assemblyCurrentRequired") + ":", x + 22, y + 20, subheaderColour); fontRendererObj.drawString(String.format("%d RF", table.clientRequiredEnergy), x + 22, y + 32, textColour); fontRendererObj.drawStringWithShadow(StringUtils.localize("gui.stored") + ":", x + 22, y + 44, subheaderColour); fontRendererObj.drawString(String.format("%d RF", table.getEnergy()), x + 22, y + 56, textColour); fontRendererObj.drawStringWithShadow(StringUtils.localize("gui.assemblyRate") + ":", x + 22, y + 68, subheaderColour); fontRendererObj.drawString(String.format("%.1f RF/t", table.getRecentEnergyAverage() / 100.0f), x + 22, y + 80, textColour); } @Override public String getTooltip() { return String.format("%.1f RF/t", table.getRecentEnergyAverage() / 100.0f); } } protected final TileLaserTableBase table; public GuiLaserTable(InventoryPlayer playerInventory, BuildCraftContainer container, TileLaserTableBase table, ResourceLocation texture) { super(container, table, texture); this.table = table; } @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { super.drawGuiContainerForegroundLayer(par1, par2); String title = table.getInventoryName(); fontRendererObj.drawString(title, getCenteredOffset(title), 6, 0x404040); fontRendererObj.drawString(StringUtils.localize("gui.inventory"), 8, ySize - 97, 0x404040); } @Override protected void initLedgers(IInventory inventory) { super.initLedgers(inventory); if (!BuildCraftCore.hidePowerNumbers) { ledgerManager.add(new LaserTableLedger()); } } }