diff options
| author | Freya Murphy <freya@freyacat.org> | 2026-03-19 21:47:24 -0400 |
|---|---|---|
| committer | Freya Murphy <freya@freyacat.org> | 2026-03-19 21:49:57 -0400 |
| commit | 9eaadd57b8b66409a39402a3f395336bd351a006 (patch) | |
| tree | 6928fd9f12c53870e21797013ecaf7abcb55738a /src/main/java/cat/freya/cbl/Main.java | |
| download | commandblocklocator-9eaadd57b8b66409a39402a3f395336bd351a006.tar.gz commandblocklocator-9eaadd57b8b66409a39402a3f395336bd351a006.tar.bz2 commandblocklocator-9eaadd57b8b66409a39402a3f395336bd351a006.zip | |
Diffstat (limited to 'src/main/java/cat/freya/cbl/Main.java')
| -rw-r--r-- | src/main/java/cat/freya/cbl/Main.java | 61 |
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); + } + +} |