summaryrefslogtreecommitdiff
path: root/src/main/java/com/redstoner/modules/abot/Abot.java
diff options
context:
space:
mode:
authorDavid <david@panic.tk>2018-11-07 23:50:06 +0100
committerDavid <david@panic.tk>2018-11-07 23:50:06 +0100
commit604cf01967ede98bf5024e4926bb0777fc4e8eee (patch)
treee2fa63d7e683769ee3bf3eddc75280648e92eb04 /src/main/java/com/redstoner/modules/abot/Abot.java
parente86c52ef7c0e1e33c6af0e8674b038976bec11cc (diff)
Converted Modules to gradle
Diffstat (limited to 'src/main/java/com/redstoner/modules/abot/Abot.java')
-rw-r--r--src/main/java/com/redstoner/modules/abot/Abot.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/main/java/com/redstoner/modules/abot/Abot.java b/src/main/java/com/redstoner/modules/abot/Abot.java
new file mode 100644
index 0000000..728d61c
--- /dev/null
+++ b/src/main/java/com/redstoner/modules/abot/Abot.java
@@ -0,0 +1,68 @@
+package com.redstoner.modules.abot;
+
+import java.io.File;
+
+import org.bukkit.Bukkit;
+import org.bukkit.command.CommandSender;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.AsyncPlayerChatEvent;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+
+import com.nemez.cmdmgr.Command;
+import com.redstoner.annotations.AutoRegisterListener;
+import com.redstoner.annotations.Commands;
+import com.redstoner.annotations.Version;
+import com.redstoner.misc.CommandHolderType;
+import com.redstoner.misc.JsonManager;
+import com.redstoner.misc.Main;
+import com.redstoner.modules.Module;
+
+@Commands(CommandHolderType.File)
+@AutoRegisterListener
+@Version(major = 4, minor = 1, revision = 0, compatible = 4)
+public class Abot implements Module, Listener
+{
+ private File answerFile = new File(Main.plugin.getDataFolder(), "abot.json");
+ JSONArray answers;
+
+ @EventHandler
+ public void onPlayerChat(AsyncPlayerChatEvent event)
+ {
+ for (Object rawObject : answers)
+ {
+ JSONObject entry = (JSONObject) rawObject;
+ JSONArray regexes = (JSONArray) entry.get("regex");
+ for (Object regex : regexes)
+ {
+ if (event.getMessage().toLowerCase().matches((String) regex))
+ {
+ Object hideperm = entry.get("hide-perm");
+ if (hideperm == null || !event.getPlayer().hasPermission((String) hideperm))
+ {
+ event.setCancelled(true);
+ getLogger().message(event.getPlayer(), (String) entry.get("message"));
+ return;
+ }
+ }
+ }
+ }
+ }
+
+ @Command(hook = "abot_reload")
+ public void loadAnswers(CommandSender sender)
+ {
+ answers = JsonManager.getArray(answerFile);
+ if (answers == null)
+ answers = new JSONArray();
+ getLogger().message(sender, "Loaded the abot.json file!");
+ }
+
+ @Override
+ public boolean onEnable()
+ {
+ loadAnswers(Bukkit.getConsoleSender());
+ return true;
+ }
+}