public NBTTagCompound writeNBT(NBTTagCompound nbtfactions) { nbtfactions.setInteger("Slot", this.id); nbtfactions.setString("Title", this.title); NBTTagList dialogs = new NBTTagList(); Iterator var3 = this.dialogs.values().iterator(); while (var3.hasNext()) { Dialog dialog = (Dialog) var3.next(); dialogs.appendTag(dialog.writeToNBT(new NBTTagCompound())); } nbtfactions.setTag("Dialogs", dialogs); return nbtfactions; }
public void readNBT(NBTTagCompound compound) { this.id = compound.getInteger("Slot"); this.title = compound.getString("Title"); NBTTagList dialogsList = compound.getTagList("Dialogs", 10); if (dialogsList != null) { for (int ii = 0; ii < dialogsList.tagCount(); ++ii) { Dialog dialog = new Dialog(); dialog.category = this; NBTTagCompound comp = dialogsList.getCompoundTagAt(ii); dialog.readNBT(comp); dialog.id = comp.getInteger("DialogId"); this.dialogs.put(Integer.valueOf(dialog.id), dialog); } } }
public void buttonEvent(GuiButton guibutton) { int id = guibutton.id; if (id == 0) { this.save(); if (this.categorySelection) { if (this.category.id < 0) { return; } this.dialog = new Dialog(); Client.sendData( EnumPacketServer.DialogsGet, new Object[] {Integer.valueOf(this.category.id)}); } else if (!this.categorySelection) { this.dialog = new Dialog(); this.category = new DialogCategory(); Client.sendData(EnumPacketServer.DialogCategoriesGet, new Object[0]); } this.categorySelection = !this.categorySelection; this.getButton(0).setEnabled(false); this.scroll.clear(); this.data.clear(); } if (id == 1) { this.save(); String name; for (name = "New"; this.data.containsKey(name); name = name + "_") {; } if (this.categorySelection) { DialogCategory dialog = new DialogCategory(); dialog.title = name; Client.sendData( EnumPacketServer.DialogCategorySave, new Object[] {dialog.writeNBT(new NBTTagCompound())}); } else { Dialog dialog1 = new Dialog(); dialog1.title = name; Client.sendData( EnumPacketServer.DialogSave, new Object[] { Integer.valueOf(this.category.id), dialog1.writeToNBT(new NBTTagCompound()) }); } } if (id == 2 && this.data.containsKey(this.scroll.getSelected())) { if (this.categorySelection) { Client.sendData( EnumPacketServer.DialogCategoryRemove, new Object[] {Integer.valueOf(this.category.id)}); this.category = new DialogCategory(); } else { Client.sendData( EnumPacketServer.DialogRemove, new Object[] {Integer.valueOf(this.dialog.id)}); this.dialog = new Dialog(); } this.scroll.clear(); } if (id == 3 && this.dialog.id >= 0) { this.setSubGui(new SubGuiNpcTextArea(this.dialog.text)); } if (id == 4 && this.dialog.id >= 0) { this.setSubGui(new SubGuiNpcAvailability(this.dialog.availability)); } if (id == 5 && this.dialog.id >= 0) { this.setSubGui(new SubGuiNpcFactionOptions(this.dialog.factionOptions)); } if (id == 6 && this.dialog.id >= 0) { this.setSubGui(new SubGuiNpcDialogOptions(this.dialog)); } if (id == 7 && this.dialog.id >= 0) { NoppesUtil.openGUI( super.player, new GuiNPCQuestSelection(super.npc, this, this.dialog.quest)); } if (id == 8 && this.dialog.id >= 0) { this.dialog.quest = -1; this.initGui(); } if (id == 9 && this.dialog.id >= 0) { NoppesUtil.openGUI( super.player, this.gui = new GuiNpcSoundSelection(super.npc, this, this.getTextField(2).getText())); } if (id == 10) { this.setSubGui(new SubGuiNpcDialogExtra(this.dialog, this)); } }