From 47dcf0e530cfd2eb4807bd584ddfc4a02c72d2e3 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Sun, 14 Dec 2025 19:24:39 +0000 Subject: [PATCH] Dateien nach "src/main/java/com/mviper/zenithjoin/commands" hochladen --- .../zenithjoin/commands/ReloadCommand.java | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 src/main/java/com/mviper/zenithjoin/commands/ReloadCommand.java diff --git a/src/main/java/com/mviper/zenithjoin/commands/ReloadCommand.java b/src/main/java/com/mviper/zenithjoin/commands/ReloadCommand.java new file mode 100644 index 0000000..775087d --- /dev/null +++ b/src/main/java/com/mviper/zenithjoin/commands/ReloadCommand.java @@ -0,0 +1,110 @@ +package com.mviper.zenithjoin.commands; + +import com.mviper.zenithjoin.Main; +import com.mviper.zenithjoin.config.ConfigManager; +import com.mviper.zenithjoin.config.MessagesManager; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.ClickEvent; +import net.md_5.bungee.api.chat.ComponentBuilder; +import net.md_5.bungee.api.chat.HoverEvent; +import net.md_5.bungee.api.chat.TextComponent; +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class ReloadCommand implements CommandExecutor { + + private final Main plugin; + + public ReloadCommand(Main plugin) { + this.plugin = plugin; + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + MessagesManager messagesManager = plugin.getMessagesManager(); + + if (!(sender instanceof Player)) { + sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&cThis command cannot be executed in console")); + return false; + } + + Player player = (Player) sender; + + if (args.length == 0) { + sendInfo(player); + } else if (args.length == 1) { + if (args[0].equalsIgnoreCase("help")) { + if (player.hasPermission("zenithjoin.help")) { + sendHelp(player); + } else { + player.sendMessage(ChatColor.translateAlternateColorCodes('&', + messagesManager.getMessage("SocialLinksHelp.perms"))); + } + } else if (args[0].equalsIgnoreCase("reload")) { + if (player.hasPermission("zenithjoin.reload")) { + reloadConfigs(player); + } else { + player.sendMessage(ChatColor.translateAlternateColorCodes('&', + messagesManager.getMessage("SocialLinksHelp.perms"))); + } + } else { + player.sendMessage(ChatColor.translateAlternateColorCodes('&', + "&cthe command you just entered does not exist")); + } + } else { + player.sendMessage(ChatColor.translateAlternateColorCodes('&', + "&cthe command you just entered does not exist")); + } + + return true; + } + + private void sendInfo(Player player) { + player.sendMessage(ChatColor.translateAlternateColorCodes('&', "")); + player.sendMessage(ChatColor.translateAlternateColorCodes('&', + " &B&LZenithJoin &fVersion &e" + plugin.getDescription().getVersion())); + player.sendMessage(ChatColor.translateAlternateColorCodes('&', " &fPlugin created by &eM_Viper")); + player.sendMessage(ChatColor.translateAlternateColorCodes('&', "")); + + TextComponent message = new TextComponent(); + message.setText(ChatColor.translateAlternateColorCodes('&', " &7/ZenithJoin help &bclick to see help")); + message.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/zenithjoin help")); + message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, + new ComponentBuilder("&7click to go to the help").create())); + player.spigot().sendMessage(message); + + player.sendMessage(ChatColor.translateAlternateColorCodes('&', "")); + } + + private void sendHelp(Player player) { + player.sendMessage(ChatColor.translateAlternateColorCodes('&', "")); + player.sendMessage(ChatColor.translateAlternateColorCodes('&', + " &B&LZenithJoin &fVersion &e" + plugin.getDescription().getVersion())); + player.sendMessage(ChatColor.translateAlternateColorCodes('&', " &b&lCommands ")); + player.sendMessage(ChatColor.translateAlternateColorCodes('&', "")); + + TextComponent reloadMessage = new TextComponent(); + reloadMessage.setText(ChatColor.translateAlternateColorCodes('&', + " &7/ZenithJoin reload &breload the config.yml and messages.yml")); + reloadMessage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/zenithjoin reload")); + reloadMessage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, + new ComponentBuilder("&7click to reload the plugin").create())); + player.spigot().sendMessage(reloadMessage); + + player.sendMessage(ChatColor.translateAlternateColorCodes('&', "")); + } + + private void reloadConfigs(Player player) { + ConfigManager configManager = plugin.getConfigManager(); + MessagesManager messagesManager = plugin.getMessagesManager(); + + configManager.reloadConfig(); + messagesManager.reloadMessages(); + + player.sendMessage(ChatColor.GREEN + + "The plugin has been successfully reloaded. Report any errors to M_Viper."); + } +} \ No newline at end of file