diff --git a/src/main/java/de/shiewk/smoderation/SModeration.java b/src/main/java/de/shiewk/smoderation/SModeration.java index 63f111a..f30d389 100644 --- a/src/main/java/de/shiewk/smoderation/SModeration.java +++ b/src/main/java/de/shiewk/smoderation/SModeration.java @@ -12,6 +12,7 @@ import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.TextColor; import net.kyori.adventure.text.logger.slf4j.ComponentLogger; import org.bukkit.command.PluginCommand; +import org.bukkit.command.TabExecutor; import org.bukkit.plugin.java.JavaPlugin; import java.io.File; @@ -45,54 +46,29 @@ public final class SModeration extends JavaPlugin { getPluginManager().registerEvents(new InvSeeEvents(), this); getPluginManager().registerEvents(new EnderchestSeeEvents(), this); - final PluginCommand mute = getCommand("mute"); - assert mute != null; - mute.setExecutor(new MuteCommand()); - mute.setTabCompleter(new MuteCommand()); - - final PluginCommand ban = getCommand("ban"); - assert ban != null; - ban.setExecutor(new BanCommand()); - ban.setTabCompleter(new BanCommand()); - - final PluginCommand kick = getCommand("kick"); - assert kick != null; - kick.setExecutor(new KickCommand()); - kick.setTabCompleter(new KickCommand()); - - final PluginCommand smod = getCommand("smod"); - assert smod != null; - smod.setExecutor(new SModCommand()); - smod.setTabCompleter(new SModCommand()); - - final PluginCommand logs = getCommand("modlogs"); - assert logs != null; - logs.setExecutor(new ModLogsCommand()); - logs.setTabCompleter(new ModLogsCommand()); - - final PluginCommand unmute = getCommand("unmute"); - assert unmute != null; - unmute.setExecutor(new UnmuteCommand()); - unmute.setTabCompleter(new UnmuteCommand()); - - final PluginCommand unban = getCommand("unban"); - assert unban != null; - unban.setExecutor(new UnbanCommand()); - unban.setTabCompleter(new UnbanCommand()); - - final PluginCommand invsee = getCommand("invsee"); - assert invsee != null; - invsee.setExecutor(new InvseeCommand()); - invsee.setTabCompleter(new InvseeCommand()); - - final PluginCommand ecsee = getCommand("enderchestsee"); - assert ecsee != null; - ecsee.setExecutor(new EnderchestSeeCommand()); - ecsee.setTabCompleter(new EnderchestSeeCommand()); + registerCommand("mute", new MuteCommand()); + registerCommand("ban", new BanCommand()); + registerCommand("kick", new KickCommand()); + registerCommand("smod", new SModCommand()); + registerCommand("modlogs", new ModLogsCommand()); + registerCommand("unmute", new UnmuteCommand()); + registerCommand("unban", new UnbanCommand()); + registerCommand("invsee", new InvseeCommand()); + registerCommand("enderchestsee", new EnderchestSeeCommand()); container.load(SAVE_FILE); } + private void registerCommand(String label, TabExecutor executor){ + final PluginCommand command = getCommand(label); + if (command != null) { + command.setExecutor(executor); + command.setTabCompleter(executor); + } else { + LOGGER.warn("Command %s failed to register: This command does not exist".formatted(label)); + } + } + @Override public void onDisable() { SModeration.container.save(SModeration.SAVE_FILE); diff --git a/src/main/java/de/shiewk/smoderation/command/BanCommand.java b/src/main/java/de/shiewk/smoderation/command/BanCommand.java index f282d6d..221038a 100644 --- a/src/main/java/de/shiewk/smoderation/command/BanCommand.java +++ b/src/main/java/de/shiewk/smoderation/command/BanCommand.java @@ -17,7 +17,7 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; -public class BanCommand implements CommandExecutor, TabCompleter { +public class BanCommand implements TabExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (args.length < 2){ diff --git a/src/main/java/de/shiewk/smoderation/command/EnderchestSeeCommand.java b/src/main/java/de/shiewk/smoderation/command/EnderchestSeeCommand.java index 1553896..63cc554 100644 --- a/src/main/java/de/shiewk/smoderation/command/EnderchestSeeCommand.java +++ b/src/main/java/de/shiewk/smoderation/command/EnderchestSeeCommand.java @@ -4,9 +4,8 @@ import de.shiewk.smoderation.util.PlayerUtil; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import org.bukkit.command.TabCompleter; +import org.bukkit.command.TabExecutor; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.util.StringUtil; @@ -18,7 +17,7 @@ import java.util.List; import static de.shiewk.smoderation.SModeration.*; -public class EnderchestSeeCommand implements CommandExecutor, TabCompleter { +public class EnderchestSeeCommand implements TabExecutor { @Override diff --git a/src/main/java/de/shiewk/smoderation/command/InvseeCommand.java b/src/main/java/de/shiewk/smoderation/command/InvseeCommand.java index 97250c1..65cec0a 100644 --- a/src/main/java/de/shiewk/smoderation/command/InvseeCommand.java +++ b/src/main/java/de/shiewk/smoderation/command/InvseeCommand.java @@ -4,9 +4,8 @@ import de.shiewk.smoderation.util.PlayerUtil; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import org.bukkit.command.TabCompleter; +import org.bukkit.command.TabExecutor; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.util.StringUtil; @@ -18,7 +17,7 @@ import java.util.List; import static de.shiewk.smoderation.SModeration.*; -public class InvseeCommand implements CommandExecutor, TabCompleter { +public class InvseeCommand implements TabExecutor { @Override diff --git a/src/main/java/de/shiewk/smoderation/command/KickCommand.java b/src/main/java/de/shiewk/smoderation/command/KickCommand.java index d3e74ad..f645cf4 100644 --- a/src/main/java/de/shiewk/smoderation/command/KickCommand.java +++ b/src/main/java/de/shiewk/smoderation/command/KickCommand.java @@ -16,7 +16,7 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; -public class KickCommand implements CommandExecutor, TabCompleter { +public class KickCommand implements TabExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (args.length < 1){ diff --git a/src/main/java/de/shiewk/smoderation/command/ModLogsCommand.java b/src/main/java/de/shiewk/smoderation/command/ModLogsCommand.java index 2a8913c..63fb990 100644 --- a/src/main/java/de/shiewk/smoderation/command/ModLogsCommand.java +++ b/src/main/java/de/shiewk/smoderation/command/ModLogsCommand.java @@ -9,9 +9,8 @@ import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Bukkit; import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import org.bukkit.command.TabCompleter; +import org.bukkit.command.TabExecutor; import org.bukkit.entity.Player; import org.bukkit.util.StringUtil; import org.jetbrains.annotations.NotNull; @@ -23,7 +22,7 @@ import java.util.UUID; import static de.shiewk.smoderation.SModeration.*; -public class ModLogsCommand implements CommandExecutor, TabCompleter { +public class ModLogsCommand implements TabExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (args.length < 1){ diff --git a/src/main/java/de/shiewk/smoderation/command/MuteCommand.java b/src/main/java/de/shiewk/smoderation/command/MuteCommand.java index dcb440c..c9ff39a 100644 --- a/src/main/java/de/shiewk/smoderation/command/MuteCommand.java +++ b/src/main/java/de/shiewk/smoderation/command/MuteCommand.java @@ -17,7 +17,7 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; -public class MuteCommand implements CommandExecutor, TabCompleter { +public class MuteCommand implements TabExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (args.length < 2){ diff --git a/src/main/java/de/shiewk/smoderation/command/SModCommand.java b/src/main/java/de/shiewk/smoderation/command/SModCommand.java index d2ab3ce..f0bccb8 100644 --- a/src/main/java/de/shiewk/smoderation/command/SModCommand.java +++ b/src/main/java/de/shiewk/smoderation/command/SModCommand.java @@ -3,16 +3,15 @@ package de.shiewk.smoderation.command; import de.shiewk.smoderation.SModeration; import de.shiewk.smoderation.inventory.SModMenu; import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import org.bukkit.command.TabCompleter; +import org.bukkit.command.TabExecutor; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; -public class SModCommand implements CommandExecutor, TabCompleter { +public class SModCommand implements TabExecutor { @Override public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) { if (commandSender instanceof Player player){ diff --git a/src/main/java/de/shiewk/smoderation/command/UnbanCommand.java b/src/main/java/de/shiewk/smoderation/command/UnbanCommand.java index 28005c7..070a69f 100644 --- a/src/main/java/de/shiewk/smoderation/command/UnbanCommand.java +++ b/src/main/java/de/shiewk/smoderation/command/UnbanCommand.java @@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.UUID; -public class UnbanCommand implements CommandExecutor, TabCompleter { +public class UnbanCommand implements TabExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (args.length < 1){ diff --git a/src/main/java/de/shiewk/smoderation/command/UnmuteCommand.java b/src/main/java/de/shiewk/smoderation/command/UnmuteCommand.java index c59f82f..13e4102 100644 --- a/src/main/java/de/shiewk/smoderation/command/UnmuteCommand.java +++ b/src/main/java/de/shiewk/smoderation/command/UnmuteCommand.java @@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.UUID; -public class UnmuteCommand implements CommandExecutor, TabCompleter { +public class UnmuteCommand implements TabExecutor { @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (args.length < 1){