package shedar.mods.ic2.nuclearcontrol.gui; import ic2.core.IC2; import ic2.core.network.NetworkManager; import java.lang.reflect.Method; import ic2.api.network.NetworkHelper; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.inventory.Container; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; import org.lwjgl.opengl.GL11; import shedar.mods.ic2.nuclearcontrol.containers.ContainerEnergyCounter; import shedar.mods.ic2.nuclearcontrol.utils.StringUtils; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class GuiEnergyCounter extends GuiContainer { private static final String TEXTURE_FILE = "nuclearcontrol:textures/gui/GUIEnergyCounter.png"; private static final ResourceLocation TEXTURE_LOCATION = new ResourceLocation(TEXTURE_FILE); private String name; private ContainerEnergyCounter container; public GuiEnergyCounter(Container container) { super(container); this.container = (ContainerEnergyCounter) container; name = StatCollector.translateToLocal("tile.blockEnergyCounter.name"); } @SuppressWarnings("unchecked") private void initControls() { buttonList.clear(); buttonList.add(new GuiButton(0, guiLeft + 35, guiTop + 42, 127, 20, StatCollector.translateToLocal("msg.nc.Reset"))); } @Override public void initGui() { super.initGui(); initControls(); }; @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { fontRendererObj.drawString(name, (xSize - fontRendererObj.getStringWidth(name)) / 2, 6, 0x404040); fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, (ySize - 96) + 2, 0x404040); String value = StringUtils.getFormatted("", container.energyCounter.counter, false); fontRendererObj.drawString(value, (xSize - fontRendererObj.getStringWidth(value)) / 2, 22, 0x404040); } @Override protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); mc.renderEngine.bindTexture(TEXTURE_LOCATION); int left = (width - xSize) / 2; int top = (height - ySize) / 2; drawTexturedModalRect(left, top, 0, 0, xSize, ySize); } @Override protected void mouseMovedOrUp(int mouseX, int mouseY, int which) { super.mouseMovedOrUp(mouseX, mouseY, which); } @Override public void updateScreen() { super.updateScreen(); initControls(); } @Override protected void actionPerformed(GuiButton guiButton) { if (guiButton.id == 0) ((NetworkManager)IC2.network.get()).initiateClientTileEntityEvent(container.energyCounter, 0); } }