diff --git a/src/main/java/com/expectale/customserverlinks/CustomServerLinks.java b/src/main/java/com/expectale/customserverlinks/CustomServerLinks.java index fc2e48c..6900a06 100644 --- a/src/main/java/com/expectale/customserverlinks/CustomServerLinks.java +++ b/src/main/java/com/expectale/customserverlinks/CustomServerLinks.java @@ -1,5 +1,6 @@ package com.expectale.customserverlinks; +import com.expectale.customserverlinks.command.ServerLinksReloadCommand; import com.expectale.customserverlinks.serverlinks.ServerLinkManager; import com.expectale.customserverlinks.listener.ServerLinkListener; import org.bukkit.plugin.java.JavaPlugin; @@ -18,6 +19,7 @@ public void onEnable() { saveDefaultConfig(); getServer().getPluginManager().registerEvents(new ServerLinkListener(), this); + getCommand("customserverlinks").setExecutor(new ServerLinksReloadCommand()); ServerLinkManager.reloadLinks(); LOGGER.info("CustomServerLinks enabled"); diff --git a/src/main/java/com/expectale/customserverlinks/command/ServerLinksReloadCommand.java b/src/main/java/com/expectale/customserverlinks/command/ServerLinksReloadCommand.java new file mode 100644 index 0000000..c2c7fec --- /dev/null +++ b/src/main/java/com/expectale/customserverlinks/command/ServerLinksReloadCommand.java @@ -0,0 +1,29 @@ +package com.expectale.customserverlinks.command; + +import com.expectale.customserverlinks.CustomServerLinks; +import com.expectale.customserverlinks.serverlinks.ServerLinkManager; +import net.kyori.adventure.text.Component; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.command.TabExecutor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class ServerLinksReloadCommand implements TabExecutor { + + @Override + public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + if (args.length == 0 || !args[0].equalsIgnoreCase("reload")) return false; + CustomServerLinks.INSTANCE.reloadConfig(); + ServerLinkManager.reloadLinks(); + sender.sendMessage(Component.text("§a[!] CustomServerLinks config have been reloaded")); + return true; + } + + @Override + public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { + return List.of("reload"); + } +} diff --git a/src/main/java/com/expectale/customserverlinks/serverlinks/ServerLinkManager.java b/src/main/java/com/expectale/customserverlinks/serverlinks/ServerLinkManager.java index 9c1ee8b..a4a0c1d 100644 --- a/src/main/java/com/expectale/customserverlinks/serverlinks/ServerLinkManager.java +++ b/src/main/java/com/expectale/customserverlinks/serverlinks/ServerLinkManager.java @@ -27,6 +27,7 @@ public static List getLinks() { } public static void reloadLinks() { + LINKS.clear(); FileConfiguration config = CustomServerLinks.INSTANCE.getConfig(); for (String key : config.getKeys(false)) { diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 529b755..e45d137 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,4 +2,11 @@ name: CustomServerLinks version: '${version}' main: com.expectale.customserverlinks.CustomServerLinks api-version: '1.21' -author: CptBeffHeart \ No newline at end of file +author: CptBeffHeart + +commands: + customserverlinks: + description: CustomServerLinks command + aliases: [ "cslink", "cslinks" ] + usage: /cslink reload + permission: "cslink.command" \ No newline at end of file