From 9eadeaa6113e719ed79b9c1fdd7ba15e965286a7 Mon Sep 17 00:00:00 2001 From: Kam Date: Tue, 24 Feb 2026 19:03:26 -0500 Subject: [PATCH] Dialog and Quest Saving Bug --- .../packets/request/dialog/DialogSavePacket.java | 10 ++++++++++ .../network/packets/request/quest/QuestSavePacket.java | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/src/main/java/kamkeel/npcs/network/packets/request/dialog/DialogSavePacket.java b/src/main/java/kamkeel/npcs/network/packets/request/dialog/DialogSavePacket.java index 716a53feb..87206c3c9 100644 --- a/src/main/java/kamkeel/npcs/network/packets/request/dialog/DialogSavePacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/request/dialog/DialogSavePacket.java @@ -13,10 +13,13 @@ import kamkeel.npcs.util.ByteBufUtils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; +import kamkeel.npcs.network.packets.data.large.GuiDataPacket; import noppes.npcs.CustomNpcsPermissions; import noppes.npcs.NoppesUtilServer; import noppes.npcs.controllers.DialogController; +import noppes.npcs.controllers.QuestController; import noppes.npcs.controllers.data.Dialog; +import noppes.npcs.controllers.data.Quest; import java.io.IOException; @@ -80,6 +83,13 @@ public final class DialogSavePacket extends AbstractPacket { } else { NoppesUtilServer.sendDialogData((EntityPlayerMP) player, dialog.category); } + + // Send full dialog data back so the client doesn't need a second round-trip + NBTTagCompound dialogData = dialog.writeToNBT(new NBTTagCompound()); + Quest quest = QuestController.Instance.quests.get(dialog.quest); + if (quest != null) + dialogData.setString("DialogQuestName", quest.title); + GuiDataPacket.sendGuiData((EntityPlayerMP) player, dialogData); } } } diff --git a/src/main/java/kamkeel/npcs/network/packets/request/quest/QuestSavePacket.java b/src/main/java/kamkeel/npcs/network/packets/request/quest/QuestSavePacket.java index 9fdfbb78e..1eafb6c93 100644 --- a/src/main/java/kamkeel/npcs/network/packets/request/quest/QuestSavePacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/request/quest/QuestSavePacket.java @@ -13,6 +13,7 @@ import kamkeel.npcs.util.ByteBufUtils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; +import kamkeel.npcs.network.packets.data.large.GuiDataPacket; import noppes.npcs.CustomNpcsPermissions; import noppes.npcs.NoppesUtilServer; import noppes.npcs.controllers.QuestController; @@ -79,6 +80,12 @@ public final class QuestSavePacket extends AbstractPacket { } else { NoppesUtilServer.sendQuestData((EntityPlayerMP) player, quest.category); } + + // Send full quest data back so the client doesn't need a second round-trip + NBTTagCompound questData = new NBTTagCompound(); + if (quest.hasNewQuest()) + questData.setString("NextQuestTitle", quest.getNextQuest().title); + GuiDataPacket.sendGuiData((EntityPlayerMP) player, quest.writeToNBT(questData)); } } }