From 3e6c671ccec8d65a52ec0a494b98a4a030674539 Mon Sep 17 00:00:00 2001 From: Jaime Martinez Rincon Date: Wed, 9 Aug 2017 13:31:16 +0200 Subject: [PATCH] Now the paste helper only pastes one time per plugin load (prevent limit) --- .../playerbalancer/PlayerBalancer.java | 4 ++++ .../playerbalancer/manager/PasteHelper.java | 20 +++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java b/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java index 2da4d50..c2f521b 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java +++ b/src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java @@ -6,6 +6,7 @@ import com.jaimemartz.playerbalancer.commands.ManageCommand; import com.jaimemartz.playerbalancer.configuration.ConfigEntries; import com.jaimemartz.playerbalancer.connection.ServerAssignRegistry; import com.jaimemartz.playerbalancer.listener.*; +import com.jaimemartz.playerbalancer.manager.PasteHelper; import com.jaimemartz.playerbalancer.manager.PlayerLocker; import com.jaimemartz.playerbalancer.ping.StatusManager; import com.jaimemartz.playerbalancer.section.SectionManager; @@ -22,6 +23,7 @@ import org.inventivetalent.update.bungee.BungeeUpdater; import java.io.IOException; import java.util.logging.Level; +import java.util.stream.Stream; public class PlayerBalancer extends Plugin { private static final int LAST_VER_CONFIG_UPDATE = 20950000; @@ -111,6 +113,8 @@ public class PlayerBalancer extends Plugin { getProxy().registerChannel("PlayerBalancer"); + Stream.of(PasteHelper.values()).forEach(a -> a.setUrl(null)); + if (ConfigEntries.RECONNECT_KICK_ENABLED.get()) { kickListener = new ServerKickListener(this); getProxy().getPluginManager().registerListener(this, kickListener); diff --git a/src/main/java/com/jaimemartz/playerbalancer/manager/PasteHelper.java b/src/main/java/com/jaimemartz/playerbalancer/manager/PasteHelper.java index a491fdb..ff8997b 100644 --- a/src/main/java/com/jaimemartz/playerbalancer/manager/PasteHelper.java +++ b/src/main/java/com/jaimemartz/playerbalancer/manager/PasteHelper.java @@ -4,18 +4,18 @@ import com.google.common.io.CharStreams; import com.jaimemartz.playerbalancer.PlayerBalancer; import com.jaimemartz.playerbalancer.utils.GuestPaste; import com.jaimemartz.playerbalancer.utils.GuestPaste.PasteException; +import lombok.Getter; +import lombok.Setter; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.CommandSender; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.api.scheduler.ScheduledTask; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.net.URL; -import java.util.concurrent.TimeUnit; import java.util.function.BiConsumer; public enum PasteHelper { @@ -89,8 +89,8 @@ public enum PasteHelper { } }; + @Getter @Setter private URL url; - private ScheduledTask task = null; private final BiConsumer consumer; PasteHelper(BiConsumer consumer) { @@ -98,15 +98,10 @@ public enum PasteHelper { } public void send(PlayerBalancer plugin, CommandSender sender) { + boolean cached = url != null; if (url == null) { try { url = paste(plugin); - if (task != null) { - task.cancel(); - } - task = plugin.getProxy().getScheduler().schedule(plugin, () -> { - url = null; - }, 5, TimeUnit.MINUTES); } catch (PasteException e) { sender.sendMessage(new ComponentBuilder("An pastebin exception occurred: " + e.getMessage()) .color(ChatColor.RED) @@ -123,7 +118,12 @@ public enum PasteHelper { } if (url != null) { - consumer.accept(sender, url); + if (cached) { + sender.sendMessage(new ComponentBuilder("This is a cached link, reload the plugin for it to refresh!") + .color(ChatColor.RED) + .create() + ); + } } }