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 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); } }