From 2457cdff71a05652269ddbe656512ced194b1e26 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Mon, 26 Aug 2024 22:56:07 +0200 Subject: [PATCH] Rename Paper module, replace dump and update message sending with adventure components --- README.md | 2 +- build.gradle.kts | 2 +- .../bungee/MaintenanceBungeePlugin.java | 38 +++++----------- .../command/MaintenanceBungeeCommand.java | 16 ++----- .../maintenance/core/MaintenancePlugin.java | 34 ++++++++++++--- .../core/command/MaintenanceCommand.java | 16 ++++++- {spigot => paper}/build.gradle.kts | 0 .../paper/MaintenancePaperBase.java | 6 +-- .../paper/MaintenancePaperPlugin.java | 43 ++++++------------- .../command/MaintenancePaperCommand.java | 25 +++-------- .../listener/PaperServerListPingListener.java | 10 ++--- .../paper}/listener/PlayerLoginListener.java | 12 +++--- .../listener/ServerInfoPacketListener.java | 12 +++--- .../listener/ServerListPingListener.java | 10 ++--- .../paper}/util/BukkitOfflinePlayerInfo.java | 2 +- .../paper}/util/BukkitSenderInfo.java | 20 ++------- .../maintenance/paper}/util/BukkitTask.java | 2 +- .../paper}/util/ComponentUtil.java | 2 +- .../src/main/resources/plugin.yml | 2 +- settings.gradle.kts | 2 +- .../sponge/MaintenanceSpongePlugin.java | 41 +++++------------- .../command/MaintenanceSpongeCommand.java | 19 ++------ universal/build.gradle.kts | 2 +- .../velocity/MaintenanceVelocityPlugin.java | 23 +++------- .../command/MaintenanceVelocityCommand.java | 13 +----- 25 files changed, 134 insertions(+), 220 deletions(-) rename {spigot => paper}/build.gradle.kts (100%) rename spigot/src/main/java/eu/kennytv/maintenance/spigot/MaintenanceSpigotBase.java => paper/src/main/java/eu/kennytv/maintenance/paper/MaintenancePaperBase.java (87%) rename spigot/src/main/java/eu/kennytv/maintenance/spigot/MaintenanceSpigotPlugin.java => paper/src/main/java/eu/kennytv/maintenance/paper/MaintenancePaperPlugin.java (81%) rename spigot/src/main/java/eu/kennytv/maintenance/spigot/command/MaintenanceSpigotCommand.java => paper/src/main/java/eu/kennytv/maintenance/paper/command/MaintenancePaperCommand.java (59%) rename {spigot/src/main/java/eu/kennytv/maintenance/spigot => paper/src/main/java/eu/kennytv/maintenance/paper}/listener/PaperServerListPingListener.java (93%) rename {spigot/src/main/java/eu/kennytv/maintenance/spigot => paper/src/main/java/eu/kennytv/maintenance/paper}/listener/PlayerLoginListener.java (85%) rename {spigot/src/main/java/eu/kennytv/maintenance/spigot => paper/src/main/java/eu/kennytv/maintenance/paper}/listener/ServerInfoPacketListener.java (89%) rename {spigot/src/main/java/eu/kennytv/maintenance/spigot => paper/src/main/java/eu/kennytv/maintenance/paper}/listener/ServerListPingListener.java (87%) rename {spigot/src/main/java/eu/kennytv/maintenance/spigot => paper/src/main/java/eu/kennytv/maintenance/paper}/util/BukkitOfflinePlayerInfo.java (97%) rename {spigot/src/main/java/eu/kennytv/maintenance/spigot => paper/src/main/java/eu/kennytv/maintenance/paper}/util/BukkitSenderInfo.java (76%) rename {spigot/src/main/java/eu/kennytv/maintenance/spigot => paper/src/main/java/eu/kennytv/maintenance/paper}/util/BukkitTask.java (96%) rename {spigot/src/main/java/eu/kennytv/maintenance/spigot => paper/src/main/java/eu/kennytv/maintenance/paper}/util/ComponentUtil.java (97%) rename {spigot => paper}/src/main/resources/plugin.yml (86%) diff --git a/README.md b/README.md index 51e1669..bda4065 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Crowdin](https://badges.crowdin.net/maintenance/localized.svg)](https://crowdin.com/project/maintenance) [![Discord](https://img.shields.io/discord/489135856284729384.svg?label=Discord&logo=discord&logoColor=fff)](https://discord.gg/vGCUzHq) -Maintenance is the most customizable free maintenance plugin for your Minecraft server you can find. It runs on Spigot, BungeeCord, Sponge, as well as Velocity. +Maintenance is the most customizable free maintenance plugin for your Minecraft server you can find. It runs on Paper (also Spigot, but with limited functionality), BungeeCord, Sponge, as well as Velocity. Its features include: * A custom motd as well as server icon, that will be shown during maintenance diff --git a/build.gradle.kts b/build.gradle.kts index 91ddabf..68e0315 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,7 @@ allprojects { } val platforms = setOf( - projects.maintenanceSpigot, + projects.maintenancePaper, projects.maintenanceBungee, projects.maintenanceSponge, projects.maintenanceVelocity diff --git a/bungee/src/main/java/eu/kennytv/maintenance/bungee/MaintenanceBungeePlugin.java b/bungee/src/main/java/eu/kennytv/maintenance/bungee/MaintenanceBungeePlugin.java index 6c6c1c3..ddfc635 100644 --- a/bungee/src/main/java/eu/kennytv/maintenance/bungee/MaintenanceBungeePlugin.java +++ b/bungee/src/main/java/eu/kennytv/maintenance/bungee/MaintenanceBungeePlugin.java @@ -38,22 +38,6 @@ import eu.kennytv.maintenance.core.util.ServerType; import eu.kennytv.maintenance.core.util.Task; import eu.kennytv.maintenance.lib.kyori.adventure.platform.bungeecord.BungeeAudiences; import eu.kennytv.maintenance.lib.kyori.adventure.text.Component; -import net.md_5.bungee.api.CommandSender; -import net.md_5.bungee.api.Favicon; -import net.md_5.bungee.api.ProxyServer; -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 net.md_5.bungee.api.chat.hover.content.Text; -import net.md_5.bungee.api.config.ServerInfo; -import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.api.plugin.Plugin; -import net.md_5.bungee.api.plugin.PluginManager; -import org.bstats.bungeecord.Metrics; -import org.jetbrains.annotations.Nullable; - -import javax.imageio.ImageIO; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -65,6 +49,16 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; import java.util.logging.Logger; import java.util.stream.Collectors; +import javax.imageio.ImageIO; +import net.md_5.bungee.api.CommandSender; +import net.md_5.bungee.api.Favicon; +import net.md_5.bungee.api.ProxyServer; +import net.md_5.bungee.api.config.ServerInfo; +import net.md_5.bungee.api.connection.ProxiedPlayer; +import net.md_5.bungee.api.plugin.Plugin; +import net.md_5.bungee.api.plugin.PluginManager; +import org.bstats.bungeecord.Metrics; +import org.jetbrains.annotations.Nullable; public final class MaintenanceBungeePlugin extends MaintenanceProxyPlugin { private final MaintenanceBungeeBase plugin; @@ -108,18 +102,6 @@ public final class MaintenanceBungeePlugin extends MaintenanceProxyPlugin { } } - @Override - public void sendUpdateNotification(final SenderInfo sender) { - final TextComponent tc1 = new TextComponent(TextComponent.fromLegacyText(getPrefix())); - final TextComponent tc2 = new TextComponent(TextComponent.fromLegacyText("§cDownload it at: §6" + HANGAR_URL)); - final TextComponent click = new TextComponent(TextComponent.fromLegacyText(" §7§l§o(CLICK ME)")); - click.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, HANGAR_URL)); - click.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(new ComponentBuilder("§aDownload the latest version").create()))); - tc1.addExtra(tc2); - tc1.addExtra(click); - ((BungeeSenderInfo) sender).sendMessage(tc1); - } - public boolean isMaintenance(final ServerInfo serverInfo) { return settingsProxy.isMaintenance(serverInfo.getName()); } diff --git a/bungee/src/main/java/eu/kennytv/maintenance/bungee/command/MaintenanceBungeeCommand.java b/bungee/src/main/java/eu/kennytv/maintenance/bungee/command/MaintenanceBungeeCommand.java index f4bc4ef..8e99cde 100644 --- a/bungee/src/main/java/eu/kennytv/maintenance/bungee/command/MaintenanceBungeeCommand.java +++ b/bungee/src/main/java/eu/kennytv/maintenance/bungee/command/MaintenanceBungeeCommand.java @@ -22,16 +22,15 @@ import eu.kennytv.maintenance.bungee.util.BungeeSenderInfo; import eu.kennytv.maintenance.core.proxy.SettingsProxy; import eu.kennytv.maintenance.core.proxy.command.MaintenanceProxyCommand; import eu.kennytv.maintenance.core.util.SenderInfo; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.HoverEvent; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.connection.ProxiedPlayer; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - public final class MaintenanceBungeeCommand extends MaintenanceProxyCommand { private final MaintenanceBungeePlugin plugin; @@ -62,15 +61,6 @@ public final class MaintenanceBungeeCommand extends MaintenanceProxyCommand { return list; } - @Override - public void sendDumpMessage(final SenderInfo sender, final String url) { - final BungeeSenderInfo bungeeSender = ((BungeeSenderInfo) sender); - final TextComponent clickText = new TextComponent(plugin.getPrefix() + "§7Click here to copy the link"); - clickText.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, url)); - clickText.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.fromLegacyText("§aClick here to copy the link"))); - bungeeSender.sendMessage(clickText); - } - @Override public List getPlayersCompletion() { final List list = new ArrayList<>(); diff --git a/core/src/main/java/eu/kennytv/maintenance/core/MaintenancePlugin.java b/core/src/main/java/eu/kennytv/maintenance/core/MaintenancePlugin.java index a29400c..1221c54 100644 --- a/core/src/main/java/eu/kennytv/maintenance/core/MaintenancePlugin.java +++ b/core/src/main/java/eu/kennytv/maintenance/core/MaintenancePlugin.java @@ -37,8 +37,11 @@ import eu.kennytv.maintenance.core.util.ServerType; import eu.kennytv.maintenance.core.util.Task; import eu.kennytv.maintenance.core.util.Version; import eu.kennytv.maintenance.lib.kyori.adventure.text.Component; -import org.jetbrains.annotations.Nullable; - +import eu.kennytv.maintenance.lib.kyori.adventure.text.TextComponent; +import eu.kennytv.maintenance.lib.kyori.adventure.text.event.ClickEvent; +import eu.kennytv.maintenance.lib.kyori.adventure.text.event.HoverEvent; +import eu.kennytv.maintenance.lib.kyori.adventure.text.format.NamedTextColor; +import eu.kennytv.maintenance.lib.kyori.adventure.text.format.TextDecoration; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; @@ -61,6 +64,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; +import org.jetbrains.annotations.Nullable; public abstract class MaintenancePlugin implements Maintenance { public static final Gson GSON = new GsonBuilder().create(); @@ -71,7 +75,8 @@ public abstract class MaintenancePlugin implements Maintenance { protected ServerListPlusHook serverListPlusHook; protected MaintenanceRunnable runnable; protected MaintenanceCommand commandManager; - private final String prefix; + private final Component prefix; + private final String legacyPrefix; private final ServerType serverType; private Version newestVersion; private boolean debug; @@ -79,7 +84,13 @@ public abstract class MaintenancePlugin implements Maintenance { protected MaintenancePlugin(final String version, final ServerType serverType) { this.version = new Version(version); this.serverType = serverType; - this.prefix = "§8[§eMaintenance" + serverType + "§8] "; + this.legacyPrefix = "§8[§eMaintenance" + serverType + "§8] "; + this.prefix = Component.text() + .append(Component.text().content("[").color(NamedTextColor.DARK_GRAY)) + .append(Component.text().content("Maintenance").color(NamedTextColor.YELLOW)) + .append(Component.text().content("]").color(NamedTextColor.DARK_GRAY)) + .append(Component.text(" ")) + .build(); this.eventManager = new eu.kennytv.maintenance.core.event.EventManager(); MaintenanceProvider.setMaintenance(this); } @@ -406,7 +417,12 @@ public abstract class MaintenancePlugin implements Maintenance { return newestVersion; } + @Deprecated public String getPrefix() { + return legacyPrefix; + } + + public Component prefix() { return prefix; } @@ -436,7 +452,15 @@ public abstract class MaintenancePlugin implements Maintenance { public abstract void broadcast(Component component); - public abstract void sendUpdateNotification(SenderInfo sender); + public void sendUpdateNotification(final SenderInfo sender) { + final TextComponent text = Component.text().content("Download it at: ").color(NamedTextColor.RED) + .append(Component.text().content(HANGAR_URL).color(NamedTextColor.GOLD)) + .append(Component.text().content(" (CLICK ME)").color(NamedTextColor.GRAY).decorate(TextDecoration.BOLD)) + .clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, HANGAR_URL)) + .hoverEvent(HoverEvent.showText(Component.text("Download the latest version").color(NamedTextColor.GREEN))) + .build(); + sender.send(Component.text().append(this.prefix).append(text).build()); + } public abstract Task startMaintenanceRunnable(Runnable runnable); diff --git a/core/src/main/java/eu/kennytv/maintenance/core/command/MaintenanceCommand.java b/core/src/main/java/eu/kennytv/maintenance/core/command/MaintenanceCommand.java index a3fd320..d9f77f9 100644 --- a/core/src/main/java/eu/kennytv/maintenance/core/command/MaintenanceCommand.java +++ b/core/src/main/java/eu/kennytv/maintenance/core/command/MaintenanceCommand.java @@ -36,6 +36,11 @@ import eu.kennytv.maintenance.core.command.subcommand.WhitelistAddCommand; import eu.kennytv.maintenance.core.command.subcommand.WhitelistCommand; import eu.kennytv.maintenance.core.command.subcommand.WhitelistRemoveCommand; import eu.kennytv.maintenance.core.util.SenderInfo; +import eu.kennytv.maintenance.lib.kyori.adventure.text.Component; +import eu.kennytv.maintenance.lib.kyori.adventure.text.TextComponent; +import eu.kennytv.maintenance.lib.kyori.adventure.text.event.ClickEvent; +import eu.kennytv.maintenance.lib.kyori.adventure.text.event.HoverEvent; +import eu.kennytv.maintenance.lib.kyori.adventure.text.format.NamedTextColor; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashMap; @@ -162,8 +167,9 @@ public abstract class MaintenanceCommand { sender.sendMessage(plugin.getPrefix() + "§cNewest version available: §aVersion " + plugin.getNewestVersion() + "§c, you're on §a" + plugin.getVersion()); sender.sendMessage(plugin.getPrefix() + "§c§lWARNING: §cYou will have to restart the server to prevent further issues and to complete the update! If you can't do that, don't update!"); sendUpdateMessage(sender); - } else + } else { sender.sendMessage(plugin.getPrefix() + "§aYou already have the latest version of the plugin!"); + } } protected void sendUpdateMessage(final SenderInfo sender) { @@ -182,7 +188,13 @@ public abstract class MaintenanceCommand { return null; } - public abstract void sendDumpMessage(final SenderInfo sender, final String url); + public void sendDumpMessage(final SenderInfo sender, final String url) { + final TextComponent text = Component.text().content("Click here to copy the link").color(NamedTextColor.GRAY) + .clickEvent(ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, url)) + .hoverEvent(HoverEvent.showText(Component.text("Click here to copy the link").color(NamedTextColor.GREEN))) + .build(); + sender.send(Component.text().append(plugin.prefix()).append(text).build()); + } public List getCommands() { return commands; diff --git a/spigot/build.gradle.kts b/paper/build.gradle.kts similarity index 100% rename from spigot/build.gradle.kts rename to paper/build.gradle.kts diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/MaintenanceSpigotBase.java b/paper/src/main/java/eu/kennytv/maintenance/paper/MaintenancePaperBase.java similarity index 87% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/MaintenanceSpigotBase.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/MaintenancePaperBase.java index 2228b35..0054cf3 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/MaintenanceSpigotBase.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/MaintenancePaperBase.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot; +package eu.kennytv.maintenance.paper; import eu.kennytv.maintenance.api.Maintenance; import eu.kennytv.maintenance.core.MaintenanceBase; @@ -24,12 +24,12 @@ import org.bukkit.plugin.java.JavaPlugin; import java.io.File; -public final class MaintenanceSpigotBase extends JavaPlugin implements MaintenanceBase { +public final class MaintenancePaperBase extends JavaPlugin implements MaintenanceBase { private MaintenancePlugin maintenance; @Override public void onEnable() { - maintenance = new MaintenanceSpigotPlugin(this); + maintenance = new MaintenancePaperPlugin(this); } @Override diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/MaintenanceSpigotPlugin.java b/paper/src/main/java/eu/kennytv/maintenance/paper/MaintenancePaperPlugin.java similarity index 81% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/MaintenanceSpigotPlugin.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/MaintenancePaperPlugin.java index aab5dac..4e60ca5 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/MaintenanceSpigotPlugin.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/MaintenancePaperPlugin.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot; +package eu.kennytv.maintenance.paper; import eu.kennytv.maintenance.core.MaintenancePlugin; import eu.kennytv.maintenance.core.Settings; @@ -27,15 +27,14 @@ import eu.kennytv.maintenance.core.util.ServerType; import eu.kennytv.maintenance.core.util.Task; import eu.kennytv.maintenance.lib.kyori.adventure.platform.bukkit.BukkitAudiences; import eu.kennytv.maintenance.lib.kyori.adventure.text.Component; -import eu.kennytv.maintenance.spigot.command.MaintenanceSpigotCommand; -import eu.kennytv.maintenance.spigot.listener.PaperServerListPingListener; -import eu.kennytv.maintenance.spigot.listener.PlayerLoginListener; -import eu.kennytv.maintenance.spigot.listener.ServerInfoPacketListener; -import eu.kennytv.maintenance.spigot.listener.ServerListPingListener; -import eu.kennytv.maintenance.spigot.util.BukkitOfflinePlayerInfo; -import eu.kennytv.maintenance.spigot.util.BukkitSenderInfo; -import eu.kennytv.maintenance.spigot.util.BukkitTask; -import eu.kennytv.maintenance.spigot.util.ComponentUtil; +import eu.kennytv.maintenance.paper.command.MaintenancePaperCommand; +import eu.kennytv.maintenance.paper.listener.PaperServerListPingListener; +import eu.kennytv.maintenance.paper.listener.PlayerLoginListener; +import eu.kennytv.maintenance.paper.listener.ServerInfoPacketListener; +import eu.kennytv.maintenance.paper.listener.ServerListPingListener; +import eu.kennytv.maintenance.paper.util.BukkitOfflinePlayerInfo; +import eu.kennytv.maintenance.paper.util.BukkitTask; +import eu.kennytv.maintenance.paper.util.ComponentUtil; import java.io.File; import java.io.InputStream; import java.util.Arrays; @@ -45,10 +44,6 @@ import java.util.concurrent.CompletableFuture; import java.util.logging.Logger; import java.util.stream.Collectors; import javax.imageio.ImageIO; -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.bstats.bukkit.Metrics; import org.bukkit.OfflinePlayer; import org.bukkit.Server; @@ -59,13 +54,13 @@ import org.bukkit.plugin.PluginManager; import org.bukkit.util.CachedServerIcon; import org.jetbrains.annotations.Nullable; -public final class MaintenanceSpigotPlugin extends MaintenancePlugin { +public final class MaintenancePaperPlugin extends MaintenancePlugin { private static final boolean FOLIA = hasClass("io.papermc.paper.threadedregions.RegionizedServer"); - private final MaintenanceSpigotBase plugin; + private final MaintenancePaperBase plugin; private final BukkitAudiences audiences; private CachedServerIcon favicon; - MaintenanceSpigotPlugin(final MaintenanceSpigotBase plugin) { + MaintenancePaperPlugin(final MaintenancePaperBase plugin) { super(plugin.getDescription().getVersion(), ServerType.SPIGOT); this.plugin = plugin; this.audiences = BukkitAudiences.create(plugin); @@ -74,7 +69,7 @@ public final class MaintenanceSpigotPlugin extends MaintenancePlugin { sendEnableMessage(); - final MaintenanceSpigotCommand command = new MaintenanceSpigotCommand(this, settings); + final MaintenancePaperCommand command = new MaintenancePaperCommand(this, settings); commandManager = command; plugin.getCommand("maintenance").setExecutor(command); @@ -171,18 +166,6 @@ public final class MaintenanceSpigotPlugin extends MaintenancePlugin { audiences.all().sendMessage(component); } - @Override - public void sendUpdateNotification(final SenderInfo sender) { - final TextComponent tc1 = new TextComponent(TextComponent.fromLegacyText(getPrefix())); - final TextComponent tc2 = new TextComponent(TextComponent.fromLegacyText("§cDownload it at: §6" + HANGAR_URL)); - final TextComponent click = new TextComponent(TextComponent.fromLegacyText(" §7§l§o(CLICK ME)")); - click.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, HANGAR_URL)); - click.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§aDownload the latest version").create())); - tc1.addExtra(tc2); - tc1.addExtra(click); - ((BukkitSenderInfo) sender).sendMessage(tc1, getPrefix() + "§cDownload it at: §6" + HANGAR_URL); - } - @Override protected void kickPlayers() { for (final Player p : getServer().getOnlinePlayers()) { diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/command/MaintenanceSpigotCommand.java b/paper/src/main/java/eu/kennytv/maintenance/paper/command/MaintenancePaperCommand.java similarity index 59% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/command/MaintenanceSpigotCommand.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/command/MaintenancePaperCommand.java index 7587883..aa85aa8 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/command/MaintenanceSpigotCommand.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/command/MaintenancePaperCommand.java @@ -15,26 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot.command; +package eu.kennytv.maintenance.paper.command; import eu.kennytv.maintenance.core.Settings; import eu.kennytv.maintenance.core.command.MaintenanceCommand; -import eu.kennytv.maintenance.core.util.SenderInfo; -import eu.kennytv.maintenance.spigot.MaintenanceSpigotPlugin; -import eu.kennytv.maintenance.spigot.util.BukkitSenderInfo; -import net.md_5.bungee.api.chat.ClickEvent; -import net.md_5.bungee.api.chat.HoverEvent; -import net.md_5.bungee.api.chat.TextComponent; +import eu.kennytv.maintenance.paper.MaintenancePaperPlugin; +import eu.kennytv.maintenance.paper.util.BukkitSenderInfo; +import java.util.List; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.command.TabCompleter; -import java.util.List; +public final class MaintenancePaperCommand extends MaintenanceCommand implements CommandExecutor, TabCompleter { -public final class MaintenanceSpigotCommand extends MaintenanceCommand implements CommandExecutor, TabCompleter { - - public MaintenanceSpigotCommand(final MaintenanceSpigotPlugin plugin, final Settings settings) { + public MaintenancePaperCommand(final MaintenancePaperPlugin plugin, final Settings settings) { super(plugin, settings); registerCommands(); } @@ -49,12 +44,4 @@ public final class MaintenanceSpigotCommand extends MaintenanceCommand implement public List onTabComplete(final CommandSender sender, final Command command, final String alias, final String[] args) { return getSuggestions(new BukkitSenderInfo(sender), args); } - - @Override - public void sendDumpMessage(final SenderInfo sender, final String url) { - final TextComponent clickText = new TextComponent(plugin.getPrefix() + "§7Click here to copy the link)"); - clickText.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, url)); - clickText.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.fromLegacyText("§aClick here to copy the link"))); - ((BukkitSenderInfo) sender).sendMessage(clickText, null); - } } diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/PaperServerListPingListener.java b/paper/src/main/java/eu/kennytv/maintenance/paper/listener/PaperServerListPingListener.java similarity index 93% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/PaperServerListPingListener.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/listener/PaperServerListPingListener.java index 54fe27c..05e57d1 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/PaperServerListPingListener.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/listener/PaperServerListPingListener.java @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot.listener; +package eu.kennytv.maintenance.paper.listener; import com.destroystokyo.paper.event.server.PaperServerListPingEvent; import com.destroystokyo.paper.profile.PlayerProfile; import com.destroystokyo.paper.profile.ProfileProperty; import com.mojang.authlib.GameProfile; import eu.kennytv.maintenance.core.Settings; -import eu.kennytv.maintenance.spigot.MaintenanceSpigotPlugin; -import eu.kennytv.maintenance.spigot.util.ComponentUtil; +import eu.kennytv.maintenance.paper.MaintenancePaperPlugin; +import eu.kennytv.maintenance.paper.util.ComponentUtil; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -36,10 +36,10 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; public final class PaperServerListPingListener implements Listener { - private final MaintenanceSpigotPlugin plugin; + private final MaintenancePaperPlugin plugin; private final Settings settings; - public PaperServerListPingListener(final MaintenanceSpigotPlugin plugin, final Settings settings) { + public PaperServerListPingListener(final MaintenancePaperPlugin plugin, final Settings settings) { this.plugin = plugin; this.settings = settings; } diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/PlayerLoginListener.java b/paper/src/main/java/eu/kennytv/maintenance/paper/listener/PlayerLoginListener.java similarity index 85% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/PlayerLoginListener.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/listener/PlayerLoginListener.java index dee78dd..9a4876e 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/PlayerLoginListener.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/listener/PlayerLoginListener.java @@ -15,22 +15,22 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot.listener; +package eu.kennytv.maintenance.paper.listener; import eu.kennytv.maintenance.core.Settings; import eu.kennytv.maintenance.core.listener.JoinListenerBase; -import eu.kennytv.maintenance.spigot.MaintenanceSpigotPlugin; -import eu.kennytv.maintenance.spigot.util.BukkitSenderInfo; -import eu.kennytv.maintenance.spigot.util.ComponentUtil; +import eu.kennytv.maintenance.paper.MaintenancePaperPlugin; +import eu.kennytv.maintenance.paper.util.BukkitSenderInfo; +import eu.kennytv.maintenance.paper.util.ComponentUtil; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerLoginEvent; public final class PlayerLoginListener extends JoinListenerBase implements Listener { - private final MaintenanceSpigotPlugin plugin; + private final MaintenancePaperPlugin plugin; - public PlayerLoginListener(final MaintenanceSpigotPlugin plugin, final Settings settings) { + public PlayerLoginListener(final MaintenancePaperPlugin plugin, final Settings settings) { super(plugin, settings); this.plugin = plugin; } diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/ServerInfoPacketListener.java b/paper/src/main/java/eu/kennytv/maintenance/paper/listener/ServerInfoPacketListener.java similarity index 89% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/ServerInfoPacketListener.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/listener/ServerInfoPacketListener.java index 254be53..842b528 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/ServerInfoPacketListener.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/listener/ServerInfoPacketListener.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot.listener; +package eu.kennytv.maintenance.paper.listener; import com.comphenix.protocol.PacketType; import com.comphenix.protocol.ProtocolLibrary; @@ -25,9 +25,9 @@ import com.comphenix.protocol.events.PacketEvent; import com.comphenix.protocol.wrappers.WrappedGameProfile; import com.comphenix.protocol.wrappers.WrappedServerPing; import eu.kennytv.maintenance.core.Settings; -import eu.kennytv.maintenance.spigot.MaintenanceSpigotBase; -import eu.kennytv.maintenance.spigot.MaintenanceSpigotPlugin; -import eu.kennytv.maintenance.spigot.util.ComponentUtil; +import eu.kennytv.maintenance.paper.MaintenancePaperBase; +import eu.kennytv.maintenance.paper.MaintenancePaperPlugin; +import eu.kennytv.maintenance.paper.util.ComponentUtil; import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -38,10 +38,10 @@ import org.bukkit.event.server.ServerListPingEvent; public final class ServerInfoPacketListener extends PacketAdapter implements Listener { private static final UUID ZERO_UUID = new UUID(0, 0); - private final MaintenanceSpigotPlugin plugin; + private final MaintenancePaperPlugin plugin; private final Settings settings; - public ServerInfoPacketListener(final MaintenanceSpigotPlugin plugin, final MaintenanceSpigotBase base, final Settings settings) { + public ServerInfoPacketListener(final MaintenancePaperPlugin plugin, final MaintenancePaperBase base, final Settings settings) { super(base, ListenerPriority.HIGHEST, PacketType.Status.Server.SERVER_INFO); this.plugin = plugin; this.settings = settings; diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/ServerListPingListener.java b/paper/src/main/java/eu/kennytv/maintenance/paper/listener/ServerListPingListener.java similarity index 87% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/ServerListPingListener.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/listener/ServerListPingListener.java index 5631e7f..eed2264 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/listener/ServerListPingListener.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/listener/ServerListPingListener.java @@ -15,21 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot.listener; +package eu.kennytv.maintenance.paper.listener; import eu.kennytv.maintenance.core.Settings; -import eu.kennytv.maintenance.spigot.MaintenanceSpigotPlugin; -import eu.kennytv.maintenance.spigot.util.ComponentUtil; +import eu.kennytv.maintenance.paper.MaintenancePaperPlugin; +import eu.kennytv.maintenance.paper.util.ComponentUtil; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.server.ServerListPingEvent; public final class ServerListPingListener implements Listener { - private final MaintenanceSpigotPlugin plugin; + private final MaintenancePaperPlugin plugin; private final Settings settings; - public ServerListPingListener(final MaintenanceSpigotPlugin plugin, final Settings settings) { + public ServerListPingListener(final MaintenancePaperPlugin plugin, final Settings settings) { this.plugin = plugin; this.settings = settings; } diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/util/BukkitOfflinePlayerInfo.java b/paper/src/main/java/eu/kennytv/maintenance/paper/util/BukkitOfflinePlayerInfo.java similarity index 97% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/util/BukkitOfflinePlayerInfo.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/util/BukkitOfflinePlayerInfo.java index 53e8ecf..79cc902 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/util/BukkitOfflinePlayerInfo.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/util/BukkitOfflinePlayerInfo.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot.util; +package eu.kennytv.maintenance.paper.util; import eu.kennytv.maintenance.core.util.SenderInfo; import eu.kennytv.maintenance.lib.kyori.adventure.text.Component; diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/util/BukkitSenderInfo.java b/paper/src/main/java/eu/kennytv/maintenance/paper/util/BukkitSenderInfo.java similarity index 76% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/util/BukkitSenderInfo.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/util/BukkitSenderInfo.java index d29ac2b..8c72ddc 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/util/BukkitSenderInfo.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/util/BukkitSenderInfo.java @@ -15,19 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot.util; +package eu.kennytv.maintenance.paper.util; import eu.kennytv.maintenance.api.MaintenanceProvider; import eu.kennytv.maintenance.core.util.SenderInfo; import eu.kennytv.maintenance.lib.kyori.adventure.text.Component; -import eu.kennytv.maintenance.spigot.MaintenanceSpigotPlugin; -import net.md_5.bungee.api.chat.TextComponent; +import eu.kennytv.maintenance.paper.MaintenancePaperPlugin; +import java.util.UUID; import org.bukkit.command.CommandSender; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; -import java.util.UUID; - public final class BukkitSenderInfo implements SenderInfo { private final CommandSender sender; @@ -57,21 +55,11 @@ public final class BukkitSenderInfo implements SenderInfo { @Override public void send(final Component component) { - ((MaintenanceSpigotPlugin) MaintenanceProvider.get()).audiences().sender(sender).sendMessage(component); + ((MaintenancePaperPlugin) MaintenanceProvider.get()).audiences().sender(sender).sendMessage(component); } @Override public boolean isPlayer() { return sender instanceof Player; } - - public void sendMessage(final TextComponent textComponent, final String backup) { - try { - sender.spigot().sendMessage(textComponent); - } catch (final NoSuchMethodError ignored) { - if (backup != null) { - sender.sendMessage(backup); - } - } - } } diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/util/BukkitTask.java b/paper/src/main/java/eu/kennytv/maintenance/paper/util/BukkitTask.java similarity index 96% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/util/BukkitTask.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/util/BukkitTask.java index 91adfb8..0051b21 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/util/BukkitTask.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/util/BukkitTask.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot.util; +package eu.kennytv.maintenance.paper.util; import eu.kennytv.maintenance.core.util.Task; import org.bukkit.Bukkit; diff --git a/spigot/src/main/java/eu/kennytv/maintenance/spigot/util/ComponentUtil.java b/paper/src/main/java/eu/kennytv/maintenance/paper/util/ComponentUtil.java similarity index 97% rename from spigot/src/main/java/eu/kennytv/maintenance/spigot/util/ComponentUtil.java rename to paper/src/main/java/eu/kennytv/maintenance/paper/util/ComponentUtil.java index 5b49778..0fa8e6a 100644 --- a/spigot/src/main/java/eu/kennytv/maintenance/spigot/util/ComponentUtil.java +++ b/paper/src/main/java/eu/kennytv/maintenance/paper/util/ComponentUtil.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package eu.kennytv.maintenance.spigot.util; +package eu.kennytv.maintenance.paper.util; import com.google.gson.JsonElement; import eu.kennytv.maintenance.lib.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; diff --git a/spigot/src/main/resources/plugin.yml b/paper/src/main/resources/plugin.yml similarity index 86% rename from spigot/src/main/resources/plugin.yml rename to paper/src/main/resources/plugin.yml index 9642437..f68d264 100644 --- a/spigot/src/main/resources/plugin.yml +++ b/paper/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: Maintenance version: ${version} -main: eu.kennytv.maintenance.spigot.MaintenanceSpigotBase +main: eu.kennytv.maintenance.paper.MaintenancePaperBase author: kennytv description: ${description} softdepend: [ProtocolLib, ServerListPlus, ProtocolSupport, LuckPerms] diff --git a/settings.gradle.kts b/settings.gradle.kts index 0adb5f5..ae7abde 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -31,7 +31,7 @@ subproject("api") subproject("api-proxy") subproject("core") subproject("core-proxy") -subproject("spigot") +subproject("paper") subproject("sponge") subproject("bungee") subproject("velocity") diff --git a/sponge/src/main/java/eu/kennytv/maintenance/sponge/MaintenanceSpongePlugin.java b/sponge/src/main/java/eu/kennytv/maintenance/sponge/MaintenanceSpongePlugin.java index c3c927c..27f967a 100644 --- a/sponge/src/main/java/eu/kennytv/maintenance/sponge/MaintenanceSpongePlugin.java +++ b/sponge/src/main/java/eu/kennytv/maintenance/sponge/MaintenanceSpongePlugin.java @@ -36,8 +36,17 @@ import eu.kennytv.maintenance.sponge.util.LoggerWrapper; import eu.kennytv.maintenance.sponge.util.SpongePlayer; import eu.kennytv.maintenance.sponge.util.SpongeTask; import eu.kennytv.maintenance.sponge.util.SpongeUser; -import net.kyori.adventure.text.event.ClickEvent; -import net.kyori.adventure.text.event.HoverEvent; +import java.io.File; +import java.io.IOException; +import java.nio.file.Path; +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; +import java.util.logging.Logger; +import java.util.stream.Collectors; +import javax.imageio.ImageIO; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.bstats.sponge.Metrics; import org.jetbrains.annotations.Nullable; @@ -60,20 +69,6 @@ import org.spongepowered.plugin.builtin.jvm.Plugin; import org.spongepowered.plugin.metadata.PluginMetadata; import org.spongepowered.plugin.metadata.model.PluginContributor; -import javax.imageio.ImageIO; -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.nio.file.Path; -import java.util.List; -import java.util.Optional; -import java.util.UUID; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.TimeUnit; -import java.util.logging.Logger; -import java.util.stream.Collectors; - @Plugin("maintenance") public final class MaintenanceSpongePlugin extends MaintenancePlugin { @@ -164,20 +159,6 @@ public final class MaintenanceSpongePlugin extends MaintenancePlugin { game.server().sendMessage(ComponentUtil.toSponge(component)); } - @Override - public void sendUpdateNotification(final SenderInfo sender) { - try { - final net.kyori.adventure.text.Component component = net.kyori.adventure.text.Component.text().append(translate(getPrefix())) - .append(translate("§cDownload it at: §6" + HANGAR_URL)) - .append(translate(" §7§l§o(CLICK ME)")) - .clickEvent(ClickEvent.openUrl(new URL(HANGAR_URL))) - .hoverEvent(HoverEvent.showText(translate("§7§l§o(CLICK ME)"))).build(); - ((SpongePlayer) sender).send(component); - } catch (final MalformedURLException e) { - e.printStackTrace(); - } - } - @Override public CompletableFuture<@Nullable SenderInfo> getOfflinePlayer(final String name) { final Optional player = game.server().player(name); diff --git a/sponge/src/main/java/eu/kennytv/maintenance/sponge/command/MaintenanceSpongeCommand.java b/sponge/src/main/java/eu/kennytv/maintenance/sponge/command/MaintenanceSpongeCommand.java index aebfd5a..fc14b39 100644 --- a/sponge/src/main/java/eu/kennytv/maintenance/sponge/command/MaintenanceSpongeCommand.java +++ b/sponge/src/main/java/eu/kennytv/maintenance/sponge/command/MaintenanceSpongeCommand.java @@ -19,12 +19,13 @@ package eu.kennytv.maintenance.sponge.command; import eu.kennytv.maintenance.core.Settings; import eu.kennytv.maintenance.core.command.MaintenanceCommand; -import eu.kennytv.maintenance.core.util.SenderInfo; import eu.kennytv.maintenance.sponge.MaintenanceSpongePlugin; import eu.kennytv.maintenance.sponge.util.SpongeSenderInfo; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.event.ClickEvent; -import net.kyori.adventure.text.event.HoverEvent; import org.spongepowered.api.command.Command; import org.spongepowered.api.command.CommandCause; import org.spongepowered.api.command.CommandCompletion; @@ -32,11 +33,6 @@ import org.spongepowered.api.command.CommandResult; import org.spongepowered.api.command.parameter.ArgumentReader; import org.spongepowered.api.entity.living.player.Player; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; - public final class MaintenanceSpongeCommand extends MaintenanceCommand implements Command.Raw { private final MaintenanceSpongePlugin plugin; private static final String[] EMPTY = new String[0]; @@ -86,13 +82,6 @@ public final class MaintenanceSpongeCommand extends MaintenanceCommand implement return null; } - @Override - public void sendDumpMessage(final SenderInfo sender, final String url) { - final SpongeSenderInfo spongeSender = ((SpongeSenderInfo) sender); - spongeSender.send(Component.text().append(plugin.translate(plugin.getPrefix() + "§7Click here to copy the link")).clickEvent(ClickEvent.suggestCommand(url)) - .hoverEvent(HoverEvent.showText(plugin.translate("§aClick here to copy the link"))).build()); - } - @Override public List getPlayersCompletion() { final List list = new ArrayList<>(); diff --git a/universal/build.gradle.kts b/universal/build.gradle.kts index a93c5ed..3c5cb26 100644 --- a/universal/build.gradle.kts +++ b/universal/build.gradle.kts @@ -6,7 +6,7 @@ plugins { // Not actually universal:tm: val platforms = setOf( - rootProject.projects.maintenanceSpigot, + rootProject.projects.maintenancePaper, rootProject.projects.maintenanceBungee, ).map { it.dependencyProject } diff --git a/velocity/src/main/java/eu/kennytv/maintenance/velocity/MaintenanceVelocityPlugin.java b/velocity/src/main/java/eu/kennytv/maintenance/velocity/MaintenanceVelocityPlugin.java index 04f480b..513be90 100644 --- a/velocity/src/main/java/eu/kennytv/maintenance/velocity/MaintenanceVelocityPlugin.java +++ b/velocity/src/main/java/eu/kennytv/maintenance/velocity/MaintenanceVelocityPlugin.java @@ -57,17 +57,8 @@ import eu.kennytv.maintenance.velocity.util.LoggerWrapper; import eu.kennytv.maintenance.velocity.util.VelocitySenderInfo; import eu.kennytv.maintenance.velocity.util.VelocityServer; import eu.kennytv.maintenance.velocity.util.VelocityTask; -import net.kyori.adventure.text.TextComponent; -import net.kyori.adventure.text.event.ClickEvent; -import net.kyori.adventure.text.event.HoverEvent; -import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; -import org.bstats.velocity.Metrics; -import org.jetbrains.annotations.Nullable; - -import javax.imageio.ImageIO; import java.io.File; import java.io.IOException; -import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.util.List; import java.util.Optional; @@ -77,6 +68,11 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; import java.util.logging.Logger; import java.util.stream.Collectors; +import javax.imageio.ImageIO; +import net.kyori.adventure.text.TextComponent; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; +import org.bstats.velocity.Metrics; +import org.jetbrains.annotations.Nullable; @Plugin(id = "maintenance", name = "Maintenance", version = MaintenanceVersion.VERSION, authors = "kennytv", description = "Enable maintenance mode with a custom maintenance motd and icon.", url = MaintenancePlugin.HANGAR_URL, @@ -142,15 +138,6 @@ public final class MaintenanceVelocityPlugin extends MaintenanceProxyPlugin { disable(); } - @Override - public void sendUpdateNotification(final SenderInfo sender) { - final TextComponent component = translate(getPrefix()).append(translate("§cDownload it at: §6" + HANGAR_URL)); - final TextComponent clickText = translate(" §7§l§o(CLICK ME)") - .clickEvent(ClickEvent.openUrl(HANGAR_URL)) - .hoverEvent(HoverEvent.showText(translate("§aDownload the latest version"))); - ((VelocitySenderInfo) sender).sendMessage(component.append(clickText)); - } - public boolean isMaintenance(final RegisteredServer serverInfo) { return settingsProxy.isMaintenance(serverInfo.getServerInfo().getName()); } diff --git a/velocity/src/main/java/eu/kennytv/maintenance/velocity/command/MaintenanceVelocityCommand.java b/velocity/src/main/java/eu/kennytv/maintenance/velocity/command/MaintenanceVelocityCommand.java index 1e7e075..8b1cb00 100644 --- a/velocity/src/main/java/eu/kennytv/maintenance/velocity/command/MaintenanceVelocityCommand.java +++ b/velocity/src/main/java/eu/kennytv/maintenance/velocity/command/MaintenanceVelocityCommand.java @@ -26,14 +26,13 @@ import eu.kennytv.maintenance.core.proxy.command.MaintenanceProxyCommand; import eu.kennytv.maintenance.core.util.SenderInfo; import eu.kennytv.maintenance.velocity.MaintenanceVelocityPlugin; import eu.kennytv.maintenance.velocity.util.VelocitySenderInfo; +import java.util.ArrayList; +import java.util.List; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.event.HoverEvent; -import java.util.ArrayList; -import java.util.List; - public final class MaintenanceVelocityCommand extends MaintenanceProxyCommand implements SimpleCommand { private final MaintenanceVelocityPlugin plugin; @@ -68,14 +67,6 @@ public final class MaintenanceVelocityCommand extends MaintenanceProxyCommand im ((VelocitySenderInfo) sender).sendMessage(tc); } - @Override - public void sendDumpMessage(final SenderInfo sender, final String url) { - final TextComponent clickText = Component.text("").append(plugin.translate(plugin.getPrefix() + "§7Click here to copy the link.")) - .clickEvent(ClickEvent.suggestCommand(url)) - .hoverEvent(HoverEvent.showText(plugin.translate("§aClick here to copy the link"))); - ((VelocitySenderInfo) sender).sendMessage(clickText); - } - @Override public List getServersCompletion(final String s) { final List list = new ArrayList<>();