From 0a63f52260a94a2592999cbd6038ab3bd2a7cdd6 Mon Sep 17 00:00:00 2001 From: Fly <67563726+FlyUltra@users.noreply.github.com> Date: Mon, 18 Jul 2022 01:08:12 +0200 Subject: [PATCH] Small code edit --- .../forestMotd/api/BungeeForestMOTDAPI.java | 2 +- .../forestMotd/api/SpigotForestMOTDAPI.java | 6 +++++ .../me/flyultra/forestMotd/bungee/Bungee.java | 7 +++-- .../bungee/listener/BungeeMOTDListener.java | 14 ++++++++-- .../bungee/manager/BungeeMOTDManager.java | 1 - .../spigot/listener/MOTDListener.java | 26 ++++++++++++++++--- .../spigot/manager/MOTDManager.java | 8 ++++++ src/main/resources/config.yml | 24 ++++++++++++----- 8 files changed, 71 insertions(+), 17 deletions(-) diff --git a/src/main/java/me/flyultra/forestMotd/api/BungeeForestMOTDAPI.java b/src/main/java/me/flyultra/forestMotd/api/BungeeForestMOTDAPI.java index 0752279..f847ebc 100644 --- a/src/main/java/me/flyultra/forestMotd/api/BungeeForestMOTDAPI.java +++ b/src/main/java/me/flyultra/forestMotd/api/BungeeForestMOTDAPI.java @@ -22,7 +22,7 @@ public static void changeMaxPlayers(int maxPlayers) { Bungee.getInstance().getBungeeMOTDManager().setMaxPlayers(maxPlayers); } - public static void changeHoverList(List list) { + public static void changeHoverBox(List list) { Bungee.getInstance().getBungeeMOTDManager().setHoverBox(list); } diff --git a/src/main/java/me/flyultra/forestMotd/api/SpigotForestMOTDAPI.java b/src/main/java/me/flyultra/forestMotd/api/SpigotForestMOTDAPI.java index b0d6069..028135e 100644 --- a/src/main/java/me/flyultra/forestMotd/api/SpigotForestMOTDAPI.java +++ b/src/main/java/me/flyultra/forestMotd/api/SpigotForestMOTDAPI.java @@ -2,6 +2,8 @@ import me.flyultra.forestMotd.spigot.Spigot; +import java.util.List; + public class SpigotForestMOTDAPI { public static void reloadData() { @@ -20,5 +22,9 @@ public static void changeMaxPlayers(int maxPlayers) { Spigot.getInstance().getMotdManager().setMaxPlayers(maxPlayers); } + public static void changeHoverBox(List hoverBox) { + Spigot.getInstance().getMotdManager().setHoverBox(hoverBox); + } + } diff --git a/src/main/java/me/flyultra/forestMotd/bungee/Bungee.java b/src/main/java/me/flyultra/forestMotd/bungee/Bungee.java index 2384665..81341a8 100644 --- a/src/main/java/me/flyultra/forestMotd/bungee/Bungee.java +++ b/src/main/java/me/flyultra/forestMotd/bungee/Bungee.java @@ -1,6 +1,7 @@ package me.flyultra.forestMotd.bungee; +import com.tchristofferson.configupdater.ConfigUpdater; import lombok.SneakyThrows; import me.flyultra.forestMotd.bungee.command.BungeeMOTDCommand; import me.flyultra.forestMotd.bungee.controller.BungeeMOTDController; @@ -95,9 +96,12 @@ public void listeners() { public void faviconSetup(String faviconName) { try { favicon = Favicon.create(ImageIO.read(new File(faviconName))); + if (favicon == null) { + getLogger().warning("Icon cant be loaded! (Wrong input)"); + return; + } } catch (IOException e) { e.printStackTrace(); - getLogger().warning("Icon cant be loaded! (Wrong input name)"); } } @@ -115,7 +119,6 @@ public void createNewYamlFiles(String... fileNameData) { for (String fileName : fileNameData) { File file = new File(Bungee.getInstance().getDataFolder(), fileName + ".yml"); - if (!file.exists()) { try (InputStream in = Bungee.getInstance().getResourceAsStream(fileName + ".yml")) { Files.copy(in, file.toPath()); diff --git a/src/main/java/me/flyultra/forestMotd/bungee/listener/BungeeMOTDListener.java b/src/main/java/me/flyultra/forestMotd/bungee/listener/BungeeMOTDListener.java index 3fb6031..7027add 100644 --- a/src/main/java/me/flyultra/forestMotd/bungee/listener/BungeeMOTDListener.java +++ b/src/main/java/me/flyultra/forestMotd/bungee/listener/BungeeMOTDListener.java @@ -20,7 +20,12 @@ public BungeeMOTDListener() { @EventHandler public void onBungeePing(ProxyPingEvent e) { ServerPing ping = e.getResponse(); - ping.setDescription(Utils.colorizeBungee(bungee.getBungeeMOTDManager().getMotdText().replace(":n:", "\n"))); + ping.setDescription(Utils.colorizeBungee(bungee.getBungeeMOTDManager().getMotdText() + .replace(":n:", "\n") + .replace("%online%", String.valueOf(ProxyServer.getInstance().getOnlineCount())) + .replace("%online%", ProxyServer.getInstance().getVersion()) + .replace("%configPlayersMax%", String.valueOf(bungee.getBungeeMOTDManager().getMaxPlayers())) + .replace("%defaultMax%", String.valueOf(ProxyServer.getInstance().getConfig().getPlayerLimit())))); ping.setPlayers(new ServerPing.Players(bungee.getBungeeMOTDManager().getMaxPlayers(), ProxyServer.getInstance().getOnlineCount(), null)); ping.setFavicon(bungee.getFavicon()); @@ -35,7 +40,12 @@ public ServerPing.PlayerInfo[] getHoverBoxProfiles() { int l = bungee.getBungeeMOTDManager().getHoverBox().size(); ServerPing.PlayerInfo[] lines = new ServerPing.PlayerInfo[l]; for (int i = 0; i < l; i++) { - lines[i] = new ServerPing.PlayerInfo(Utils.colorizeBungee(bungee.getBungeeMOTDManager().getHoverBox().get(i)), new UUID(0L, 0L)); + lines[i] = new ServerPing.PlayerInfo(Utils.colorizeBungee(bungee.getBungeeMOTDManager().getHoverBox().get(i) + .replace(":n:", "\n") + .replace("%online%", String.valueOf(ProxyServer.getInstance().getOnlineCount())) + .replace("%online%", ProxyServer.getInstance().getVersion()) + .replace("%configPlayersMax%", String.valueOf(bungee.getBungeeMOTDManager().getMaxPlayers())) + .replace("%defaultMax%", String.valueOf(ProxyServer.getInstance().getConfig().getPlayerLimit()))), new UUID(0L, 0L)); } return lines; } diff --git a/src/main/java/me/flyultra/forestMotd/bungee/manager/BungeeMOTDManager.java b/src/main/java/me/flyultra/forestMotd/bungee/manager/BungeeMOTDManager.java index 558f576..30fa069 100644 --- a/src/main/java/me/flyultra/forestMotd/bungee/manager/BungeeMOTDManager.java +++ b/src/main/java/me/flyultra/forestMotd/bungee/manager/BungeeMOTDManager.java @@ -60,7 +60,6 @@ public void setHoverBox(List hoverBoxL) { } - public int getMaxPlayers() { if (maxPlayers == -1) { return ProxyServer.getInstance().getConfig().getPlayerLimit(); diff --git a/src/main/java/me/flyultra/forestMotd/spigot/listener/MOTDListener.java b/src/main/java/me/flyultra/forestMotd/spigot/listener/MOTDListener.java index c8db515..98f6de1 100644 --- a/src/main/java/me/flyultra/forestMotd/spigot/listener/MOTDListener.java +++ b/src/main/java/me/flyultra/forestMotd/spigot/listener/MOTDListener.java @@ -10,6 +10,7 @@ import com.comphenix.protocol.wrappers.WrappedGameProfile; import me.flyultra.forestMotd.spigot.Spigot; import me.flyultra.forestMotd.utils.Utils; +import net.md_5.bungee.api.ProxyServer; import org.bukkit.Bukkit; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -30,14 +31,25 @@ public MOTDListener() { @EventHandler public void onPing(ServerListPingEvent e) { - e.setMotd(Utils.colorize(spigot.getMotdManager().getMotdText().replace(":n:", "\n"))); + e.setMotd(Utils.colorize(spigot.getMotdManager().getMotdText() + .replace(":n:", "\n") + .replace("%online%", String.valueOf(spigot.getServer().getOnlinePlayers().size())) + .replace("%version%", spigot.getServer().getBukkitVersion()) + .replace("%defaultMax%", String.valueOf(spigot.getServer().getMaxPlayers())) + .replace("%configPlayersMax%", String.valueOf(spigot.getMotdManager().getMaxPlayers())))); + e.setMaxPlayers(spigot.getMotdManager().getMaxPlayers()); try { + File icon = new File(spigot.getMotdManager().getIconName()); + if (!icon.exists()) { + spigot.getLogger().warning("Icon cant be loaded! (Wrong input)"); + return; + } e.setServerIcon(Bukkit.loadServerIcon(new File(spigot.getMotdManager().getIconName()))); } catch (Exception ex) { ex.printStackTrace(); } - if (spigot.getMotdManager().getHoverBox().size() != 0) { + if (spigot.getMotdManager().getHoverBox().size() != 0 && Bukkit.getServer().getPluginManager().getPlugin("ProtocolLib") != null) { List lines = getHoverBoxData(); ProtocolManager pm = ProtocolLibrary.getProtocolManager(); @@ -48,14 +60,20 @@ public void onPacketSending(PacketEvent event) { event.getPacket().getServerPings().read(0).setPlayers(lines); } }); - return; } } public List getHoverBoxData() { List lines = new ArrayList(); for (int i = 0; i < spigot.getMotdManager().getHoverBox().size(); i++) { - lines.add(new WrappedGameProfile(String.valueOf(i), Utils.colorize(spigot.getMotdManager().getHoverBox().get(i)))); + lines.add(new WrappedGameProfile(String.valueOf(i), Utils.colorize(spigot.getMotdManager().getHoverBox().get(i) + .replace(":n:", "\n") + .replace("%online%", String.valueOf(spigot.getServer().getOnlinePlayers().size())) + .replace("%version%", spigot.getServer().getBukkitVersion()) + .replace("%defaultMax%", String.valueOf(spigot.getServer().getMaxPlayers())) + .replace("%configPlayersMax%", String.valueOf(spigot.getMotdManager().getMaxPlayers()))) + + )); } diff --git a/src/main/java/me/flyultra/forestMotd/spigot/manager/MOTDManager.java b/src/main/java/me/flyultra/forestMotd/spigot/manager/MOTDManager.java index c3cdbfc..074c6f9 100644 --- a/src/main/java/me/flyultra/forestMotd/spigot/manager/MOTDManager.java +++ b/src/main/java/me/flyultra/forestMotd/spigot/manager/MOTDManager.java @@ -43,6 +43,11 @@ public void setMotdText(String motdTextS) { spigot.saveConfig(); } + public void setHoverBox(List hoverBoxL) { + hoverBox = hoverBoxL; + spigot.getConfig().set(ConfigOptions.MOTD_HOVER_BOX, hoverBoxL); + spigot.saveConfig(); + } public int getMaxPlayers() { if (maxPlayers == -1) { @@ -66,6 +71,9 @@ public String getMotdText() { } public List getHoverBox() { + if (hoverBox == null || hoverBox.size() == 0) { + spigot.getLogger().warning("Hover box is null!"); + } return hoverBox; } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 317a73c..410d5bb 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,21 +1,31 @@ # # ForestMOTD v1.0.1 # -# If you find bug or you have an idea for an adjustment, please contact us on +# | If you find bug or you have an idea for an adjustment, please contact us on # https://discord.com/invite/2PpdrfxhD4 # +# | %online% - Return number of players on server +# | %defaultMax% - Default server max server player size +# | %version% - Server version +# | %configPlayersMax% - Config player max number +# +# | Permission = forestMOTD.admin +# # -# MOTD data +# MOTD # -# Use ":n:" to do second line -# "maxPlayers: -1" This will set default server number +# | Use ":n:" to do second line +# "maxPlayers: -1" - This will set default server number # motd: maxPlayers: 69 - iconName: "icon.png" +# | 64x64 size icon + iconName: "server-icon.png" text: "{#30FF5A>}&lForest{#7DFFC2<}&f&lMOTD:n:&rBest server in the Universe!" -# Only for Bungee :/ +# +# | If you want to use hover box on spigot, download ProtocolLib! (5.0.0+) +# hoverBox: - "&c❤ &a&lForest&7&lTech &c❤" - " " @@ -23,7 +33,7 @@ motd: - " " # -# Messages +# | Messages # message: noPerm: "{#malachite>}&lForest{#bluestone<}&f&lMOTD &7You don't have sufficient permissions..."