package chbachman.armour.gui.crafting; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import chbachman.api.upgrade.IUpgrade; import chbachman.armour.gui.element.ElementUpgradeListBox; import chbachman.armour.gui.element.TabConfig; import chbachman.armour.gui.element.TabCrafting; import chbachman.armour.gui.element.TabError; import chbachman.armour.gui.element.TabUpgradeRemoval; import chbachman.armour.network.ArmourPacket; import chbachman.armour.network.ArmourPacket.PacketTypes; import chbachman.armour.reference.Reference; import chbachman.armour.upgrade.UpgradeException; import cofh.core.gui.GuiBaseAdv; import cofh.core.network.PacketHandler; import cofh.lib.util.helpers.StringHelper; public class ArmourGui extends GuiBaseAdv { private static final ResourceLocation TEXTURE = new ResourceLocation(Reference.TEXTURE_LOCATION + "/gui/armourGui.png"); public ArmourContainer container; public ElementUpgradeListBox list; public TabCrafting tabCrafting; public TabError scrolledText; public TabUpgradeRemoval removal; public TabConfig config; public IUpgrade selectedUpgrade; public ItemStack stack; public float gameTick; public ArmourGui(ArmourContainer container, InventoryPlayer inventory) { super(container, TEXTURE); this.container = container; this.stack = inventory.getCurrentItem(); this.texture = TEXTURE; this.drawInventory = false; this.drawTitle = true; this.xSize = 176; this.ySize = 234; } @Override public void initGui() { super.initGui(); this.list = new ElementUpgradeListBox(this, 8, 5, 160, 142) { public void onUpgradeSelected(IUpgrade upgrade, int index) { selectedUpgrade = upgrade; config.onUpgradeSelected(upgrade); } }; this.addElement(list); this.tabCrafting = new TabCrafting(this); this.addTab(this.tabCrafting); this.scrolledText = new TabError(this, StringHelper.localize("info.chbachman.tutorial")); this.addTab(this.scrolledText); this.removal = new TabUpgradeRemoval(this); this.addTab(this.removal); this.config = new TabConfig(this); this.addTab(this.config); this.list.setEnabled(true); } @Override protected void drawGuiContainerBackgroundLayer(float partialTick, int x, int y) { super.drawGuiContainerBackgroundLayer(partialTick, x, y); this.list.loadStack(this.container.getContainerStack()); } public void onButtonClick(String name) { try { if (name.equals("UpgradeAddition")) { PacketHandler.sendToServer(ArmourPacket.getPacket(PacketTypes.BUTTON).addString(name)); } else if (name.equals("RemoveItems")) { PacketHandler.sendToServer(ArmourPacket.getPacket(PacketTypes.BUTTON).addString(name)); } else if (name.equals("RemoveUpgrade")) { // UpgradeUtil.removeUpgrade(this.container.getContainerStack(), // this.selectedUpgrade); PacketHandler.sendToServer(ArmourPacket.getPacket(PacketTypes.BUTTON).addString(name).addString(this.selectedUpgrade.getBaseName())); } else if (name.equals("Recipe")) { PacketHandler.sendToServer(ArmourPacket.getPacket(PacketTypes.BUTTON).addString(name)); } else if (name.equals("ScrollDown")) { this.list.scrollDown(); } else if (name.equals("ScrollUp")) { this.list.scrollUp(); } else if (name.equals("ValueChanged")) { } } catch (UpgradeException e) { this.scrolledText.setString(e.getMessage()); if (!this.scrolledText.isFullyOpened()) { this.scrolledText.setFullyOpen(); } } } }