diff --git a/pom.xml b/pom.xml
index d191cb3..9909dea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
me.NVus
NVus_Prison_Setup
- 0.6.0
+ 0.6.1
jar
NVus_PrisonSetup
diff --git a/src/main/java/me/nvus/nvus_prison_setup/Listeners/CommandListener.java b/src/main/java/me/nvus/nvus_prison_setup/Listeners/CommandListener.java
new file mode 100644
index 0000000..6d1d36d
--- /dev/null
+++ b/src/main/java/me/nvus/nvus_prison_setup/Listeners/CommandListener.java
@@ -0,0 +1,81 @@
+package me.nvus.nvus_prison_setup.Listeners;
+
+import me.nvus.nvus_prison_setup.Configs.ConfigManager;
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.configuration.file.FileConfiguration;
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.java.JavaPlugin;
+
+public class CommandListener implements CommandExecutor {
+ private final JavaPlugin plugin;
+ private final ConfigManager configManager;
+
+ public CommandListener(JavaPlugin plugin, ConfigManager configManager) {
+ this.plugin = plugin;
+ this.configManager = configManager;
+ }
+
+ @Override
+ public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
+ // Check if the sender has the required permission
+ if (!sender.hasPermission("nvus.admin")) {
+ sender.sendMessage(ChatColor.RED + "You do not have permission to use this command.");
+ return true;
+ }
+
+ if (args.length == 0) {
+ sender.sendMessage(ChatColor.RED + "Usage: /nvus [arguments]");
+ return true;
+ }
+
+ switch (args[0].toLowerCase()) {
+ case "reload":
+ handleReloadCommand(sender);
+ break;
+ case "version":
+ handleVersionCommand(sender);
+ break;
+ case "autopickup":
+ if (args.length < 2) {
+ sender.sendMessage(ChatColor.RED + "Usage: /nvus autopickup ");
+ return true;
+ }
+ handleToggleConfigCommand(sender, "AutoPickup", args[1]);
+ break;
+ case "autoswitch":
+ if (args.length < 2) {
+ sender.sendMessage(ChatColor.RED + "Usage: /nvus autoswitch ");
+ return true;
+ }
+ handleToggleConfigCommand(sender, "AutoSwitch", args[1]);
+ break;
+ default:
+ sender.sendMessage(ChatColor.RED + "Invalid command. Use /nvus for help.");
+ return true;
+ }
+
+ return true;
+ }
+
+ private void handleReloadCommand(CommandSender sender) {
+ configManager.reloadConfig("config.yml");
+ configManager.reloadConfig("auto_switch.yml");
+ configManager.reloadConfig("banned_items.yml");
+ sender.sendMessage(ChatColor.GREEN + "Configuration files reloaded.");
+ }
+
+ private void handleVersionCommand(CommandSender sender) {
+ sender.sendMessage(ChatColor.GREEN + "Plugin version: " + plugin.getDescription().getVersion());
+ }
+
+ private void handleToggleConfigCommand(CommandSender sender, String key, String value) {
+ boolean boolValue = Boolean.parseBoolean(value);
+ FileConfiguration config = configManager.getConfig("config.yml");
+ config.set(key, boolValue);
+ configManager.saveConfig("config.yml");
+ sender.sendMessage(ChatColor.GREEN + key + " set to " + boolValue + ".");
+ }
+}
diff --git a/src/main/java/me/nvus/nvus_prison_setup/PrisonSetup.java b/src/main/java/me/nvus/nvus_prison_setup/PrisonSetup.java
index 8f42abf..2258438 100644
--- a/src/main/java/me/nvus/nvus_prison_setup/PrisonSetup.java
+++ b/src/main/java/me/nvus/nvus_prison_setup/PrisonSetup.java
@@ -1,6 +1,7 @@
package me.nvus.nvus_prison_setup;
import me.nvus.nvus_prison_setup.Configs.ConfigManager;
+import me.nvus.nvus_prison_setup.Listeners.CommandListener;
import me.nvus.nvus_prison_setup.Listeners.PlayerArmor;
import me.nvus.nvus_prison_setup.Listeners.PlayerItems;
import me.nvus.nvus_prison_setup.Listeners.PlayerSpawn;
@@ -29,6 +30,8 @@ public final class PrisonSetup extends JavaPlugin {
getServer().getPluginManager().registerEvents(new PlayerItems(configManager), this);
getServer().getPluginManager().registerEvents(new BlockListener(this), this);
getServer().getPluginManager().registerEvents(new ToolSwitchListener(configManager), this);
+ this.getCommand("nvus").setExecutor(new CommandListener(this, configManager));
+
getLogger().info(ChatColor.translateAlternateColorCodes('&',"&a&lNVus Prison Setup has been successfully enabled!"));
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 5642815..78a9013 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -5,3 +5,7 @@ api-version: '1.20'
prefix: NVus Prison
authors: [never2nv]
website: https://FNGnation.net
+commands:
+ nvus:
+ description: Base command for NVus Prison Setup
+ usage: / [arguments]