From 7c46affc9ad266393a4cf494b86c063dff74536f Mon Sep 17 00:00:00 2001 From: Daniel Walsh Date: Sun, 13 Oct 2019 13:42:07 +0100 Subject: [PATCH 1/6] Order timings --- .../Slimefun/api/TickerTask.java | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java index 4fef1860d..e7c5bcd44 100644 --- a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java +++ b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java @@ -1,11 +1,14 @@ package me.mrCookieSlime.Slimefun.api; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.logging.Level; +import java.util.stream.Collectors; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -202,20 +205,27 @@ public class TickerTask implements Runnable { tellraw.addText(" &7&oHover for more Info"); StringBuilder hover = new StringBuilder(); int hidden = 0; - - for (Map.Entry entry: machineCount.entrySet()) { - long timings = machineTimings.get(entry.getKey()); - if (timings > 0) hover.append("\n&c").append(entry.getKey()).append(" - ").append(entry.getValue()).append("x &7(").append(timings).append("ms)"); - else hidden++; + + Map timings = chunkTimings.entrySet().stream() + .sorted(Comparator.comparingLong(machineTimings::get).reversed()) + .collect(Collectors.toMap(Map.Entry::getKey, machineTimings::get, (e1, e2) -> e1, LinkedHashMap::new)); + + for (Map.Entry entry : timings.entrySet()) { + if (entry.getValue() > 0) + hover.append("\n&c").append(entry.getKey()).append(" - ") + .append(entry.getValue()).append("x &7(").append(entry.getValue()).append("ms, ") + .append(entry.getValue() / machineCount.get(entry.getKey())).append("ms avg/machine)"); + else + hidden++; } - + hover.append("\n\n&c+ &4").append(hidden).append(" Hidden"); tellraw.addHoverEvent(HoverAction.SHOW_TEXT, hover.toString()); - + try { tellraw.send((Player) sender); } catch (Exception x) { - Slimefun.getLogger().log(Level.SEVERE, "An Error occured while sending a Timings Summary for Slimefun " + Slimefun.getVersion(), x); + Slimefun.getLogger().log(Level.SEVERE, "An Error occurred while sending a Timings Summary for Slimefun " + Slimefun.getVersion(), x); } } else { @@ -238,14 +248,19 @@ public class TickerTask implements Runnable { tellraw.addText(" &7&oHover for more Info"); StringBuilder hover = new StringBuilder(); int hidden = 0; - - for (Map.Entry entry: chunkTimings.entrySet()) { + + Map timings = chunkTimings.entrySet().stream() + .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new)); + + for (Map.Entry entry: timings.entrySet()) { if (!chunksSkipped.contains(entry.getKey())) { if (entry.getValue() > 0) hover.append("\n&c").append(entry.getKey().replace("CraftChunk", "")).append(" - ") .append(chunkItemCount.getOrDefault(entry.getKey(), 0)) .append("x &7(").append(entry.getValue()).append("ms)"); - else hidden++; + else + hidden++; } } @@ -255,7 +270,7 @@ public class TickerTask implements Runnable { try { tellraw.send((Player) sender); } catch (Exception x) { - Slimefun.getLogger().log(Level.SEVERE, "An Error occured while sending a Timings Summary for Slimefun " + Slimefun.getVersion(), x); + Slimefun.getLogger().log(Level.SEVERE, "An Error occurred while sending a Timings Summary for Slimefun " + Slimefun.getVersion(), x); } } else { From c17d4f5afcfaa9795a4611fe5733620fb8de3814 Mon Sep 17 00:00:00 2001 From: Daniel Walsh Date: Sun, 13 Oct 2019 15:25:57 +0100 Subject: [PATCH 2/6] fix dat --- src/me/mrCookieSlime/Slimefun/api/TickerTask.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java index e7c5bcd44..ffb939706 100644 --- a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java +++ b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java @@ -206,7 +206,7 @@ public class TickerTask implements Runnable { StringBuilder hover = new StringBuilder(); int hidden = 0; - Map timings = chunkTimings.entrySet().stream() + Map timings = machineCount.entrySet().stream() .sorted(Comparator.comparingLong(machineTimings::get).reversed()) .collect(Collectors.toMap(Map.Entry::getKey, machineTimings::get, (e1, e2) -> e1, LinkedHashMap::new)); From 5c5214bebabfb5f944f5f58fa392b812a27f5fef Mon Sep 17 00:00:00 2001 From: Daniel Walsh Date: Sun, 13 Oct 2019 17:06:45 +0100 Subject: [PATCH 3/6] Fix 2 --- src/me/mrCookieSlime/Slimefun/api/TickerTask.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java index ffb939706..81599815c 100644 --- a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java +++ b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java @@ -1,5 +1,6 @@ package me.mrCookieSlime.Slimefun.api; +import java.util.AbstractMap; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; @@ -206,15 +207,17 @@ public class TickerTask implements Runnable { StringBuilder hover = new StringBuilder(); int hidden = 0; - Map timings = machineCount.entrySet().stream() - .sorted(Comparator.comparingLong(machineTimings::get).reversed()) - .collect(Collectors.toMap(Map.Entry::getKey, machineTimings::get, (e1, e2) -> e1, LinkedHashMap::new)); + Map timings = machineCount.keySet().stream() + .map(key -> new AbstractMap.SimpleEntry<>(key, machineTimings.getOrDefault(key, 0L))) + .sorted((o1, o2) -> o2.getValue().compareTo(o1.getValue())) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new)); for (Map.Entry entry : timings.entrySet()) { + int count = machineCount.getOrDefault(entry.getKey(), 0); if (entry.getValue() > 0) hover.append("\n&c").append(entry.getKey()).append(" - ") - .append(entry.getValue()).append("x &7(").append(entry.getValue()).append("ms, ") - .append(entry.getValue() / machineCount.get(entry.getKey())).append("ms avg/machine)"); + .append(count).append("x &7(").append(entry.getValue()).append("ms, ") + .append(entry.getValue() / count).append("ms avg/machine)"); else hidden++; } From 22a9f8955a5728a9cc6f957d4a53fdedc5cc0083 Mon Sep 17 00:00:00 2001 From: Daniel Walsh Date: Sun, 13 Oct 2019 17:32:42 +0100 Subject: [PATCH 4/6] Improve and also order console output --- .../Slimefun/api/TickerTask.java | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java index 81599815c..19c8e5860 100644 --- a/src/me/mrCookieSlime/Slimefun/api/TickerTask.java +++ b/src/me/mrCookieSlime/Slimefun/api/TickerTask.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.logging.Level; @@ -20,6 +21,7 @@ import org.bukkit.block.Block; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import io.github.thebusybiscuit.cscorelib2.chat.ChatColors; import me.mrCookieSlime.CSCoreLibPlugin.general.Chat.TellRawMessage; import me.mrCookieSlime.CSCoreLibPlugin.general.Chat.TellRawMessage.HoverAction; import me.mrCookieSlime.Slimefun.SlimefunPlugin; @@ -200,20 +202,20 @@ public class TickerTask implements Runnable { sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&6Skipped Machines: &e" + skipped)); sender.sendMessage(""); sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&6Ticking Machines:")); - + + List> timings = machineCount.keySet().stream() + .map(key -> new AbstractMap.SimpleEntry<>(key, machineTimings.getOrDefault(key, 0L))) + .sorted((o1, o2) -> o2.getValue().compareTo(o1.getValue())) + .collect(Collectors.toList()); + if (sender instanceof Player) { TellRawMessage tellraw = new TellRawMessage(); tellraw.addText(" &7&oHover for more Info"); StringBuilder hover = new StringBuilder(); int hidden = 0; - Map timings = machineCount.keySet().stream() - .map(key -> new AbstractMap.SimpleEntry<>(key, machineTimings.getOrDefault(key, 0L))) - .sorted((o1, o2) -> o2.getValue().compareTo(o1.getValue())) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new)); - - for (Map.Entry entry : timings.entrySet()) { - int count = machineCount.getOrDefault(entry.getKey(), 0); + for (Map.Entry entry : timings) { + int count = machineCount.get(entry.getKey()); if (entry.getValue() > 0) hover.append("\n&c").append(entry.getKey()).append(" - ") .append(count).append("x &7(").append(entry.getValue()).append("ms, ") @@ -233,30 +235,33 @@ public class TickerTask implements Runnable { } else { int hidden = 0; - - for (Map.Entry entry: machineCount.entrySet()) { - long timings = machineTimings.get(entry.getKey()); - if (timings > 0) sender.sendMessage(ChatColor.translateAlternateColorCodes('&', " &e" + entry.getKey() + " - " + entry.getValue()+ "x &7(" + timings + "ms)")); - else hidden++; + + for (Map.Entry entry: timings) { + int count = machineCount.get(entry.getKey()); + if (entry.getValue() > 0) + sender.sendMessage(ChatColors.color(" &e" + entry.getKey() + " - " + count + "x &7(" + entry.getValue() + "ms" + + ", " + (entry.getValue() / count) + "ms avg/machine)")); + else + hidden++; } - + sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&c+ &4" + hidden + " Hidden")); } sender.sendMessage(""); sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&6Ticking Chunks:")); - + + timings = chunkTimings.entrySet().stream() + .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) + .collect(Collectors.toList()); + if (sender instanceof Player) { TellRawMessage tellraw = new TellRawMessage(); tellraw.addText(" &7&oHover for more Info"); StringBuilder hover = new StringBuilder(); int hidden = 0; - Map timings = chunkTimings.entrySet().stream() - .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) - .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new)); - - for (Map.Entry entry: timings.entrySet()) { + for (Map.Entry entry: timings) { if (!chunksSkipped.contains(entry.getKey())) { if (entry.getValue() > 0) hover.append("\n&c").append(entry.getKey().replace("CraftChunk", "")).append(" - ") @@ -278,7 +283,7 @@ public class TickerTask implements Runnable { } else { int hidden = 0; - for (Map.Entry entry: chunkTimings.entrySet()) { + for (Map.Entry entry: timings) { if (!chunksSkipped.contains(entry.getKey())) { if (entry.getValue() > 0) sender.sendMessage(" &c" + entry.getKey().replace("CraftChunk", "") + " - " + (chunkItemCount.getOrDefault(entry.getKey(), 0)) + "x &7(" + entry.getValue() + "ms)"); From 8b4d927753c29b344730d3e1fe6d47a08e513552 Mon Sep 17 00:00:00 2001 From: Daniel Walsh Date: Sun, 13 Oct 2019 17:33:58 +0100 Subject: [PATCH 5/6] Fix NPE --- src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java b/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java index 310d0a59b..02998b72b 100644 --- a/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java +++ b/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java @@ -211,6 +211,8 @@ public class ItemListener implements Listener { final Player p = e.getPlayer(); ItemStack item = e.getItem(); + if (slimefunItem == null) return; + if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true)) { if (p.isSneaking()) SlimefunGuide.openSettings(p, item); else SlimefunGuide.openGuide(p, true); From d2e1dabf479e66eca32a6d8111b210644b65f935 Mon Sep 17 00:00:00 2001 From: Daniel Walsh Date: Sun, 13 Oct 2019 17:45:54 +0100 Subject: [PATCH 6/6] okie --- src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java b/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java index 02998b72b..310d0a59b 100644 --- a/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java +++ b/src/me/mrCookieSlime/Slimefun/listeners/ItemListener.java @@ -211,8 +211,6 @@ public class ItemListener implements Listener { final Player p = e.getPlayer(); ItemStack item = e.getItem(); - if (slimefunItem == null) return; - if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true)) { if (p.isSneaking()) SlimefunGuide.openSettings(p, item); else SlimefunGuide.openGuide(p, true);