package noppes.npcs.client.gui; import net.minecraft.client.gui.GuiButton; import noppes.npcs.DataStats; import noppes.npcs.client.gui.util.GuiNpcButton; import noppes.npcs.client.gui.util.GuiNpcLabel; import noppes.npcs.client.gui.util.GuiNpcTextField; import noppes.npcs.client.gui.util.ITextfieldListener; import noppes.npcs.client.gui.util.SubGuiInterface; public class SubGuiNpcRespawn extends SubGuiInterface implements ITextfieldListener { private DataStats stats; public SubGuiNpcRespawn(DataStats stats) { this.stats = stats; setBackground("menubg.png"); xSize = 256; ySize = 216; closeOnEsc = true; } @Override public void initGui() { super.initGui(); addLabel(new GuiNpcLabel(0, "stats.respawn", guiLeft + 5, guiTop + 35)); addButton(new GuiNpcButton(0, guiLeft + 122, guiTop + 30, 56, 20, new String[]{"gui.yes", "gui.day", "gui.night", "gui.no"}, stats.spawnCycle)); if (stats.respawnTime > 0) { addLabel(new GuiNpcLabel(3, "gui.time", guiLeft + 5, guiTop + 57)); addTextField(new GuiNpcTextField(2, this, fontRendererObj, guiLeft + 122, guiTop + 53, 50, 18, stats.respawnTime + "")); getTextField(2).integersOnly = true; getTextField(2).setMinMaxDefault(1, Integer.MAX_VALUE, 20); addLabel(new GuiNpcLabel(4, "stats.deadbody", guiLeft + 4, guiTop + 79)); addButton(new GuiNpcButton(4, guiLeft + 122, guiTop + 74, 51, 20, new String[]{"gui.no", "gui.yes"}, stats.hideKilledBody ? 1 : 0)); } addLabel(new GuiNpcLabel(1, "stats.naturallydespawns", guiLeft + 4, guiTop + 101)); addButton(new GuiNpcButton(1, guiLeft + 122, guiTop + 96, 51, 20, new String[]{"gui.no", "gui.yes"}, stats.canDespawn ? 1 : 0)); addButton(new GuiNpcButton(66, guiLeft + 82, guiTop + 190, 98, 20, "gui.done")); } @Override protected void actionPerformed(GuiButton guibutton) { int id = guibutton.id; GuiNpcButton button = (GuiNpcButton) guibutton; if (button.id == 0) { stats.spawnCycle = button.getValue(); if (stats.spawnCycle == 3) stats.respawnTime = 0; else stats.respawnTime = 20; initGui(); } else if (button.id == 1) { stats.canDespawn = button.getValue() == 1; stats.playerSetCanDespawn = stats.canDespawn; } else if (button.id == 4) { stats.hideKilledBody = button.getValue() == 1; } if (id == 66) { close(); } } @Override public void unFocused(GuiNpcTextField textfield) { if (textfield.id == 2) { stats.respawnTime = textfield.getInteger(); } } }