summaryrefslogtreecommitdiff
path: root/src/main/java/cat/freya/cbl/Main.java
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2026-03-19 21:47:24 -0400
committerFreya Murphy <freya@freyacat.org>2026-03-19 21:49:57 -0400
commit9eaadd57b8b66409a39402a3f395336bd351a006 (patch)
tree6928fd9f12c53870e21797013ecaf7abcb55738a /src/main/java/cat/freya/cbl/Main.java
downloadcommandblocklocator-9eaadd57b8b66409a39402a3f395336bd351a006.tar.gz
commandblocklocator-9eaadd57b8b66409a39402a3f395336bd351a006.tar.bz2
commandblocklocator-9eaadd57b8b66409a39402a3f395336bd351a006.zip
initial 0.1.0HEADmain
Diffstat (limited to 'src/main/java/cat/freya/cbl/Main.java')
-rw-r--r--src/main/java/cat/freya/cbl/Main.java61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/java/cat/freya/cbl/Main.java b/src/main/java/cat/freya/cbl/Main.java
new file mode 100644
index 0000000..fe1a3f8
--- /dev/null
+++ b/src/main/java/cat/freya/cbl/Main.java
@@ -0,0 +1,61 @@
+package cat.freya.cbl;
+
+import java.util.ArrayList;
+
+import org.bukkit.Bukkit;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Listener;
+import org.bukkit.plugin.java.JavaPlugin;
+import org.jetbrains.annotations.NotNull;
+
+import cat.freya.cbl.command.Toggle;
+import cat.freya.cbl.command.util.CommandGroup;
+
+public class Main extends JavaPlugin {
+
+ public static Main instance;
+ public final ChatManager chatManager;
+ public final CommandBlockListener commandBlockListener;
+ public final CommandGroup commandGroup;
+
+ public static final String MESSAGE_PREFIX = "CBL > ";
+ public static final String ERROR_PREFIX = "Error > ";
+
+ Main() {
+ Main.instance = this;
+ this.chatManager = new ChatManager();
+ this.commandBlockListener = new CommandBlockListener(this.chatManager);
+ this.commandGroup = new CommandGroup("cbl",
+ new Toggle()
+ );
+ }
+
+ @Override
+ public void onEnable() {
+ this.registerListener(this.commandBlockListener);
+ }
+
+ private void registerListener(Listener listener) {
+ Bukkit.getPluginManager().registerEvents(listener, this);
+ }
+
+ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String label, String[] args) {
+ if (!(sender instanceof Player)) {
+ sender.sendMessage(ERROR_PREFIX + "Commands may only be run by players");
+ return true;
+ }
+ commandGroup.handleCommand((Player)sender, args);
+ return true;
+ }
+
+ public java.util.List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
+ if (!(sender instanceof Player)) {
+ sender.sendMessage(ERROR_PREFIX + "Commands may only be run by players");
+ return new ArrayList<>();
+ }
+ return commandGroup.handleTabComplete((Player)sender, args);
+ }
+
+}