diff --git a/src/main/java/com/expectale/customserverlinks/CustomServerLinks.java b/src/main/java/com/expectale/customserverlinks/CustomServerLinks.java index 6900a06..e84df8b 100644 --- a/src/main/java/com/expectale/customserverlinks/CustomServerLinks.java +++ b/src/main/java/com/expectale/customserverlinks/CustomServerLinks.java @@ -2,7 +2,6 @@ import com.expectale.customserverlinks.command.ServerLinksReloadCommand; import com.expectale.customserverlinks.serverlinks.ServerLinkManager; -import com.expectale.customserverlinks.listener.ServerLinkListener; import org.bukkit.plugin.java.JavaPlugin; import java.util.logging.Logger; @@ -18,7 +17,6 @@ public void onEnable() { LOGGER = getLogger(); saveDefaultConfig(); - getServer().getPluginManager().registerEvents(new ServerLinkListener(), this); getCommand("customserverlinks").setExecutor(new ServerLinksReloadCommand()); ServerLinkManager.reloadLinks(); diff --git a/src/main/java/com/expectale/customserverlinks/listener/ServerLinkListener.java b/src/main/java/com/expectale/customserverlinks/listener/ServerLinkListener.java deleted file mode 100644 index 2e2488c..0000000 --- a/src/main/java/com/expectale/customserverlinks/listener/ServerLinkListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.expectale.customserverlinks.listener; - -import com.expectale.customserverlinks.serverlinks.ServerLinkManager; -import com.expectale.customserverlinks.serverlinks.link.NamedServerLink; -import com.expectale.customserverlinks.serverlinks.link.TypedServerLink; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerLinksSendEvent; - -public class ServerLinkListener implements Listener { - - @EventHandler - public void onServerLinksSend(PlayerLinksSendEvent event) { - ServerLinkManager.getLinks() - .forEach(link -> { - if (link instanceof TypedServerLink typedLink) { - event.getLinks().addLink(typedLink.getType(), typedLink.getUrl()); - } else if (link instanceof NamedServerLink namedLink) { - event.getLinks().addLink(namedLink.name(), namedLink.getUrl()); - } - }); - - } - -} diff --git a/src/main/java/com/expectale/customserverlinks/serverlinks/ServerLinkManager.java b/src/main/java/com/expectale/customserverlinks/serverlinks/ServerLinkManager.java index a4a0c1d..3b8fccf 100644 --- a/src/main/java/com/expectale/customserverlinks/serverlinks/ServerLinkManager.java +++ b/src/main/java/com/expectale/customserverlinks/serverlinks/ServerLinkManager.java @@ -1,34 +1,20 @@ package com.expectale.customserverlinks.serverlinks; import com.expectale.customserverlinks.CustomServerLinks; -import com.expectale.customserverlinks.serverlinks.link.AbstractServerLink; -import com.expectale.customserverlinks.serverlinks.link.NamedServerLink; -import com.expectale.customserverlinks.serverlinks.link.TypedServerLink; import org.bukkit.ServerLinks; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import java.net.URI; import java.net.URISyntaxException; -import java.util.ArrayList; import java.util.Arrays; -import java.util.List; public class ServerLinkManager { - private static final List LINKS = new ArrayList<>(); - - public static void addLink(AbstractServerLink link) { - LINKS.add(link); - } - - public static List getLinks() { - return new ArrayList<>(LINKS); - } - public static void reloadLinks() { - LINKS.clear(); - FileConfiguration config = CustomServerLinks.INSTANCE.getConfig(); + clearServerLinks(); + CustomServerLinks instance = CustomServerLinks.INSTANCE; + FileConfiguration config = instance.getConfig(); for (String key : config.getKeys(false)) { ConfigurationSection section = config.getConfigurationSection(key); @@ -53,10 +39,11 @@ public static void reloadLinks() { continue; } + ServerLinks serverLinks = instance.getServer().getServerLinks(); if (type != null && isValidType(type)) { - addLink(new TypedServerLink(ServerLinks.Type.valueOf(type.toUpperCase()), url)); + serverLinks.addLink(ServerLinks.Type.valueOf(type.toUpperCase()), url); } else if (name != null) { - addLink(new NamedServerLink(name.replace("&", "§"), url)); + serverLinks.addLink(name.replace("&", "§"), url); } else { CustomServerLinks.LOGGER.warning("Could not load link for: " + key); } @@ -70,4 +57,9 @@ public static boolean isValidType(String value) { .map(Enum::name) .anyMatch(enumName -> enumName.equalsIgnoreCase(value.toUpperCase())); } + + public static void clearServerLinks() { + ServerLinks serverLinks = CustomServerLinks.INSTANCE.getServer().getServerLinks(); + serverLinks.getLinks().forEach(serverLinks::removeLink); + } } diff --git a/src/main/java/com/expectale/customserverlinks/serverlinks/link/AbstractServerLink.java b/src/main/java/com/expectale/customserverlinks/serverlinks/link/AbstractServerLink.java deleted file mode 100644 index e972ef5..0000000 --- a/src/main/java/com/expectale/customserverlinks/serverlinks/link/AbstractServerLink.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.expectale.customserverlinks.serverlinks.link; - -import java.net.URI; - -public abstract class AbstractServerLink { - - private final URI url; - - AbstractServerLink(URI url) { - this.url = url; - } - - public URI getUrl() { - return url; - } - -} diff --git a/src/main/java/com/expectale/customserverlinks/serverlinks/link/NamedServerLink.java b/src/main/java/com/expectale/customserverlinks/serverlinks/link/NamedServerLink.java deleted file mode 100644 index 3cc5547..0000000 --- a/src/main/java/com/expectale/customserverlinks/serverlinks/link/NamedServerLink.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.expectale.customserverlinks.serverlinks.link; - -import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.TextComponent; - -import java.net.URI; - -public class NamedServerLink extends AbstractServerLink { - - private final String name; - - public NamedServerLink(String name, URI url) { - super(url); - this.name = name; - } - - public String getName() { - return name; - } - - public TextComponent name() { - return Component.text(name); - } - -} diff --git a/src/main/java/com/expectale/customserverlinks/serverlinks/link/TypedServerLink.java b/src/main/java/com/expectale/customserverlinks/serverlinks/link/TypedServerLink.java deleted file mode 100644 index 1366876..0000000 --- a/src/main/java/com/expectale/customserverlinks/serverlinks/link/TypedServerLink.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.expectale.customserverlinks.serverlinks.link; - -import org.bukkit.ServerLinks; - -import java.net.URI; - -public class TypedServerLink extends AbstractServerLink { - - private final ServerLinks.Type type; - - public TypedServerLink(ServerLinks.Type type, URI url) { - super(url); - this.type = type; - } - - public ServerLinks.Type getType() { - return type; - } - -}