diff --git a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/ContributionsConnector.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/ContributionsConnector.java similarity index 89% rename from src/main/java/me/mrCookieSlime/Slimefun/hooks/github/ContributionsConnector.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/ContributionsConnector.java index c3e586ca4..ab4031ec4 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/ContributionsConnector.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/ContributionsConnector.java @@ -1,4 +1,4 @@ -package me.mrCookieSlime.Slimefun.hooks.github; +package io.github.thebusybiscuit.slimefun4.core.services.github; import java.util.Arrays; import java.util.HashMap; @@ -29,12 +29,16 @@ public class ContributionsConnector extends GitHubConnector { // Matches a GitHub name with a Minecraft name. private static final Map aliases = new HashMap<>(); + // Should probably be switched to UUIDs at some point... static { aliases.put("WalshyDev", "HumanRightsAct"); aliases.put("J3fftw1", "_lagpc_"); aliases.put("ajan-12", "ajan_12"); aliases.put("LinoxGH", "ajan_12"); aliases.put("NihilistBrew", "ma1yang2"); + aliases.put("NihilistBrew", "ma1yang2"); + aliases.put("mrcoffee1026", "mr_coffee1026"); + aliases.put("BluGhostYT", "CyberPatriot"); } private final String prefix; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/Contributor.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/Contributor.java similarity index 97% rename from src/main/java/me/mrCookieSlime/Slimefun/hooks/github/Contributor.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/Contributor.java index 9c6ff464c..619201d12 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/Contributor.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/Contributor.java @@ -1,4 +1,4 @@ -package me.mrCookieSlime.Slimefun.hooks.github; +package io.github.thebusybiscuit.slimefun4.core.services.github; import java.util.Map; import java.util.Optional; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/GitHubConnector.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/GitHubConnector.java similarity index 97% rename from src/main/java/me/mrCookieSlime/Slimefun/hooks/github/GitHubConnector.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/GitHubConnector.java index 21b25d33a..56520b906 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/GitHubConnector.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/GitHubConnector.java @@ -1,4 +1,4 @@ -package me.mrCookieSlime.Slimefun.hooks.github; +package io.github.thebusybiscuit.slimefun4.core.services.github; import java.io.BufferedReader; import java.io.File; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/GitHubSetup.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/GitHubSetup.java similarity index 90% rename from src/main/java/me/mrCookieSlime/Slimefun/hooks/github/GitHubSetup.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/GitHubSetup.java index 39a479778..cdfb6c857 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/GitHubSetup.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/github/GitHubSetup.java @@ -1,9 +1,10 @@ -package me.mrCookieSlime.Slimefun.hooks.github; +package io.github.thebusybiscuit.slimefun4.core.services.github; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import io.github.thebusybiscuit.slimefun4.core.utils.NumberUtils; import me.mrCookieSlime.Slimefun.SlimefunPlugin; public final class GitHubSetup { @@ -24,7 +25,7 @@ public final class GitHubSetup { JsonObject object = element.getAsJsonObject(); SlimefunPlugin.getUtilities().forks = object.get("forks").getAsInt(); SlimefunPlugin.getUtilities().stars = object.get("stargazers_count").getAsInt(); - SlimefunPlugin.getUtilities().lastUpdate = IntegerFormat.parseGitHubDate(object.get("pushed_at").getAsString()); + SlimefunPlugin.getUtilities().lastUpdate = NumberUtils.parseGitHubDate(object.get("pushed_at").getAsString()); } @Override diff --git a/src/main/java/me/mrCookieSlime/Slimefun/utils/ChatUtils.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/utils/ChatUtils.java similarity index 86% rename from src/main/java/me/mrCookieSlime/Slimefun/utils/ChatUtils.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/utils/ChatUtils.java index 4e2533d70..6185e3da2 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/utils/ChatUtils.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/utils/ChatUtils.java @@ -1,4 +1,4 @@ -package me.mrCookieSlime.Slimefun.utils; +package io.github.thebusybiscuit.slimefun4.core.utils; import org.bukkit.entity.Player; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/IntegerFormat.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/utils/NumberUtils.java similarity index 71% rename from src/main/java/me/mrCookieSlime/Slimefun/hooks/github/IntegerFormat.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/utils/NumberUtils.java index 9fc269993..f17854eab 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/hooks/github/IntegerFormat.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/utils/NumberUtils.java @@ -1,4 +1,4 @@ -package me.mrCookieSlime.Slimefun.hooks.github; +package io.github.thebusybiscuit.slimefun4.core.utils; import java.text.NumberFormat; import java.text.ParseException; @@ -9,17 +9,18 @@ import java.util.logging.Level; import me.mrCookieSlime.Slimefun.api.Slimefun; -public final class IntegerFormat { +public final class NumberUtils { - private IntegerFormat() {} + private NumberUtils() {} public static String formatBigNumber(int i) { return NumberFormat.getNumberInstance(Locale.US).format(i); } - public static Date parseGitHubDate(String str) { + public static Date parseGitHubDate(String date) { try { - return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str.replace('T', ' ').replace("Z", "")); + // We have to create this instance here because it is not thread-safe and should not exist on a static level. + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date.replace('T', ' ').replace("Z", "")); } catch (ParseException x) { Slimefun.getLogger().log(Level.SEVERE, "An Error occured while parsing a GitHub-Date for Slimefun " + Slimefun.getVersion(), x); return null; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/GEO/OreGenSystem.java b/src/main/java/me/mrCookieSlime/Slimefun/GEO/OreGenSystem.java index 89d785b74..2caad247e 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/GEO/OreGenSystem.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/GEO/OreGenSystem.java @@ -31,7 +31,7 @@ public final class OreGenSystem { if (cfg.getBoolean("enabled")) { Slimefun.getLogger().log(Level.INFO, "Registering Ore Gen: " + resource.getName()); SlimefunPlugin.getUtilities().resources.put(resource.getName(), resource); - SlimefunPlugin.getUtilities().resource_configs.put(resource.getName(), cfg); + SlimefunPlugin.getUtilities().resourceConfigs.put(resource.getName(), cfg); } } @@ -44,7 +44,7 @@ public final class OreGenSystem { return 0; } else { - int supply = SlimefunPlugin.getUtilities().resource_configs.get(resource.getName()).getInt("spawn-rates." + biome.toString()); + int supply = SlimefunPlugin.getUtilities().resourceConfigs.get(resource.getName()).getInt("spawn-rates." + biome.toString()); return supply > 0 ? (supply + ThreadLocalRandom.current().nextInt(3)): 0; } } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/SlimefunPlugin.java b/src/main/java/me/mrCookieSlime/Slimefun/SlimefunPlugin.java index 617cfaed7..5594b5a93 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/SlimefunPlugin.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/SlimefunPlugin.java @@ -23,6 +23,9 @@ import io.github.thebusybiscuit.slimefun4.core.services.BlockDataService; import io.github.thebusybiscuit.slimefun4.core.services.CustomItemDataService; import io.github.thebusybiscuit.slimefun4.core.services.CustomTextureService; import io.github.thebusybiscuit.slimefun4.core.services.MetricsService; +import io.github.thebusybiscuit.slimefun4.core.services.github.Contributor; +import io.github.thebusybiscuit.slimefun4.core.services.github.GitHubConnector; +import io.github.thebusybiscuit.slimefun4.core.services.github.GitHubSetup; import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib; import me.mrCookieSlime.CSCoreLibPlugin.PluginUtils; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; @@ -56,9 +59,6 @@ import me.mrCookieSlime.Slimefun.autosave.PlayerAutoSaver; import me.mrCookieSlime.Slimefun.commands.SlimefunCommand; import me.mrCookieSlime.Slimefun.commands.SlimefunTabCompleter; import me.mrCookieSlime.Slimefun.hooks.SlimefunHooks; -import me.mrCookieSlime.Slimefun.hooks.github.Contributor; -import me.mrCookieSlime.Slimefun.hooks.github.GitHubConnector; -import me.mrCookieSlime.Slimefun.hooks.github.GitHubSetup; import me.mrCookieSlime.Slimefun.listeners.AndroidKillingListener; import me.mrCookieSlime.Slimefun.listeners.ArmorListener; import me.mrCookieSlime.Slimefun.listeners.AutonomousToolsListener; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/guides/GuideSettings.java b/src/main/java/me/mrCookieSlime/Slimefun/guides/GuideSettings.java index 734bf14b0..54ae7dfb5 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/guides/GuideSettings.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/guides/GuideSettings.java @@ -16,6 +16,9 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; import io.github.thebusybiscuit.cscorelib2.chat.ChatColors; +import io.github.thebusybiscuit.slimefun4.core.services.github.Contributor; +import io.github.thebusybiscuit.slimefun4.core.utils.ChatUtils; +import io.github.thebusybiscuit.slimefun4.core.utils.NumberUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem; import me.mrCookieSlime.CSCoreLibPlugin.general.World.CustomSkull; @@ -23,9 +26,6 @@ import me.mrCookieSlime.Slimefun.SlimefunGuide; import me.mrCookieSlime.Slimefun.SlimefunPlugin; import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.Slimefun; -import me.mrCookieSlime.Slimefun.hooks.github.Contributor; -import me.mrCookieSlime.Slimefun.hooks.github.IntegerFormat; -import me.mrCookieSlime.Slimefun.utils.ChatUtils; public final class GuideSettings { @@ -111,7 +111,7 @@ public final class GuideSettings { }); try { - menu.addItem(5, new CustomItem(new ItemStack(Material.COMPARATOR), "&eSource Code", "", "&7Bytes of Code: &6" + IntegerFormat.formatBigNumber(SlimefunPlugin.getUtilities().codeBytes), "&7Last Update: &a" + IntegerFormat.timeDelta(SlimefunPlugin.getUtilities().lastUpdate) + " ago", "&7Forks: &e" + SlimefunPlugin.getUtilities().forks, "&7Stars: &e" + SlimefunPlugin.getUtilities().stars, "", "&7&oSlimefun 4 is a community project,", "&7&othe source code is available on GitHub", "&7&oand if you want to keep this Plugin alive,", "&7&othen please consider contributing to it", "", "&7\u21E8 Click to go to GitHub")); + menu.addItem(5, new CustomItem(new ItemStack(Material.COMPARATOR), "&eSource Code", "", "&7Bytes of Code: &6" + NumberUtils.formatBigNumber(SlimefunPlugin.getUtilities().codeBytes), "&7Last Activity: &a" + NumberUtils.timeDelta(SlimefunPlugin.getUtilities().lastUpdate) + " ago", "&7Forks: &e" + SlimefunPlugin.getUtilities().forks, "&7Stars: &e" + SlimefunPlugin.getUtilities().stars, "", "&7&oSlimefun 4 is a community project,", "&7&othe source code is available on GitHub", "&7&oand if you want to keep this Plugin alive,", "&7&othen please consider contributing to it", "", "&7\u21E8 Click to go to GitHub")); menu.addMenuClickHandler(5, (pl, slot, item, action) -> { pl.closeInventory(); ChatUtils.sendURL(pl, "https://github.com/TheBusyBiscuit/Slimefun4"); @@ -190,7 +190,7 @@ public final class GuideSettings { SkullMeta meta = (SkullMeta) skull.getItemMeta(); meta.setDisplayName(ChatColor.GRAY + contributor.getName() - + (!contributor.getName().equals(contributor.getMinecraftName()) ? " (MC: " + contributor.getMinecraftName() + ")" : "") + + (!contributor.getName().equals(contributor.getMinecraftName()) ? ChatColor.DARK_GRAY + " (MC: " + contributor.getMinecraftName() + ")" : "") ); List lore = new LinkedList<>(); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/hooks/SlimefunHooks.java b/src/main/java/me/mrCookieSlime/Slimefun/hooks/SlimefunHooks.java index f0c9f4504..46ea22837 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/hooks/SlimefunHooks.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/hooks/SlimefunHooks.java @@ -54,7 +54,7 @@ public final class SlimefunHooks { private boolean isPluginInstalled(String hook) { if (plugin.getServer().getPluginManager().isPluginEnabled(hook)) { - Slimefun.getLogger().log(Level.INFO, "Hooked into Plugin: " + hook); + Slimefun.getLogger().log(Level.INFO, "Hooked into Plugin: {0}", hook); return true; } else { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/utils/Utilities.java b/src/main/java/me/mrCookieSlime/Slimefun/utils/Utilities.java index bdb3b3c25..0e1599b9d 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/utils/Utilities.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/utils/Utilities.java @@ -18,6 +18,8 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.inventory.ItemStack; +import io.github.thebusybiscuit.slimefun4.core.services.github.Contributor; +import io.github.thebusybiscuit.slimefun4.core.services.github.GitHubConnector; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.Slimefun.GEO.OreGenResource; import me.mrCookieSlime.Slimefun.Lists.Categories; @@ -39,8 +41,6 @@ import me.mrCookieSlime.Slimefun.api.item_transport.CargoTransportEvent; import me.mrCookieSlime.Slimefun.api.item_transport.ItemRequest; import me.mrCookieSlime.Slimefun.guides.ISlimefunGuide; import me.mrCookieSlime.Slimefun.guides.SlimefunGuideLayout; -import me.mrCookieSlime.Slimefun.hooks.github.Contributor; -import me.mrCookieSlime.Slimefun.hooks.github.GitHubConnector; /** * Really dirty way to store stuff, but you can dump @@ -61,7 +61,7 @@ public final class Utilities { public final List allMultiblocks = new LinkedList<>(); public final List allResearches = new LinkedList<>(); - public final Map guideLayouts = new HashMap<>(); + public final Map guideLayouts = new EnumMap<>(SlimefunGuideLayout.class); /** * List of the registered Categories. @@ -126,12 +126,12 @@ public final class Utilities { public final Set teleporterUsers = new HashSet<>(); public final Map resources = new HashMap<>(); - public final Map resource_configs = new HashMap<>(); + public final Map resourceConfigs = new HashMap<>(); public final Set connectors = new HashSet<>(); public final ConcurrentMap contributors = new ConcurrentHashMap<>(); - public final List cargoTransportEvents = new ArrayList<>(); + public final Set cargoTransportEvents = new HashSet<>(); public ItemStack[] oreWasherOutputs;