Quest Info and Dialog Info Command

This commit is contained in:
Kam committed 2023-06-23 14:26:24 -04:00
1 parent 0cb3098c31
commit 7d50dcd940
2 files changed
+72 -2

No files matched your search

@@ -11,6 +11,7 @@ import noppes.npcs.NoppesUtilServer;
import noppes.npcs.client.EntityUtil;
import noppes.npcs.constants.EnumAvailabilityDialog;
import noppes.npcs.constants.EnumAvailabilityQuest;
import noppes.npcs.constants.EnumQuestCompletion;
import noppes.npcs.controllers.DialogController;
import noppes.npcs.controllers.PlayerDataController;
@@ -161,12 +162,12 @@ public class DialogCommand extends CommandKamkeelBase {
try {
diagid = Integer.parseInt(args[0]);
} catch (NumberFormatException ex) {
sendError(sender, "DialogID must be an integer: " + args[1]);
sendError(sender, "DialogID must be an integer: " + args[0]);
return;
}
Dialog dialog = DialogController.instance.dialogs.get(diagid);
if(dialog == null){
sendError(sender, "Unknown dialog id: " + args[1]);
sendError(sender, "Unknown dialog id: " + args[0]);
return;
}
@@ -220,4 +221,33 @@ public class DialogCommand extends CommandKamkeelBase {
sendResult(sender, "--------------------");
}
}
@SubCommand(
desc = "Quick info on a dialog",
usage = "<dialogId>"
)
public void info(ICommandSender sender, String args[]) throws CommandException {
if(args.length == 0){
sendError(sender, "Please provide an id for the quest");
return;
}
int diagid;
try {
diagid = Integer.parseInt(args[0]);
} catch (NumberFormatException ex) {
sendError(sender, "DialogID must be an integer: " + args[0]);
return;
}
Dialog dialog = DialogController.instance.dialogs.get(diagid);
if(dialog == null){
sendError(sender, "Unknown dialog id: " + args[0]);
return;
}
sendResult(sender, "--------------------");
sendResult(sender, String.format("%d: \u00A7a'%s'", dialog.id, dialog.title));
sendResult(sender, String.format("Category: \u00A7b'%s'", dialog.category.getName()));
sendResult(sender, "--------------------");
}
}
@@ -8,6 +8,7 @@ import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayerMP;
import noppes.npcs.Server;
import noppes.npcs.constants.EnumPacketClient;
import noppes.npcs.constants.EnumQuestCompletion;
import noppes.npcs.constants.EnumQuestRepeat;
import noppes.npcs.controllers.PlayerDataController;
import noppes.npcs.controllers.QuestController;
@@ -239,6 +240,45 @@ public class QuestCommand extends CommandKamkeelBase {
}
sendResult(sender, "--------------------");
}
@SubCommand(
desc = "Quick info on a quest",
usage = "<questId>"
)
public void info(ICommandSender sender, String args[]) throws CommandException {
if(args.length == 0){
sendError(sender, "Please provide an id for the quest");
return;
}
int questid;
try {
questid = Integer.parseInt(args[0]);
} catch (NumberFormatException ex) {
sendError(sender, "QuestID must be an integer: " + args[1]);
return;
}
Quest quest = QuestController.instance.quests.get(questid);
if (quest == null){
sendError(sender, "Unknown QuestID");
return;
}
sendResult(sender, "--------------------");
sendResult(sender, String.format("%d: \u00A7a'%s'", quest.id, quest.title));
sendResult(sender, String.format("Category: \u00A7b'%s'", quest.category.getName()));
sendResult(sender, String.format("Type: \u00A76'%s'", quest.type.toString()));
sendResult(sender, String.format("Repeatable: \u00A76'%s'", quest.repeat.toString()));
sendResult(sender, String.format("Complete: \u00A76'%s'", quest.completion.toString()));
if(quest.completion == EnumQuestCompletion.Npc){
sendResult(sender, String.format("NPC: \u00A76'%s'", quest.completerNpc));
}
if(quest.nextQuestid != -1){
sendResult(sender, String.format("Next Quest ID: '%s'", quest.nextQuestid));
}
sendResult(sender, "--------------------");
}
@SubCommand(
desc="reload quests from disk",