From 354bb77f9d6f669f0edbf64e82cf5dad4286c4c5 Mon Sep 17 00:00:00 2001 From: benamaurer Date: Thu, 20 May 2021 17:08:15 -0500 Subject: [PATCH 1/3] Adding the chat based advancement trigger and trigger criteria to config --- .../qol/listeners/AsyncPlayerChatListener.java | 11 +++++++++++ src/main/resources/config.yml | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java b/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java index 08ebfed..d8650de 100644 --- a/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java +++ b/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java @@ -6,6 +6,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; +import org.bukkit.event.advancement.Advancement; import xyz.etztech.qol.QoL; import java.util.Arrays; @@ -48,6 +49,16 @@ public class AsyncPlayerChatListener implements Listener { String chat = event.getMessage(); boolean escape = false; + //Checking if player has been awarded the chat advancement, if not, message is searched for triggers + Advancement adv = Bukkit.getAdvancement(new Namespacedkey("canopy", "chat_advancement")); + + if (!player.getAdvancementProgress(adv).isDone()) { + List advancementTriggerList = plugin.getConfig().getStringList("chat-advancement-triggers"); + if (advancementTriggerList.stream().anyMatch(t -> chat.toLowerCase().contains(t.toLowerCase()))) { + player.getAdvancementProgress(adv).awardCriteria("win"); + } else{} + } else {} + // Escape if (chat.startsWith("\\")) { escape = true; diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 17b14b4..764260f 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -104,3 +104,7 @@ dynmap: defaults: map: "surface" zoom: 5 + +# A list of words/phrases which will award the chant advancement to the message author +chat-advancement-triggers: + - chat_advancment_test -- 2.41.0 From 4721b310922e85d0dfd54ed8b20b87cb8149084b Mon Sep 17 00:00:00 2001 From: mauberries Date: Fri, 21 May 2021 17:42:23 +0000 Subject: [PATCH 2/3] Update 'src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java' Fixing reference to bukkit.advancement, adding reference for Namespacedkey --- .../xyz/etztech/qol/listeners/AsyncPlayerChatListener.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java b/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java index d8650de..e5bd3f4 100644 --- a/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java +++ b/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java @@ -6,7 +6,8 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.advancement.Advancement; +import org.bukkit.advancement.Advancement; +import org.bukkit.Namespacedkey; import xyz.etztech.qol.QoL; import java.util.Arrays; -- 2.41.0 From ddd7286046c251b1b46df90d9679bb8736595751 Mon Sep 17 00:00:00 2001 From: benamaurer Date: Mon, 24 May 2021 08:16:39 -0500 Subject: [PATCH 3/3] Removing `else{}`s from AsyncPlayerChatListener per Etz's comment __I don't think this is ready to merge__, still getting errors when trying to build the jar to test --- .../xyz/etztech/qol/listeners/AsyncPlayerChatListener.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java b/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java index e5bd3f4..bea1d98 100644 --- a/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java +++ b/src/main/java/xyz/etztech/qol/listeners/AsyncPlayerChatListener.java @@ -57,8 +57,8 @@ public class AsyncPlayerChatListener implements Listener { List advancementTriggerList = plugin.getConfig().getStringList("chat-advancement-triggers"); if (advancementTriggerList.stream().anyMatch(t -> chat.toLowerCase().contains(t.toLowerCase()))) { player.getAdvancementProgress(adv).awardCriteria("win"); - } else{} - } else {} + } + } // Escape if (chat.startsWith("\\")) { -- 2.41.0