From f38e06fcaff816eecd26a273c33ec6dac98354b9 Mon Sep 17 00:00:00 2001 From: byteful Date: Mon, 14 Mar 2022 20:17:05 -0500 Subject: [PATCH 1/4] Fixed 'ValidateInputEvent cannot be triggered asynchronously from another thread' --- .gitignore | 1 + src/main/java/com/nthbyte/dialogue/DialogueAPI.java | 2 +- src/main/java/com/nthbyte/dialogue/DialogueListener.java | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..85e7c1d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.idea/ diff --git a/src/main/java/com/nthbyte/dialogue/DialogueAPI.java b/src/main/java/com/nthbyte/dialogue/DialogueAPI.java index 23923d2..a11c1ce 100644 --- a/src/main/java/com/nthbyte/dialogue/DialogueAPI.java +++ b/src/main/java/com/nthbyte/dialogue/DialogueAPI.java @@ -20,7 +20,7 @@ public class DialogueAPI { */ public static void hook(JavaPlugin hookingPlugin){ dialogueManager = new DialogueManager(hookingPlugin); - hookingPlugin.getServer().getPluginManager().registerEvents(new DialogueListener(dialogueManager), hookingPlugin); + hookingPlugin.getServer().getPluginManager().registerEvents(new DialogueListener(hookingPlugin, dialogueManager), hookingPlugin); } /** diff --git a/src/main/java/com/nthbyte/dialogue/DialogueListener.java b/src/main/java/com/nthbyte/dialogue/DialogueListener.java index 8382734..238810e 100644 --- a/src/main/java/com/nthbyte/dialogue/DialogueListener.java +++ b/src/main/java/com/nthbyte/dialogue/DialogueListener.java @@ -7,6 +7,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; +import org.bukkit.plugin.java.JavaPlugin; import java.util.Set; import java.util.UUID; @@ -21,9 +22,11 @@ */ public class DialogueListener implements Listener { + private JavaPlugin plugin; private DialogueManager dialogueManager; - public DialogueListener(DialogueManager dialogueManager){ + public DialogueListener(JavaPlugin plugin, DialogueManager dialogueManager){ + this.plugin = plugin; this.dialogueManager = dialogueManager; } @@ -40,7 +43,7 @@ public void onPlayerChat(AsyncPlayerChatEvent e){ if(DialogueAPI.isHavingDialogue(player)){ e.setCancelled(true); Dialogue dialogue = dialogueManager.getCurrentDialogue(player); - fireReceiveInputEvent(player, dialogue, e.getMessage()); + Bukkit.getScheduler().runTask(plugin, () -> fireReceiveInputEvent(player, dialogue, e.getMessage())); } } From 6de813f4290a980cbce91863834e56341c0e3417 Mon Sep 17 00:00:00 2001 From: byteful Date: Mon, 14 Mar 2022 20:23:35 -0500 Subject: [PATCH 2/4] better fix for issue --- src/main/java/com/nthbyte/dialogue/DialogueListener.java | 6 ++---- .../java/com/nthbyte/dialogue/event/ValidateInputEvent.java | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/nthbyte/dialogue/DialogueListener.java b/src/main/java/com/nthbyte/dialogue/DialogueListener.java index 238810e..e618986 100644 --- a/src/main/java/com/nthbyte/dialogue/DialogueListener.java +++ b/src/main/java/com/nthbyte/dialogue/DialogueListener.java @@ -22,11 +22,9 @@ */ public class DialogueListener implements Listener { - private JavaPlugin plugin; private DialogueManager dialogueManager; - public DialogueListener(JavaPlugin plugin, DialogueManager dialogueManager){ - this.plugin = plugin; + public DialogueListener(DialogueManager dialogueManager){ this.dialogueManager = dialogueManager; } @@ -43,7 +41,7 @@ public void onPlayerChat(AsyncPlayerChatEvent e){ if(DialogueAPI.isHavingDialogue(player)){ e.setCancelled(true); Dialogue dialogue = dialogueManager.getCurrentDialogue(player); - Bukkit.getScheduler().runTask(plugin, () -> fireReceiveInputEvent(player, dialogue, e.getMessage())); + fireReceiveInputEvent(player, dialogue, e.getMessage()); } } diff --git a/src/main/java/com/nthbyte/dialogue/event/ValidateInputEvent.java b/src/main/java/com/nthbyte/dialogue/event/ValidateInputEvent.java index 9a29253..4afbde8 100644 --- a/src/main/java/com/nthbyte/dialogue/event/ValidateInputEvent.java +++ b/src/main/java/com/nthbyte/dialogue/event/ValidateInputEvent.java @@ -20,6 +20,7 @@ public class ValidateInputEvent extends Event { private String promptId, input; public ValidateInputEvent(Player responder, String promptId, String input){ + super(true); this.responder = responder; this.promptId = promptId; this.input = input; From 6503c13c7d8527ebc793a3f67e709f78c1cc3567 Mon Sep 17 00:00:00 2001 From: byteful Date: Mon, 14 Mar 2022 20:25:01 -0500 Subject: [PATCH 3/4] fixed constructor issue --- src/main/java/com/nthbyte/dialogue/DialogueAPI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/nthbyte/dialogue/DialogueAPI.java b/src/main/java/com/nthbyte/dialogue/DialogueAPI.java index a11c1ce..23923d2 100644 --- a/src/main/java/com/nthbyte/dialogue/DialogueAPI.java +++ b/src/main/java/com/nthbyte/dialogue/DialogueAPI.java @@ -20,7 +20,7 @@ public class DialogueAPI { */ public static void hook(JavaPlugin hookingPlugin){ dialogueManager = new DialogueManager(hookingPlugin); - hookingPlugin.getServer().getPluginManager().registerEvents(new DialogueListener(hookingPlugin, dialogueManager), hookingPlugin); + hookingPlugin.getServer().getPluginManager().registerEvents(new DialogueListener(dialogueManager), hookingPlugin); } /** From 4047479954bc56fb5690dc02ca9aec93395b54a5 Mon Sep 17 00:00:00 2001 From: Caleb Owens Date: Mon, 14 Mar 2022 22:05:19 -0400 Subject: [PATCH 4/4] Updated version tags. --- pom.xml | 2 +- src/main/java/com/nthbyte/dialogue/Dialogue.java | 2 +- src/main/java/com/nthbyte/dialogue/DialogueAPI.java | 2 +- src/main/java/com/nthbyte/dialogue/DialogueEndCause.java | 2 +- src/main/java/com/nthbyte/dialogue/DialogueListener.java | 2 +- src/main/java/com/nthbyte/dialogue/DialogueManager.java | 2 +- src/main/java/com/nthbyte/dialogue/InputFormatValidator.java | 2 +- src/main/java/com/nthbyte/dialogue/Prompt.java | 2 +- src/main/java/com/nthbyte/dialogue/PromptInputType.java | 2 +- src/main/java/com/nthbyte/dialogue/Utils.java | 2 +- src/main/java/com/nthbyte/dialogue/event/ReceiveInputEvent.java | 2 +- .../java/com/nthbyte/dialogue/event/ValidateInputEvent.java | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index 59875d2..bab75d1 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ Third number I will change whenever I add a new feature. Fourth number I will change for bug fixes/small changes. --> - 1.2.0.0 + 1.2.0.1 jar Dialogue diff --git a/src/main/java/com/nthbyte/dialogue/Dialogue.java b/src/main/java/com/nthbyte/dialogue/Dialogue.java index e90840b..3fad58a 100644 --- a/src/main/java/com/nthbyte/dialogue/Dialogue.java +++ b/src/main/java/com/nthbyte/dialogue/Dialogue.java @@ -11,7 +11,7 @@ * Object that represents dialogue between the plugin and a player. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public class Dialogue { diff --git a/src/main/java/com/nthbyte/dialogue/DialogueAPI.java b/src/main/java/com/nthbyte/dialogue/DialogueAPI.java index 23923d2..77bf39c 100644 --- a/src/main/java/com/nthbyte/dialogue/DialogueAPI.java +++ b/src/main/java/com/nthbyte/dialogue/DialogueAPI.java @@ -7,7 +7,7 @@ * An API that completely eliminates your need for the ConversationsAPI * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public class DialogueAPI { diff --git a/src/main/java/com/nthbyte/dialogue/DialogueEndCause.java b/src/main/java/com/nthbyte/dialogue/DialogueEndCause.java index 262267a..09a1632 100644 --- a/src/main/java/com/nthbyte/dialogue/DialogueEndCause.java +++ b/src/main/java/com/nthbyte/dialogue/DialogueEndCause.java @@ -4,7 +4,7 @@ * Reasons that the dialogue ended. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public enum DialogueEndCause { diff --git a/src/main/java/com/nthbyte/dialogue/DialogueListener.java b/src/main/java/com/nthbyte/dialogue/DialogueListener.java index e618986..9dd375e 100644 --- a/src/main/java/com/nthbyte/dialogue/DialogueListener.java +++ b/src/main/java/com/nthbyte/dialogue/DialogueListener.java @@ -18,7 +18,7 @@ * The listener for all input and dialogue. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public class DialogueListener implements Listener { diff --git a/src/main/java/com/nthbyte/dialogue/DialogueManager.java b/src/main/java/com/nthbyte/dialogue/DialogueManager.java index dd36087..3090879 100644 --- a/src/main/java/com/nthbyte/dialogue/DialogueManager.java +++ b/src/main/java/com/nthbyte/dialogue/DialogueManager.java @@ -14,7 +14,7 @@ * The manager for all dialogue. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public class DialogueManager { diff --git a/src/main/java/com/nthbyte/dialogue/InputFormatValidator.java b/src/main/java/com/nthbyte/dialogue/InputFormatValidator.java index a839a35..bc572c7 100644 --- a/src/main/java/com/nthbyte/dialogue/InputFormatValidator.java +++ b/src/main/java/com/nthbyte/dialogue/InputFormatValidator.java @@ -10,7 +10,7 @@ * Validates the format of input. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public class InputFormatValidator { diff --git a/src/main/java/com/nthbyte/dialogue/Prompt.java b/src/main/java/com/nthbyte/dialogue/Prompt.java index 7e54f02..8151b9e 100644 --- a/src/main/java/com/nthbyte/dialogue/Prompt.java +++ b/src/main/java/com/nthbyte/dialogue/Prompt.java @@ -9,7 +9,7 @@ * Represents a question or a request. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public class Prompt { diff --git a/src/main/java/com/nthbyte/dialogue/PromptInputType.java b/src/main/java/com/nthbyte/dialogue/PromptInputType.java index 80ea821..ec8b42c 100644 --- a/src/main/java/com/nthbyte/dialogue/PromptInputType.java +++ b/src/main/java/com/nthbyte/dialogue/PromptInputType.java @@ -4,7 +4,7 @@ * The different types of input for prompts. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public enum PromptInputType { diff --git a/src/main/java/com/nthbyte/dialogue/Utils.java b/src/main/java/com/nthbyte/dialogue/Utils.java index 3079e03..43d2b3c 100644 --- a/src/main/java/com/nthbyte/dialogue/Utils.java +++ b/src/main/java/com/nthbyte/dialogue/Utils.java @@ -6,7 +6,7 @@ * Utility class. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public class Utils { diff --git a/src/main/java/com/nthbyte/dialogue/event/ReceiveInputEvent.java b/src/main/java/com/nthbyte/dialogue/event/ReceiveInputEvent.java index 26feea5..24a51eb 100644 --- a/src/main/java/com/nthbyte/dialogue/event/ReceiveInputEvent.java +++ b/src/main/java/com/nthbyte/dialogue/event/ReceiveInputEvent.java @@ -9,7 +9,7 @@ * Event fired when you receive input from a player post-validation. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public class ReceiveInputEvent extends Event { diff --git a/src/main/java/com/nthbyte/dialogue/event/ValidateInputEvent.java b/src/main/java/com/nthbyte/dialogue/event/ValidateInputEvent.java index 4afbde8..09b5244 100644 --- a/src/main/java/com/nthbyte/dialogue/event/ValidateInputEvent.java +++ b/src/main/java/com/nthbyte/dialogue/event/ValidateInputEvent.java @@ -8,7 +8,7 @@ * The event that fires just before the prompt uses its own validation check (If there is any). Use this if you wish to do your own validation. * * @author Caleb Owens - * @version 1.1.1.1 + * @version 1.2.0.1 */ public class ValidateInputEvent extends Event {