diff --git a/README.md b/README.md new file mode 100644 index 0000000..dd1357b --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +![PlayerStats_Logo](src/main/resources/images/logo.png) +## About + +## First Time Use + +## Features + +## Author Info +I am a relatively new programmer, and this is one of my first projects. I greatly enjoyed making it, +and I tried to make it as efficient as I could. If you have any questions, remarks, or suggestions, +please let me know! You can find me on [GitHub](https://github.com/Artemis-the-gr8) +or reach me by email: artemis.the.gr8@gmail.com + +## Licence +RegenAssist is licenced under the MIT licence. Please see [LICENCE](LICENSE) for more information. + diff --git a/src/main/java/com/gmail/artemis/the/gr8/playerstats/Main.java b/src/main/java/com/gmail/artemis/the/gr8/playerstats/Main.java index 625bbeb..ff738b3 100644 --- a/src/main/java/com/gmail/artemis/the/gr8/playerstats/Main.java +++ b/src/main/java/com/gmail/artemis/the/gr8/playerstats/Main.java @@ -48,7 +48,7 @@ public class Main extends JavaPlugin { if (reloadcmd != null) reloadcmd.setExecutor(new ReloadCommand(threadManager)); //register the listener - Bukkit.getPluginManager().registerEvents(new JoinListener(offlinePlayerHandler), this); + Bukkit.getPluginManager().registerEvents(new JoinListener(threadManager), this); logTimeTaken("onEnable", "time taken", time); this.getLogger().info("Enabled PlayerStats!"); } @@ -62,8 +62,7 @@ public class Main extends JavaPlugin { this.getLogger().info("Disabled PlayerStats!"); } - public long logTimeTaken(String className, String methodName, long previousTime) { + public void logTimeTaken(String className, String methodName, long previousTime) { getLogger().info(className + ", " + methodName + ": " + (System.currentTimeMillis() - previousTime) + "ms"); - return System.currentTimeMillis(); } } diff --git a/src/main/java/com/gmail/artemis/the/gr8/playerstats/commands/StatCommand.java b/src/main/java/com/gmail/artemis/the/gr8/playerstats/commands/StatCommand.java index d41e24d..cad00c2 100644 --- a/src/main/java/com/gmail/artemis/the/gr8/playerstats/commands/StatCommand.java +++ b/src/main/java/com/gmail/artemis/the/gr8/playerstats/commands/StatCommand.java @@ -1,8 +1,6 @@ package com.gmail.artemis.the.gr8.playerstats.commands; -import com.gmail.artemis.the.gr8.playerstats.Main; import com.gmail.artemis.the.gr8.playerstats.ThreadManager; -import com.gmail.artemis.the.gr8.playerstats.filehandlers.ConfigHandler; import com.gmail.artemis.the.gr8.playerstats.utils.EnumHandler; import com.gmail.artemis.the.gr8.playerstats.statistic.StatRequest; import com.gmail.artemis.the.gr8.playerstats.utils.OfflinePlayerHandler; diff --git a/src/main/java/com/gmail/artemis/the/gr8/playerstats/filehandlers/ConfigHandler.java b/src/main/java/com/gmail/artemis/the/gr8/playerstats/filehandlers/ConfigHandler.java index 978b44a..be049d1 100644 --- a/src/main/java/com/gmail/artemis/the/gr8/playerstats/filehandlers/ConfigHandler.java +++ b/src/main/java/com/gmail/artemis/the/gr8/playerstats/filehandlers/ConfigHandler.java @@ -1,7 +1,6 @@ package com.gmail.artemis.the.gr8.playerstats.filehandlers; import com.gmail.artemis.the.gr8.playerstats.Main; - import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; diff --git a/src/main/java/com/gmail/artemis/the/gr8/playerstats/listeners/JoinListener.java b/src/main/java/com/gmail/artemis/the/gr8/playerstats/listeners/JoinListener.java index c025265..1279165 100644 --- a/src/main/java/com/gmail/artemis/the/gr8/playerstats/listeners/JoinListener.java +++ b/src/main/java/com/gmail/artemis/the/gr8/playerstats/listeners/JoinListener.java @@ -1,6 +1,6 @@ package com.gmail.artemis.the.gr8.playerstats.listeners; -import com.gmail.artemis.the.gr8.playerstats.utils.OfflinePlayerHandler; +import com.gmail.artemis.the.gr8.playerstats.ThreadManager; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; @@ -8,15 +8,16 @@ import org.bukkit.event.player.PlayerJoinEvent; public class JoinListener implements Listener { - private final OfflinePlayerHandler offlinePlayerHandler; - public JoinListener(OfflinePlayerHandler o) { - offlinePlayerHandler = o; + private final ThreadManager threadManager; + + public JoinListener(ThreadManager t) { + threadManager = t; } @EventHandler public void onPlayerJoin(PlayerJoinEvent joinEvent) { if (!joinEvent.getPlayer().hasPlayedBefore()) { - offlinePlayerHandler.updateOfflinePlayerList(); + threadManager.startReloadThread(null, false); } } } diff --git a/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/EnumHandler.java b/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/EnumHandler.java index 0c5ffa3..0cb3b35 100644 --- a/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/EnumHandler.java +++ b/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/EnumHandler.java @@ -142,16 +142,6 @@ public class EnumHandler { } //checks whether a subStatEntry is of the type that the statistic requires - public static boolean isValidStatEntry(@NotNull String statName, String subStatEntry) { - try { - return isValidStatEntry(getStatType(statName), subStatEntry); - } - catch (IllegalArgumentException e) { - e.printStackTrace(); - return false; - } - } - public static boolean isValidStatEntry(Statistic.Type statType, String subStatEntry) { return (statType != null) && isMatchingSubStatEntry(statType, subStatEntry); } diff --git a/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/MessageFactory.java b/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/MessageFactory.java index bf61849..56a6b7c 100644 --- a/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/MessageFactory.java +++ b/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/MessageFactory.java @@ -35,7 +35,7 @@ public class MessageFactory { } public TextComponent stillReloading() { - return text(getPluginPrefix()).append(text("The plugin is reloading, your request will be processed when it is done!").color(msgColor)); + return text(getPluginPrefix()).append(text("The plugin is still (re)loading, your request will be processed when it is done!").color(msgColor)); } public TextComponent waitAMoment(boolean longWait) { diff --git a/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/OfflinePlayerHandler.java b/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/OfflinePlayerHandler.java index 14e12f0..529a141 100644 --- a/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/OfflinePlayerHandler.java +++ b/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/OfflinePlayerHandler.java @@ -13,7 +13,6 @@ public class OfflinePlayerHandler { public OfflinePlayerHandler(ConfigHandler c) { config = c; - //updateOfflinePlayerList(); } public boolean isOfflinePlayerName(String playerName) { @@ -40,15 +39,12 @@ public class OfflinePlayerHandler { offlinePlayerUUIDs.clear(); } - for (int i = 0; i <100; i++) { - int finalI = i; - Arrays.stream(Bukkit.getOfflinePlayers()).filter(offlinePlayer -> - offlinePlayer.getName() != null && - (!excludeBanned || !offlinePlayer.isBanned()) && - (!whitelistOnly || offlinePlayer.isWhitelisted()) && - (lastPlayedLimit == 0 || UnixTimeHandler.hasPlayedSince(lastPlayedLimit, offlinePlayer.getLastPlayed()))) - .forEach(offlinePlayer -> offlinePlayerUUIDs.put((offlinePlayer.getName() + finalI), offlinePlayer.getUniqueId())); - } + Arrays.stream(Bukkit.getOfflinePlayers()).filter(offlinePlayer -> + offlinePlayer.getName() != null && + (!excludeBanned || !offlinePlayer.isBanned()) && + (!whitelistOnly || offlinePlayer.isWhitelisted()) && + (lastPlayedLimit == 0 || UnixTimeHandler.hasPlayedSince(lastPlayedLimit, offlinePlayer.getLastPlayed()))) + .forEach(offlinePlayer -> offlinePlayerUUIDs.put((offlinePlayer.getName()), offlinePlayer.getUniqueId())); } public OfflinePlayer getOfflinePlayer(String playerName) { diff --git a/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/UnixTimeHandler.java b/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/UnixTimeHandler.java index d02e362..56b2bb8 100644 --- a/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/UnixTimeHandler.java +++ b/src/main/java/com/gmail/artemis/the/gr8/playerstats/utils/UnixTimeHandler.java @@ -1,6 +1,5 @@ package com.gmail.artemis.the.gr8.playerstats.utils; -import java.time.Instant; public class UnixTimeHandler { diff --git a/src/main/resources/images/logo.png b/src/main/resources/images/logo.png new file mode 100644 index 0000000..d9e17b4 Binary files /dev/null and b/src/main/resources/images/logo.png differ