diff options
author | David <david@panic.tk> | 2018-11-07 23:50:06 +0100 |
---|---|---|
committer | David <david@panic.tk> | 2018-11-07 23:50:06 +0100 |
commit | 604cf01967ede98bf5024e4926bb0777fc4e8eee (patch) | |
tree | e2fa63d7e683769ee3bf3eddc75280648e92eb04 /src/main/java/com/redstoner/modules/abot/Abot.java | |
parent | e86c52ef7c0e1e33c6af0e8674b038976bec11cc (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.java | 68 |
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; + } +} |