From c51db5e8939d1af7c87e2ea6812eb6368c2ed2f6 Mon Sep 17 00:00:00 2001 From: Kam Date: Fri, 23 Jun 2023 12:43:44 -0400 Subject: [PATCH] Add ID Commands to Dialogs and Quests --- .../java/kamkeel/command/DialogCommand.java | 27 +++++++++++++++++++ .../java/kamkeel/command/QuestCommand.java | 26 ++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/src/main/java/kamkeel/command/DialogCommand.java b/src/main/java/kamkeel/command/DialogCommand.java index 538febefa..ab5cf20ee 100644 --- a/src/main/java/kamkeel/command/DialogCommand.java +++ b/src/main/java/kamkeel/command/DialogCommand.java @@ -1,5 +1,6 @@ package kamkeel.command; +import java.util.Collection; import java.util.List; import net.minecraft.command.CommandBase; @@ -11,9 +12,11 @@ import noppes.npcs.client.EntityUtil; import noppes.npcs.controllers.DialogController; import noppes.npcs.controllers.PlayerDataController; +import noppes.npcs.controllers.QuestController; import noppes.npcs.controllers.data.Dialog; import noppes.npcs.controllers.data.DialogOption; import noppes.npcs.controllers.data.PlayerData; +import noppes.npcs.controllers.data.Quest; import noppes.npcs.entity.EntityDialogNpc; public class DialogCommand extends CommandKamkeelBase { @@ -120,4 +123,28 @@ public class DialogCommand extends CommandKamkeelBase { NoppesUtilServer.openDialog(player, npc, dialog, 0); sendResult(sender, String.format("Displayed Dialog \u00A7e%d\u00A77 to Player '\u00A7b%s\u00A77'", diagid, player.getCommandSenderName())); } + + @SubCommand( + desc = "Find dialog id number by its name", + usage = "" + ) + public void id(ICommandSender sender, String args[]) throws CommandException { + if(args.length == 0){ + sendError(sender, "Please provide a name for the dialog"); + return; + } + + String dialogName = String.join(" ", args).toLowerCase(); + final Collection quests = DialogController.instance.dialogs.values(); + int count = 0; + for(Dialog dialog : quests){ + if(dialog.getName().toLowerCase().contains(dialogName)){ + sendResult(sender, String.format("Dialog \u00A7e%d\u00A77 - \u00A7c'%s'", dialog.id, dialog.getName())); + count++; + } + } + if(count == 0){ + sendResult(sender, String.format("No Dialog found with name: \u00A7c'%s'", dialogName)); + } + } } diff --git a/src/main/java/kamkeel/command/QuestCommand.java b/src/main/java/kamkeel/command/QuestCommand.java index 571f138aa..d6d9de8ac 100644 --- a/src/main/java/kamkeel/command/QuestCommand.java +++ b/src/main/java/kamkeel/command/QuestCommand.java @@ -1,5 +1,6 @@ package kamkeel.command; +import java.util.Collection; import java.util.List; import net.minecraft.command.CommandException; @@ -12,6 +13,7 @@ import noppes.npcs.controllers.PlayerDataController; import noppes.npcs.controllers.QuestController; import noppes.npcs.controllers.data.PlayerData; import noppes.npcs.controllers.data.Quest; +import noppes.npcs.controllers.data.QuestCategory; import noppes.npcs.controllers.data.QuestData; public class QuestCommand extends CommandKamkeelBase { @@ -173,6 +175,30 @@ public class QuestCommand extends CommandKamkeelBase { sendResult(sender, String.format("Removed Quest \u00A7e%d\u00A77 for Player '\u00A7b%s\u00A77'", questid, playerdata.playername)); } } + + @SubCommand( + desc = "Find quest id number by its name", + usage = "" + ) + public void id(ICommandSender sender, String args[]) throws CommandException { + if(args.length == 0){ + sendError(sender, "Please provide a name for the quest"); + return; + } + + String catName = String.join(" ", args).toLowerCase(); + final Collection quests = QuestController.instance.quests.values(); + int count = 0; + for(Quest quest : quests){ + if(quest.getName().toLowerCase().contains(catName)){ + sendResult(sender, String.format("Quest \u00A7e%d\u00A77 - \u00A7c'%s'", quest.id, quest.getName())); + count++; + } + } + if(count == 0){ + sendResult(sender, String.format("No Quest found with name: \u00A7c'%s'", catName)); + } + } @SubCommand( desc="reload quests from disk",