From b2550b20a7606f328759d1950761e9fb37ba6e54 Mon Sep 17 00:00:00 2001 From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com> Date: Tue, 9 Nov 2021 22:15:36 -0500 Subject: [PATCH] Added reload command --- .../hmccosmetics/command/CosmeticsCommand.java | 18 ++++++++++++++++++ .../hmccosmetics/gui/CosmeticsMenu.java | 5 +++++ .../hmccosmetics/message/Messages.java | 2 ++ .../hmccosmetics/message/Permission.java | 1 + src/main/resources/messages.yml | 3 ++- src/main/resources/plugin.yml | 5 ++++- 6 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java b/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java index d63f162f..60b8e1e7 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/command/CosmeticsCommand.java @@ -5,6 +5,7 @@ import io.github.fisher2911.hmccosmetics.gui.ArmorItem; import io.github.fisher2911.hmccosmetics.gui.CosmeticsMenu; import io.github.fisher2911.hmccosmetics.gui.DyeSelectorGui; import io.github.fisher2911.hmccosmetics.message.MessageHandler; +import io.github.fisher2911.hmccosmetics.message.Messages; import io.github.fisher2911.hmccosmetics.user.User; import io.github.fisher2911.hmccosmetics.user.UserManager; import me.mattstudios.mf.annotations.Command; @@ -12,7 +13,9 @@ import me.mattstudios.mf.annotations.Default; import me.mattstudios.mf.annotations.Permission; import me.mattstudios.mf.annotations.SubCommand; import me.mattstudios.mf.base.CommandBase; +import org.bukkit.Bukkit; import org.bukkit.Color; +import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.Map; @@ -39,6 +42,21 @@ public class CosmeticsCommand extends CommandBase { this.cosmeticsMenu.openDefault(player); } + @SubCommand("reload") + @Permission(io.github.fisher2911.hmccosmetics.message.Permission.RELOAD_COMMAND) + public void reloadCommand(final CommandSender sender) { + Bukkit.getScheduler().runTaskAsynchronously( + this.plugin, + () -> { + this.cosmeticsMenu.reload(); + this.messageHandler.sendMessage( + sender, + Messages.RELOADED + ); + } + ); + } + @SubCommand("dye") @Permission(io.github.fisher2911.hmccosmetics.message.Permission.DYE_COMMAND) public void dyeArmor(final Player player, String typeString) { diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticsMenu.java b/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticsMenu.java index 939938e0..6d71ca6b 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticsMenu.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/gui/CosmeticsMenu.java @@ -38,7 +38,12 @@ public class CosmeticsMenu { this.openMenu(MAIN_MENU, humanEntity); } + public void reload() { + this.load(); + } + public void load() { + this.guiMap.clear(); final File file = Path.of(this.plugin.getDataFolder().getPath(), "menus").toFile(); diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/message/Messages.java b/src/main/java/io/github/fisher2911/hmccosmetics/message/Messages.java index f5255e62..c493981c 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/message/Messages.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/message/Messages.java @@ -14,4 +14,6 @@ public class Messages { new Message("removed-backpack", "Removed backpack"); public static final Message MUST_BE_PLAYER = new Message("must-be-player", "You must be a player to do this!"); + public static final Message RELOADED = + new Message("reloaded", "Config reloaded"); } diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/message/Permission.java b/src/main/java/io/github/fisher2911/hmccosmetics/message/Permission.java index 4a3f3ebf..43ef710c 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/message/Permission.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/message/Permission.java @@ -4,5 +4,6 @@ public class Permission { public static final String DEFAULT_COMMAND = "hmccosmetics.cmd.default"; public static final String DYE_COMMAND = "hmccosmetics.cmd.dye"; + public static final String RELOAD_COMMAND = "hmccosmetics.cmd.reload"; } diff --git a/src/main/resources/messages.yml b/src/main/resources/messages.yml index d8f6fa31..26c5b58a 100644 --- a/src/main/resources/messages.yml +++ b/src/main/resources/messages.yml @@ -3,4 +3,5 @@ set-hat: "Set Hat!" removed-hat: "Removed Hat" set-backpack: "Set Backpack!" removed-backpack: "Removed Backpack" -must-be-player: "You must be a player to do this!" \ No newline at end of file +must-be-player: "You must be a player to do this!" +reloaded: "Config files reloaded" \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index fecda60d..82aa6e34 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -8,4 +8,7 @@ permissions: description: Permission to execute the default command hmccosmetics.cmd.dye: default: op - description: Permission to dye armor \ No newline at end of file + description: Permission to dye armor + hmccosmetics.cmd.reload: + default: op + description: Permission to use the reload command \ No newline at end of file