From 4416d55173d0499a034d2bdd3421f3141293bc11 Mon Sep 17 00:00:00 2001 From: Frank van der Heijden Date: Fri, 3 Jul 2020 15:52:56 +0200 Subject: [PATCH] Modularise project --- Bukkit/build.gradle | 24 +++++ .../serverutils/bukkit}/ServerUtils.java | 36 ++++--- .../bukkit}/commands/CommandPlugins.java | 8 +- .../bukkit}/commands/CommandServerUtils.java | 30 +++--- .../serverutils/bukkit}/config/Config.java | 4 +- .../serverutils/bukkit}/config/Messenger.java | 8 +- .../bukkit}/config/YamlResource.java | 6 +- .../bukkit}/listeners/MainListener.java | 6 +- .../bukkit}/managers/CloseableResult.java | 2 +- .../bukkit}/managers/LoadResult.java | 2 +- .../bukkit}/managers/PluginManager.java | 18 ++-- .../serverutils/bukkit}/managers/Result.java | 4 +- .../bukkit}/managers/VersionManager.java | 4 +- .../bukkit/reflection/BukkitReflection.java | 28 ++++++ .../bukkit}/reflection/RCommandMap.java | 4 +- .../bukkit}/reflection/RCraftServer.java | 30 +++--- .../bukkit}/reflection/RCraftingManager.java | 18 ++-- .../bukkit}/reflection/RDedicatedServer.java | 24 ++--- .../RDedicatedServerProperties.java | 10 +- .../reflection/RDedicatedServerSettings.java | 10 +- .../bukkit}/reflection/RJavaPlugin.java | 10 +- .../bukkit}/reflection/RJsonList.java | 12 +-- .../bukkit}/reflection/RMinecraftKey.java | 17 ++-- .../bukkit}/reflection/RMinecraftServer.java | 10 +- .../bukkit}/reflection/ROptionSet.java | 8 +- .../bukkit}/reflection/RPlayerList.java | 10 +- .../bukkit}/reflection/RPlugin.java | 4 +- .../reflection/RPluginClassLoader.java | 10 +- .../bukkit}/reflection/RPropertyManager.java | 10 +- .../reflection/RRegistryMaterials.java | 14 +-- .../bukkit}/reflection/RRegistrySimple.java | 14 +-- .../reflection/RSimplePluginManager.java | 10 +- .../bukkit}/tasks/UpdateCheckerTask.java | 18 ++-- .../bukkit}/utils/FormatBuilder.java | 4 +- .../bukkit}/utils/ForwardFilter.java | 3 +- .../bukkit}/utils/ReloadHandler.java | 2 +- .../serverutils/bukkit}/utils/YamlUtils.java | 2 +- .../src/main/resources/bukkit-config.yml | 0 .../src/main/resources/bukkit-messages.yml | 0 {src => Bukkit/src}/main/resources/plugin.yml | 2 +- Common/build.gradle | 11 +++ .../common/reflection/FieldParam.java | 15 +++ .../common/reflection/MethodParam.java | 18 ++++ .../common}/reflection/ReflectionUtils.java | 97 +++---------------- .../common/reflection/VersionParam.java | 30 ++++++ .../serverutils/common}/utils/FileUtils.java | 2 +- .../common}/utils/ListBuilder.java | 2 +- .../serverutils/common}/utils/ListFormat.java | 2 +- .../serverutils/common}/utils/MapUtils.java | 2 +- .../common}/utils/PredicateFilter.java | 2 +- .../common}/utils/VersionUtils.java | 2 +- .../common}/utils/ListBuilderTest.java | 2 +- .../common}/utils/VersionUtilsTest.java | 2 +- build.gradle | 95 +++++++++--------- settings.gradle | 1 + 55 files changed, 388 insertions(+), 331 deletions(-) create mode 100644 Bukkit/build.gradle rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/ServerUtils.java (78%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/commands/CommandPlugins.java (92%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/commands/CommandServerUtils.java (93%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/config/Config.java (78%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/config/Messenger.java (91%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/config/YamlResource.java (83%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/listeners/MainListener.java (82%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/managers/CloseableResult.java (96%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/managers/LoadResult.java (92%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/managers/PluginManager.java (94%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/managers/Result.java (89%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/managers/VersionManager.java (90%) create mode 100644 Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/BukkitReflection.java rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RCommandMap.java (87%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RCraftServer.java (85%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RCraftingManager.java (76%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RDedicatedServer.java (84%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RDedicatedServerProperties.java (74%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RDedicatedServerSettings.java (69%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RJavaPlugin.java (65%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RJsonList.java (59%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RMinecraftKey.java (77%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RMinecraftServer.java (64%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/ROptionSet.java (63%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RPlayerList.java (61%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RPlugin.java (79%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RPluginClassLoader.java (81%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RPropertyManager.java (71%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RRegistryMaterials.java (73%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RRegistrySimple.java (72%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/reflection/RSimplePluginManager.java (83%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/tasks/UpdateCheckerTask.java (93%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/utils/FormatBuilder.java (93%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/utils/ForwardFilter.java (92%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/utils/ReloadHandler.java (59%) rename {src/main/java/net/frankheijden/serverutils => Bukkit/src/main/java/net/frankheijden/serverutils/bukkit}/utils/YamlUtils.java (96%) rename src/main/resources/config.yml => Bukkit/src/main/resources/bukkit-config.yml (100%) rename src/main/resources/messages.yml => Bukkit/src/main/resources/bukkit-messages.yml (100%) rename {src => Bukkit/src}/main/resources/plugin.yml (74%) create mode 100644 Common/build.gradle create mode 100644 Common/src/main/java/net/frankheijden/serverutils/common/reflection/FieldParam.java create mode 100644 Common/src/main/java/net/frankheijden/serverutils/common/reflection/MethodParam.java rename {src/main/java/net/frankheijden/serverutils => Common/src/main/java/net/frankheijden/serverutils/common}/reflection/ReflectionUtils.java (69%) create mode 100644 Common/src/main/java/net/frankheijden/serverutils/common/reflection/VersionParam.java rename {src/main/java/net/frankheijden/serverutils => Common/src/main/java/net/frankheijden/serverutils/common}/utils/FileUtils.java (98%) rename {src/main/java/net/frankheijden/serverutils => Common/src/main/java/net/frankheijden/serverutils/common}/utils/ListBuilder.java (97%) rename {src/main/java/net/frankheijden/serverutils => Common/src/main/java/net/frankheijden/serverutils/common}/utils/ListFormat.java (70%) rename {src/main/java/net/frankheijden/serverutils => Common/src/main/java/net/frankheijden/serverutils/common}/utils/MapUtils.java (95%) rename {src/main/java/net/frankheijden/serverutils => Common/src/main/java/net/frankheijden/serverutils/common}/utils/PredicateFilter.java (93%) rename {src/main/java/net/frankheijden/serverutils => Common/src/main/java/net/frankheijden/serverutils/common}/utils/VersionUtils.java (96%) rename {src/test/java/net/frankheijden/serverutils => Common/src/test/java/net/frankheijden/serverutils/common}/utils/ListBuilderTest.java (97%) rename {src/test/java/net/frankheijden/serverutils => Common/src/test/java/net/frankheijden/serverutils/common}/utils/VersionUtilsTest.java (96%) diff --git a/Bukkit/build.gradle b/Bukkit/build.gradle new file mode 100644 index 0000000..e468f25 --- /dev/null +++ b/Bukkit/build.gradle @@ -0,0 +1,24 @@ +group = rootProject.group + '.bukkit' +String dependencyDir = group + '.dependencies' +version = rootProject.version +archivesBaseName = rootProject.name + '-Bukkit' + +dependencies { + implementation 'co.aikar:acf-paper:0.5.0-SNAPSHOT' + implementation 'org.bstats:bstats-bukkit:1.7' + implementation project(":Common") + compileOnly 'com.destroystokyo.paper:paper-api:1.16.1-R0.1-SNAPSHOT' +} + +processResources { + from('src/main/resources') { + include 'plugin.yml' + expand(version: project.version) + } +} + +shadowJar { + relocate 'org.bstats.bukkit', dependencyDir + '.bstats' + relocate 'co.aikar.commands', dependencyDir + '.acf' + relocate 'co.aikar.locales', dependencyDir + '.locales' +} diff --git a/src/main/java/net/frankheijden/serverutils/ServerUtils.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/ServerUtils.java similarity index 78% rename from src/main/java/net/frankheijden/serverutils/ServerUtils.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/ServerUtils.java index 5728ddb..2cf7fc3 100644 --- a/src/main/java/net/frankheijden/serverutils/ServerUtils.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/ServerUtils.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils; +package net.frankheijden.serverutils.bukkit; import co.aikar.commands.BukkitCommandCompletionContext; import co.aikar.commands.CommandCompletions; @@ -10,15 +10,16 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import net.frankheijden.serverutils.commands.CommandPlugins; -import net.frankheijden.serverutils.commands.CommandServerUtils; -import net.frankheijden.serverutils.config.Config; -import net.frankheijden.serverutils.config.Messenger; -import net.frankheijden.serverutils.listeners.MainListener; -import net.frankheijden.serverutils.managers.VersionManager; -import net.frankheijden.serverutils.reflection.RCommandMap; -import net.frankheijden.serverutils.reflection.RCraftServer; -import net.frankheijden.serverutils.tasks.UpdateCheckerTask; +import net.frankheijden.serverutils.bukkit.commands.CommandPlugins; +import net.frankheijden.serverutils.bukkit.commands.CommandServerUtils; +import net.frankheijden.serverutils.bukkit.config.Config; +import net.frankheijden.serverutils.bukkit.config.Messenger; +import net.frankheijden.serverutils.bukkit.listeners.MainListener; +import net.frankheijden.serverutils.bukkit.managers.VersionManager; +import net.frankheijden.serverutils.bukkit.reflection.BukkitReflection; +import net.frankheijden.serverutils.bukkit.reflection.RCommandMap; +import net.frankheijden.serverutils.bukkit.reflection.RCraftServer; +import net.frankheijden.serverutils.bukkit.tasks.UpdateCheckerTask; import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; import org.bukkit.command.Command; @@ -45,6 +46,7 @@ public class ServerUtils extends JavaPlugin implements CommandExecutor { instance = this; new Metrics(this, BSTATS_METRICS_ID); + new BukkitReflection(); this.commandManager = new PaperCommandManager(this); commandManager.registerCommand(new CommandServerUtils()); @@ -53,7 +55,7 @@ public class ServerUtils extends JavaPlugin implements CommandExecutor { CommandCompletions completions = commandManager.getCommandCompletions(); completions.registerAsyncCompletion("plugins", context -> getPluginNames()); completions.registerAsyncCompletion("pluginJars", context -> getPluginFileNames()); - completions.registerAsyncCompletion("supportedConfigs", context -> CommandServerUtils.getSupportedConfigs()); + completions.registerAsyncCompletion("supportedConfigs ", context -> CommandServerUtils.getSupportedConfigs()); completions.registerAsyncCompletion("commands", context -> { try { return RCommandMap.getKnownCommands(RCraftServer.getCommandMap()).keySet(); @@ -116,8 +118,8 @@ public class ServerUtils extends JavaPlugin implements CommandExecutor { restoreBukkitPluginCommand(); } - new Config(copyResourceIfNotExists("config.yml")); - new Messenger(copyResourceIfNotExists("messages.yml")); + new Config(copyResourceIfNotExists("config.yml", "bukkit-config.yml")); + new Messenger(copyResourceIfNotExists("messages.yml", "bukkit-messages.yml")); if (!Config.getInstance().getBoolean("settings.disable-plugins-command")) { this.removeCommands("pl", "plugins"); @@ -146,13 +148,15 @@ public class ServerUtils extends JavaPlugin implements CommandExecutor { } } - private File copyResourceIfNotExists(String resource) { + private File copyResourceIfNotExists(String targetName, String resource) { createDataFolderIfNotExists(); - File file = new File(getDataFolder(), resource); + File file = new File(getDataFolder(), targetName); if (!file.exists()) { - getLogger().info(String.format("'%s' not found, creating!", resource)); + getLogger().info(String.format("'%s' not found, creating!", targetName)); saveResource(resource, false); + File copiedFile = new File(getDataFolder(), resource); + copiedFile.renameTo(file); } return file; } diff --git a/src/main/java/net/frankheijden/serverutils/commands/CommandPlugins.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/commands/CommandPlugins.java similarity index 92% rename from src/main/java/net/frankheijden/serverutils/commands/CommandPlugins.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/commands/CommandPlugins.java index a4fb672..c03c428 100644 --- a/src/main/java/net/frankheijden/serverutils/commands/CommandPlugins.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/commands/CommandPlugins.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.commands; +package net.frankheijden.serverutils.bukkit.commands; import co.aikar.commands.BaseCommand; import co.aikar.commands.annotation.CommandAlias; @@ -9,9 +9,9 @@ import co.aikar.commands.annotation.Subcommand; import java.util.Arrays; import java.util.Comparator; import java.util.List; -import net.frankheijden.serverutils.config.Messenger; -import net.frankheijden.serverutils.utils.ListBuilder; -import net.frankheijden.serverutils.utils.ListFormat; +import net.frankheijden.serverutils.bukkit.config.Messenger; +import net.frankheijden.serverutils.common.utils.ListBuilder; +import net.frankheijden.serverutils.common.utils.ListFormat; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.plugin.Plugin; diff --git a/src/main/java/net/frankheijden/serverutils/commands/CommandServerUtils.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/commands/CommandServerUtils.java similarity index 93% rename from src/main/java/net/frankheijden/serverutils/commands/CommandServerUtils.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/commands/CommandServerUtils.java index d4434a6..7b2fbe4 100644 --- a/src/main/java/net/frankheijden/serverutils/commands/CommandServerUtils.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/commands/CommandServerUtils.java @@ -1,7 +1,7 @@ -package net.frankheijden.serverutils.commands; +package net.frankheijden.serverutils.bukkit.commands; -import static net.frankheijden.serverutils.config.Messenger.sendMessage; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MINOR; +import static net.frankheijden.serverutils.bukkit.config.Messenger.sendMessage; +import static net.frankheijden.serverutils.bukkit.reflection.BukkitReflection.MINOR; import co.aikar.commands.BaseCommand; import co.aikar.commands.annotation.CommandAlias; @@ -17,18 +17,18 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import net.frankheijden.serverutils.ServerUtils; -import net.frankheijden.serverutils.config.Messenger; -import net.frankheijden.serverutils.managers.CloseableResult; -import net.frankheijden.serverutils.managers.LoadResult; -import net.frankheijden.serverutils.managers.PluginManager; -import net.frankheijden.serverutils.managers.Result; -import net.frankheijden.serverutils.reflection.RCraftServer; -import net.frankheijden.serverutils.utils.FormatBuilder; -import net.frankheijden.serverutils.utils.ForwardFilter; -import net.frankheijden.serverutils.utils.ListBuilder; -import net.frankheijden.serverutils.utils.ListFormat; -import net.frankheijden.serverutils.utils.ReloadHandler; +import net.frankheijden.serverutils.bukkit.ServerUtils; +import net.frankheijden.serverutils.bukkit.config.Messenger; +import net.frankheijden.serverutils.bukkit.managers.CloseableResult; +import net.frankheijden.serverutils.bukkit.managers.LoadResult; +import net.frankheijden.serverutils.bukkit.managers.PluginManager; +import net.frankheijden.serverutils.bukkit.managers.Result; +import net.frankheijden.serverutils.bukkit.reflection.RCraftServer; +import net.frankheijden.serverutils.bukkit.utils.FormatBuilder; +import net.frankheijden.serverutils.bukkit.utils.ForwardFilter; +import net.frankheijden.serverutils.bukkit.utils.ReloadHandler; +import net.frankheijden.serverutils.common.utils.ListBuilder; +import net.frankheijden.serverutils.common.utils.ListFormat; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; diff --git a/src/main/java/net/frankheijden/serverutils/config/Config.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/config/Config.java similarity index 78% rename from src/main/java/net/frankheijden/serverutils/config/Config.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/config/Config.java index 7af4a81..ce65496 100644 --- a/src/main/java/net/frankheijden/serverutils/config/Config.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/config/Config.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.config; +package net.frankheijden.serverutils.bukkit.config; import java.io.File; @@ -7,7 +7,7 @@ public class Config extends YamlResource { private static Config instance; public Config(File file) { - super(file, "config.yml"); + super(file, "bukkit-config.yml"); instance = this; } diff --git a/src/main/java/net/frankheijden/serverutils/config/Messenger.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/config/Messenger.java similarity index 91% rename from src/main/java/net/frankheijden/serverutils/config/Messenger.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/config/Messenger.java index f5b1e0f..61a1cac 100644 --- a/src/main/java/net/frankheijden/serverutils/config/Messenger.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/config/Messenger.java @@ -1,8 +1,8 @@ -package net.frankheijden.serverutils.config; +package net.frankheijden.serverutils.bukkit.config; import java.io.File; -import net.frankheijden.serverutils.ServerUtils; +import net.frankheijden.serverutils.bukkit.ServerUtils; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; @@ -12,7 +12,7 @@ public class Messenger extends YamlResource { private static Messenger instance; public Messenger(File file) { - super(file, "messages.yml"); + super(file, "bukkit-messages.yml"); instance = this; } @@ -27,7 +27,7 @@ public class Messenger extends YamlResource { if (message != null) { return apply(message, replacements); } else { - plugin.getLogger().severe("Missing locale in messages.yml at path '" + path + "'!"); + plugin.getLogger().severe("Missing locale in bukkit-messages.yml at path '" + path + "'!"); } return null; } diff --git a/src/main/java/net/frankheijden/serverutils/config/YamlResource.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/config/YamlResource.java similarity index 83% rename from src/main/java/net/frankheijden/serverutils/config/YamlResource.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/config/YamlResource.java index 0716f24..95382d3 100644 --- a/src/main/java/net/frankheijden/serverutils/config/YamlResource.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/config/YamlResource.java @@ -1,11 +1,11 @@ -package net.frankheijden.serverutils.config; +package net.frankheijden.serverutils.bukkit.config; import java.io.File; import java.io.InputStream; import java.io.InputStreamReader; -import net.frankheijden.serverutils.ServerUtils; -import net.frankheijden.serverutils.utils.YamlUtils; +import net.frankheijden.serverutils.bukkit.ServerUtils; +import net.frankheijden.serverutils.bukkit.utils.YamlUtils; import org.bukkit.configuration.file.YamlConfiguration; public abstract class YamlResource { diff --git a/src/main/java/net/frankheijden/serverutils/listeners/MainListener.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/listeners/MainListener.java similarity index 82% rename from src/main/java/net/frankheijden/serverutils/listeners/MainListener.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/listeners/MainListener.java index 06b8625..2100e61 100644 --- a/src/main/java/net/frankheijden/serverutils/listeners/MainListener.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/listeners/MainListener.java @@ -1,7 +1,7 @@ -package net.frankheijden.serverutils.listeners; +package net.frankheijden.serverutils.bukkit.listeners; -import net.frankheijden.serverutils.config.Config; -import net.frankheijden.serverutils.tasks.UpdateCheckerTask; +import net.frankheijden.serverutils.bukkit.config.Config; +import net.frankheijden.serverutils.bukkit.tasks.UpdateCheckerTask; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; diff --git a/src/main/java/net/frankheijden/serverutils/managers/CloseableResult.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/CloseableResult.java similarity index 96% rename from src/main/java/net/frankheijden/serverutils/managers/CloseableResult.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/CloseableResult.java index 961493e..63d4eb6 100644 --- a/src/main/java/net/frankheijden/serverutils/managers/CloseableResult.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/CloseableResult.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.managers; +package net.frankheijden.serverutils.bukkit.managers; import java.io.Closeable; import java.io.IOException; diff --git a/src/main/java/net/frankheijden/serverutils/managers/LoadResult.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/LoadResult.java similarity index 92% rename from src/main/java/net/frankheijden/serverutils/managers/LoadResult.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/LoadResult.java index 61de87c..6ad9456 100644 --- a/src/main/java/net/frankheijden/serverutils/managers/LoadResult.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/LoadResult.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.managers; +package net.frankheijden.serverutils.bukkit.managers; import org.bukkit.plugin.Plugin; diff --git a/src/main/java/net/frankheijden/serverutils/managers/PluginManager.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/PluginManager.java similarity index 94% rename from src/main/java/net/frankheijden/serverutils/managers/PluginManager.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/PluginManager.java index 460c8ac..fd40c64 100644 --- a/src/main/java/net/frankheijden/serverutils/managers/PluginManager.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/PluginManager.java @@ -1,20 +1,18 @@ -package net.frankheijden.serverutils.managers; +package net.frankheijden.serverutils.bukkit.managers; import java.io.Closeable; import java.io.File; -import java.lang.reflect.InvocationTargetException; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; -import net.frankheijden.serverutils.ServerUtils; -import net.frankheijden.serverutils.reflection.RCommandMap; -import net.frankheijden.serverutils.reflection.RCraftServer; -import net.frankheijden.serverutils.reflection.RCraftingManager; -import net.frankheijden.serverutils.reflection.RJavaPlugin; -import net.frankheijden.serverutils.reflection.RPlugin; -import net.frankheijden.serverutils.reflection.RPluginClassLoader; -import net.frankheijden.serverutils.reflection.RSimplePluginManager; +import net.frankheijden.serverutils.bukkit.ServerUtils; +import net.frankheijden.serverutils.bukkit.reflection.RCommandMap; +import net.frankheijden.serverutils.bukkit.reflection.RCraftServer; +import net.frankheijden.serverutils.bukkit.reflection.RCraftingManager; +import net.frankheijden.serverutils.bukkit.reflection.RJavaPlugin; +import net.frankheijden.serverutils.bukkit.reflection.RPluginClassLoader; +import net.frankheijden.serverutils.bukkit.reflection.RSimplePluginManager; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.PluginCommand; diff --git a/src/main/java/net/frankheijden/serverutils/managers/Result.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/Result.java similarity index 89% rename from src/main/java/net/frankheijden/serverutils/managers/Result.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/Result.java index 9903e11..6e516cf 100644 --- a/src/main/java/net/frankheijden/serverutils/managers/Result.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/Result.java @@ -1,6 +1,6 @@ -package net.frankheijden.serverutils.managers; +package net.frankheijden.serverutils.bukkit.managers; -import net.frankheijden.serverutils.config.Messenger; +import net.frankheijden.serverutils.bukkit.config.Messenger; import org.bukkit.command.CommandSender; public enum Result { diff --git a/src/main/java/net/frankheijden/serverutils/managers/VersionManager.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/VersionManager.java similarity index 90% rename from src/main/java/net/frankheijden/serverutils/managers/VersionManager.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/VersionManager.java index e11d5c2..8f09409 100644 --- a/src/main/java/net/frankheijden/serverutils/managers/VersionManager.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/managers/VersionManager.java @@ -1,6 +1,6 @@ -package net.frankheijden.serverutils.managers; +package net.frankheijden.serverutils.bukkit.managers; -import net.frankheijden.serverutils.ServerUtils; +import net.frankheijden.serverutils.bukkit.ServerUtils; public class VersionManager { diff --git a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/BukkitReflection.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/BukkitReflection.java new file mode 100644 index 0000000..fcea51b --- /dev/null +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/BukkitReflection.java @@ -0,0 +1,28 @@ +package net.frankheijden.serverutils.bukkit.reflection; + +import net.frankheijden.serverutils.common.reflection.ReflectionUtils; +import net.frankheijden.serverutils.common.reflection.VersionParam; +import org.bukkit.Bukkit; + +public class BukkitReflection extends ReflectionUtils { + + public static String NMS; + public static int MAJOR; + public static int MINOR; + public static int PATCH; + + static { + String bukkitPackage = Bukkit.getServer().getClass().getPackage().getName(); + NMS = bukkitPackage.substring(bukkitPackage.lastIndexOf('.') + 1); + + String[] split = NMS.split("_"); + MAJOR = Integer.parseInt(split[0].substring(1)); + MINOR = Integer.parseInt(split[1]); + PATCH = Integer.parseInt(split[2].substring(1, 2)); + } + + @Override + public boolean isCompatible(VersionParam versionParam) { + return versionParam.min <= MINOR && MINOR <= versionParam.max; + } +} diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RCommandMap.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCommandMap.java similarity index 87% rename from src/main/java/net/frankheijden/serverutils/reflection/RCommandMap.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCommandMap.java index 2f649c6..dd318f5 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RCommandMap.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCommandMap.java @@ -1,6 +1,6 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getDeclaredField; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getDeclaredField; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RCraftServer.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftServer.java similarity index 85% rename from src/main/java/net/frankheijden/serverutils/reflection/RCraftServer.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftServer.java index 976ce81..46dddaf 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RCraftServer.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftServer.java @@ -1,18 +1,18 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.FieldParam.fieldOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MethodParam.methodOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.max; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.min; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.versionOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.get; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllFields; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllMethods; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getDeclaredField; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getDeclaredMethod; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.invoke; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.set; +import static net.frankheijden.serverutils.common.reflection.FieldParam.fieldOf; +import static net.frankheijden.serverutils.common.reflection.MethodParam.methodOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.get; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getDeclaredField; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getDeclaredMethod; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.invoke; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.set; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; +import static net.frankheijden.serverutils.common.reflection.VersionParam.max; +import static net.frankheijden.serverutils.common.reflection.VersionParam.min; +import static net.frankheijden.serverutils.common.reflection.VersionParam.versionOf; import java.io.File; import java.lang.reflect.Field; @@ -40,7 +40,7 @@ public class RCraftServer { static { try { craftServerClass = Class.forName(String.format("org.bukkit.craftbukkit.%s.CraftServer", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); craftServer = craftServerClass.cast(Bukkit.getServer()); commandsConfigFile = (File) getDeclaredMethod(craftServerClass, diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RCraftingManager.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftingManager.java similarity index 76% rename from src/main/java/net/frankheijden/serverutils/reflection/RCraftingManager.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftingManager.java index 61a7fff..097e13b 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RCraftingManager.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RCraftingManager.java @@ -1,11 +1,11 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.FieldParam.fieldOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MINOR; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.min; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.get; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllFields; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.invoke; +import static net.frankheijden.serverutils.bukkit.reflection.BukkitReflection.MINOR; +import static net.frankheijden.serverutils.common.reflection.FieldParam.fieldOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.get; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.invoke; +import static net.frankheijden.serverutils.common.reflection.VersionParam.min; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -14,7 +14,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Predicate; -import net.frankheijden.serverutils.utils.MapUtils; +import net.frankheijden.serverutils.common.utils.MapUtils; import org.bukkit.plugin.Plugin; public class RCraftingManager { @@ -25,7 +25,7 @@ public class RCraftingManager { static { try { craftingManagerClass = Class.forName(String.format("net.minecraft.server.%s.CraftingManager", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); fields = getAllFields(craftingManagerClass, fieldOf("recipes", min(12))); } catch (Exception ex) { diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RDedicatedServer.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java similarity index 84% rename from src/main/java/net/frankheijden/serverutils/reflection/RDedicatedServer.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java index bf00bcd..3004412 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RDedicatedServer.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java @@ -1,15 +1,15 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.FieldParam.fieldOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MINOR; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MethodParam.methodOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.min; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.get; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllFields; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllMethods; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.invoke; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.set; +import static net.frankheijden.serverutils.bukkit.reflection.BukkitReflection.MINOR; +import static net.frankheijden.serverutils.common.reflection.FieldParam.fieldOf; +import static net.frankheijden.serverutils.common.reflection.MethodParam.methodOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.get; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.invoke; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.set; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; +import static net.frankheijden.serverutils.common.reflection.VersionParam.min; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -25,7 +25,7 @@ public class RDedicatedServer { static { try { dedicatedServerClass = Class.forName(String.format("net.minecraft.server.%s.DedicatedServer", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); fields = getAllFields(dedicatedServerClass, fieldOf("propertyManager", ALL_VERSIONS), diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RDedicatedServerProperties.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServerProperties.java similarity index 74% rename from src/main/java/net/frankheijden/serverutils/reflection/RDedicatedServerProperties.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServerProperties.java index 38b1178..08b094a 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RDedicatedServerProperties.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServerProperties.java @@ -1,8 +1,8 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.FieldParam.fieldOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.FieldParam.fieldOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.Field; import java.util.Map; @@ -15,7 +15,7 @@ public class RDedicatedServerProperties { static { try { serverPropertiesClass = Class.forName(String.format("net.minecraft.server.%s.DedicatedServerProperties", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); fields = getAllFields(serverPropertiesClass, fieldOf("spawnAnimals", ALL_VERSIONS), fieldOf("spawnNpcs", ALL_VERSIONS), diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RDedicatedServerSettings.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServerSettings.java similarity index 69% rename from src/main/java/net/frankheijden/serverutils/reflection/RDedicatedServerSettings.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServerSettings.java index 2f7e72d..6b4639c 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RDedicatedServerSettings.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServerSettings.java @@ -1,8 +1,8 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MethodParam.methodOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.MethodParam.methodOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.Method; import java.util.Map; @@ -15,7 +15,7 @@ public class RDedicatedServerSettings { static { try { serverSettingsClass = Class.forName(String.format("net.minecraft.server.%s.DedicatedServerSettings", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); methods = getAllMethods(serverSettingsClass, methodOf("getProperties", ALL_VERSIONS)); } catch (Exception ex) { diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RJavaPlugin.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RJavaPlugin.java similarity index 65% rename from src/main/java/net/frankheijden/serverutils/reflection/RJavaPlugin.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RJavaPlugin.java index b04ea25..903def4 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RJavaPlugin.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RJavaPlugin.java @@ -1,9 +1,9 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MethodParam.methodOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllMethods; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.invoke; +import static net.frankheijden.serverutils.common.reflection.MethodParam.methodOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.invoke; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RJsonList.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RJsonList.java similarity index 59% rename from src/main/java/net/frankheijden/serverutils/reflection/RJsonList.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RJsonList.java index 33018fa..1391214 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RJsonList.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RJsonList.java @@ -1,9 +1,9 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MethodParam.methodOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllMethods; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.invoke; +import static net.frankheijden.serverutils.common.reflection.MethodParam.methodOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.invoke; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -16,7 +16,7 @@ public class RJsonList { static { try { - jsonListClass = Class.forName(String.format("net.minecraft.server.%s.JsonList", ReflectionUtils.NMS)); + jsonListClass = Class.forName(String.format("net.minecraft.server.%s.JsonList", BukkitReflection.NMS)); methods = getAllMethods(jsonListClass, methodOf("load", ALL_VERSIONS)); } catch (Exception ex) { diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RMinecraftKey.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RMinecraftKey.java similarity index 77% rename from src/main/java/net/frankheijden/serverutils/reflection/RMinecraftKey.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RMinecraftKey.java index 3a6136d..157d619 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RMinecraftKey.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RMinecraftKey.java @@ -1,10 +1,11 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.FieldParam.fieldOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.max; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.min; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.get; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.bukkit.reflection.BukkitReflection.MINOR; +import static net.frankheijden.serverutils.common.reflection.FieldParam.fieldOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.get; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.VersionParam.max; +import static net.frankheijden.serverutils.common.reflection.VersionParam.min; import java.lang.reflect.Field; import java.util.Locale; @@ -22,7 +23,7 @@ public class RMinecraftKey { static { try { minecraftKeyClass = Class.forName(String.format("net.minecraft.server.%s.MinecraftKey", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); fields = getAllFields(minecraftKeyClass, fieldOf("a", max(13)), fieldOf("namespace", min(14))); @@ -38,7 +39,7 @@ public class RMinecraftKey { * @throws IllegalAccessException When prohibited access to the field. */ public static String getNameSpace(Object instance) throws IllegalAccessException { - if (ReflectionUtils.MINOR <= 13) { + if (MINOR <= 13) { return (String) get(fields, instance, "a"); } return (String) get(fields, instance, "namespace"); diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RMinecraftServer.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RMinecraftServer.java similarity index 64% rename from src/main/java/net/frankheijden/serverutils/reflection/RMinecraftServer.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RMinecraftServer.java index f3b17ca..dcd7cd3 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RMinecraftServer.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RMinecraftServer.java @@ -1,8 +1,8 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MethodParam.methodOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.MethodParam.methodOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.Method; import java.util.Map; @@ -15,7 +15,7 @@ public class RMinecraftServer { static { try { minecraftServerClass = Class.forName(String.format("net.minecraft.server.%s.MinecraftServer", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); methods = getAllMethods(minecraftServerClass, methodOf("getServer", ALL_VERSIONS), methodOf("getCraftingManager", ALL_VERSIONS)); diff --git a/src/main/java/net/frankheijden/serverutils/reflection/ROptionSet.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/ROptionSet.java similarity index 63% rename from src/main/java/net/frankheijden/serverutils/reflection/ROptionSet.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/ROptionSet.java index 04f2212..cdae063 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/ROptionSet.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/ROptionSet.java @@ -1,8 +1,8 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MethodParam.methodOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.MethodParam.methodOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.Method; import java.util.Map; diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RPlayerList.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPlayerList.java similarity index 61% rename from src/main/java/net/frankheijden/serverutils/reflection/RPlayerList.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPlayerList.java index 5740925..02b2752 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RPlayerList.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPlayerList.java @@ -1,8 +1,8 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MethodParam.methodOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.MethodParam.methodOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.Method; import java.util.Map; @@ -14,7 +14,7 @@ public class RPlayerList { static { try { - playerListClass = Class.forName(String.format("net.minecraft.server.%s.PlayerList", ReflectionUtils.NMS)); + playerListClass = Class.forName(String.format("net.minecraft.server.%s.PlayerList", BukkitReflection.NMS)); methods = getAllMethods(playerListClass, methodOf("getIPBans", ALL_VERSIONS), methodOf("getProfileBans", ALL_VERSIONS)); diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RPlugin.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPlugin.java similarity index 79% rename from src/main/java/net/frankheijden/serverutils/reflection/RPlugin.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPlugin.java index adff9f2..44d5e22 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RPlugin.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPlugin.java @@ -1,6 +1,6 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getDeclaredMethod; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getDeclaredMethod; import java.io.File; import java.lang.reflect.InvocationTargetException; diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RPluginClassLoader.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPluginClassLoader.java similarity index 81% rename from src/main/java/net/frankheijden/serverutils/reflection/RPluginClassLoader.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPluginClassLoader.java index 3dbd380..22bb8de 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RPluginClassLoader.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPluginClassLoader.java @@ -1,9 +1,9 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.FieldParam.fieldOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllFields; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.set; +import static net.frankheijden.serverutils.common.reflection.FieldParam.fieldOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.set; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.io.Closeable; import java.lang.reflect.Field; diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RPropertyManager.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPropertyManager.java similarity index 71% rename from src/main/java/net/frankheijden/serverutils/reflection/RPropertyManager.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPropertyManager.java index 4794044..f0b15a4 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RPropertyManager.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPropertyManager.java @@ -1,8 +1,8 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.MethodParam.methodOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.MethodParam.methodOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllMethods; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.Method; import java.util.Map; @@ -15,7 +15,7 @@ public class RPropertyManager { static { try { propertyManagerClass = Class.forName(String.format("net.minecraft.server.%s.PropertyManager", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); methods = getAllMethods(propertyManagerClass, methodOf("getBoolean", ALL_VERSIONS, String.class, boolean.class), methodOf("getString", ALL_VERSIONS, String.class, String.class)); diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RRegistryMaterials.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RRegistryMaterials.java similarity index 73% rename from src/main/java/net/frankheijden/serverutils/reflection/RRegistryMaterials.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RRegistryMaterials.java index 91bd6fb..ec6c309 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RRegistryMaterials.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RRegistryMaterials.java @@ -1,15 +1,15 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.FieldParam.fieldOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.get; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.FieldParam.fieldOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.get; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.Field; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; -import net.frankheijden.serverutils.utils.MapUtils; +import net.frankheijden.serverutils.common.utils.MapUtils; import org.bukkit.plugin.Plugin; public class RRegistryMaterials { @@ -21,7 +21,7 @@ public class RRegistryMaterials { static { try { registryMaterialsClass = Class.forName(String.format("net.minecraft.server.%s.RegistryMaterials", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); fields = getAllFields(registryMaterialsClass, fieldOf("b", ALL_VERSIONS)); } catch (Exception ex) { diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RRegistrySimple.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RRegistrySimple.java similarity index 72% rename from src/main/java/net/frankheijden/serverutils/reflection/RRegistrySimple.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RRegistrySimple.java index d34faa5..1dbdde5 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RRegistrySimple.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RRegistrySimple.java @@ -1,15 +1,15 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.FieldParam.fieldOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.get; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.FieldParam.fieldOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.get; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.Field; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; -import net.frankheijden.serverutils.utils.MapUtils; +import net.frankheijden.serverutils.common.utils.MapUtils; import org.bukkit.plugin.Plugin; public class RRegistrySimple { @@ -20,7 +20,7 @@ public class RRegistrySimple { static { try { registrySimpleClass = Class.forName(String.format("net.minecraft.server.%s.RegistrySimple", - ReflectionUtils.NMS)); + BukkitReflection.NMS)); fields = getAllFields(registrySimpleClass, fieldOf("c", ALL_VERSIONS)); } catch (Exception ex) { diff --git a/src/main/java/net/frankheijden/serverutils/reflection/RSimplePluginManager.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RSimplePluginManager.java similarity index 83% rename from src/main/java/net/frankheijden/serverutils/reflection/RSimplePluginManager.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RSimplePluginManager.java index be9fb5c..75b78d2 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/RSimplePluginManager.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RSimplePluginManager.java @@ -1,9 +1,9 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.bukkit.reflection; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.FieldParam.fieldOf; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.VersionParam.ALL_VERSIONS; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.get; -import static net.frankheijden.serverutils.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.FieldParam.fieldOf; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.get; +import static net.frankheijden.serverutils.common.reflection.ReflectionUtils.getAllFields; +import static net.frankheijden.serverutils.common.reflection.VersionParam.ALL_VERSIONS; import java.lang.reflect.Field; import java.util.List; diff --git a/src/main/java/net/frankheijden/serverutils/tasks/UpdateCheckerTask.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/tasks/UpdateCheckerTask.java similarity index 93% rename from src/main/java/net/frankheijden/serverutils/tasks/UpdateCheckerTask.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/tasks/UpdateCheckerTask.java index 1811568..0e5808e 100644 --- a/src/main/java/net/frankheijden/serverutils/tasks/UpdateCheckerTask.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/tasks/UpdateCheckerTask.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.tasks; +package net.frankheijden.serverutils.bukkit.tasks; import com.google.gson.JsonArray; import com.google.gson.JsonElement; @@ -13,14 +13,14 @@ import java.net.SocketTimeoutException; import java.net.UnknownHostException; import java.util.logging.Level; -import net.frankheijden.serverutils.ServerUtils; -import net.frankheijden.serverutils.config.Config; -import net.frankheijden.serverutils.config.Messenger; -import net.frankheijden.serverutils.managers.CloseableResult; -import net.frankheijden.serverutils.managers.PluginManager; -import net.frankheijden.serverutils.managers.VersionManager; -import net.frankheijden.serverutils.utils.FileUtils; -import net.frankheijden.serverutils.utils.VersionUtils; +import net.frankheijden.serverutils.bukkit.ServerUtils; +import net.frankheijden.serverutils.bukkit.config.Config; +import net.frankheijden.serverutils.bukkit.config.Messenger; +import net.frankheijden.serverutils.bukkit.managers.CloseableResult; +import net.frankheijden.serverutils.bukkit.managers.PluginManager; +import net.frankheijden.serverutils.bukkit.managers.VersionManager; +import net.frankheijden.serverutils.common.utils.FileUtils; +import net.frankheijden.serverutils.common.utils.VersionUtils; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.plugin.java.JavaPlugin; diff --git a/src/main/java/net/frankheijden/serverutils/utils/FormatBuilder.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/FormatBuilder.java similarity index 93% rename from src/main/java/net/frankheijden/serverutils/utils/FormatBuilder.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/FormatBuilder.java index a7e6fbb..2f8a3c1 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/FormatBuilder.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/FormatBuilder.java @@ -1,9 +1,9 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.bukkit.utils; import java.util.ArrayList; import java.util.List; -import net.frankheijden.serverutils.config.Messenger; +import net.frankheijden.serverutils.bukkit.config.Messenger; import org.bukkit.command.CommandSender; public class FormatBuilder { diff --git a/src/main/java/net/frankheijden/serverutils/utils/ForwardFilter.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/ForwardFilter.java similarity index 92% rename from src/main/java/net/frankheijden/serverutils/utils/ForwardFilter.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/ForwardFilter.java index 3dfd478..079a64d 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/ForwardFilter.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/ForwardFilter.java @@ -1,8 +1,9 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.bukkit.utils; import java.util.logging.Level; import java.util.logging.LogRecord; +import net.frankheijden.serverutils.common.utils.PredicateFilter; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; diff --git a/src/main/java/net/frankheijden/serverutils/utils/ReloadHandler.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/ReloadHandler.java similarity index 59% rename from src/main/java/net/frankheijden/serverutils/utils/ReloadHandler.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/ReloadHandler.java index 80e88ef..2bc47ba 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/ReloadHandler.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/ReloadHandler.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.bukkit.utils; public interface ReloadHandler { diff --git a/src/main/java/net/frankheijden/serverutils/utils/YamlUtils.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/YamlUtils.java similarity index 96% rename from src/main/java/net/frankheijden/serverutils/utils/YamlUtils.java rename to Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/YamlUtils.java index 24780d1..c7cd7d0 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/YamlUtils.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/utils/YamlUtils.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.bukkit.utils; import java.io.File; import java.io.IOException; diff --git a/src/main/resources/config.yml b/Bukkit/src/main/resources/bukkit-config.yml similarity index 100% rename from src/main/resources/config.yml rename to Bukkit/src/main/resources/bukkit-config.yml diff --git a/src/main/resources/messages.yml b/Bukkit/src/main/resources/bukkit-messages.yml similarity index 100% rename from src/main/resources/messages.yml rename to Bukkit/src/main/resources/bukkit-messages.yml diff --git a/src/main/resources/plugin.yml b/Bukkit/src/main/resources/plugin.yml similarity index 74% rename from src/main/resources/plugin.yml rename to Bukkit/src/main/resources/plugin.yml index 9b91d1b..bc8960f 100644 --- a/src/main/resources/plugin.yml +++ b/Bukkit/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: ServerUtils -main: net.frankheijden.serverutils.ServerUtils +main: net.frankheijden.serverutils.bukkit.ServerUtils version: ${version} author: FrankHeijden api-version: '1.13' diff --git a/Common/build.gradle b/Common/build.gradle new file mode 100644 index 0000000..403cdd7 --- /dev/null +++ b/Common/build.gradle @@ -0,0 +1,11 @@ +group = rootProject.group + '.common' +version = rootProject.version +archivesBaseName = rootProject.name + '-Common' + +repositories { + mavenCentral() +} + +dependencies { + compileOnly 'com.google.code.gson:gson:2.8.6' +} diff --git a/Common/src/main/java/net/frankheijden/serverutils/common/reflection/FieldParam.java b/Common/src/main/java/net/frankheijden/serverutils/common/reflection/FieldParam.java new file mode 100644 index 0000000..22c7c0e --- /dev/null +++ b/Common/src/main/java/net/frankheijden/serverutils/common/reflection/FieldParam.java @@ -0,0 +1,15 @@ +package net.frankheijden.serverutils.common.reflection; + +public class FieldParam { + public String field; + public VersionParam versionParam; + + private FieldParam(String field, VersionParam versionParam) { + this.field = field; + this.versionParam = versionParam; + } + + public static FieldParam fieldOf(String field, VersionParam versionParam) { + return new FieldParam(field, versionParam); + } +} diff --git a/Common/src/main/java/net/frankheijden/serverutils/common/reflection/MethodParam.java b/Common/src/main/java/net/frankheijden/serverutils/common/reflection/MethodParam.java new file mode 100644 index 0000000..0c7e6a9 --- /dev/null +++ b/Common/src/main/java/net/frankheijden/serverutils/common/reflection/MethodParam.java @@ -0,0 +1,18 @@ +package net.frankheijden.serverutils.common.reflection; + +public class MethodParam { + + public String method; + public VersionParam versionParam; + public Class[] params; + + private MethodParam(String method, VersionParam versionParam, Class... params) { + this.method = method; + this.versionParam = versionParam; + this.params = params; + } + + public static MethodParam methodOf(String method, VersionParam versionParam, Class... params) { + return new MethodParam(method, versionParam, params); + } +} diff --git a/src/main/java/net/frankheijden/serverutils/reflection/ReflectionUtils.java b/Common/src/main/java/net/frankheijden/serverutils/common/reflection/ReflectionUtils.java similarity index 69% rename from src/main/java/net/frankheijden/serverutils/reflection/ReflectionUtils.java rename to Common/src/main/java/net/frankheijden/serverutils/common/reflection/ReflectionUtils.java index 7b542d1..90b377b 100644 --- a/src/main/java/net/frankheijden/serverutils/reflection/ReflectionUtils.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/reflection/ReflectionUtils.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.reflection; +package net.frankheijden.serverutils.common.reflection; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -6,25 +6,20 @@ import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; -import org.bukkit.Bukkit; +public abstract class ReflectionUtils { -public class ReflectionUtils { + private static ReflectionUtils instance; - public static String NMS; - public static int MAJOR; - public static int MINOR; - public static int PATCH; - - static { - String bukkitPackage = Bukkit.getServer().getClass().getPackage().getName(); - NMS = bukkitPackage.substring(bukkitPackage.lastIndexOf('.') + 1); - - String[] split = NMS.split("_"); - MAJOR = Integer.parseInt(split[0].substring(1)); - MINOR = Integer.parseInt(split[1]); - PATCH = Integer.parseInt(split[2].substring(1, 2)); + public ReflectionUtils() { + instance = this; } + public static ReflectionUtils getInstance() { + return instance; + } + + public abstract boolean isCompatible(VersionParam param); + /** * Retrieves a declared field from a class and makes it accessible. * @param clazz The class of the method. @@ -90,7 +85,7 @@ public class ReflectionUtils { public static Map getAllFields(Class clazz, FieldParam... fieldParams) { Map map = new HashMap<>(); for (FieldParam fieldParam : fieldParams) { - if (!fieldParam.versionParam.isCompatible()) continue; + if (!getInstance().isCompatible(fieldParam.versionParam)) continue; try { map.put(fieldParam.field, getDeclaredField(clazz, fieldParam.field)); } catch (NoSuchFieldException ignored) { @@ -113,7 +108,7 @@ public class ReflectionUtils { public static Map getAllMethods(Class clazz, MethodParam... methodParams) { Map map = new HashMap<>(); for (MethodParam methodParam : methodParams) { - if (!methodParam.versionParam.isCompatible()) continue; + if (!getInstance().isCompatible(methodParam.versionParam)) continue; try { map.put(methodParam.method, getDeclaredMethod(clazz, methodParam.method, methodParam.params)); } catch (NoSuchMethodException ignored) { @@ -174,70 +169,4 @@ public class ReflectionUtils { if (field == null) return; field.set(instance, value); } - - public static class VersionParam { - public static VersionParam ALL_VERSIONS = new VersionParam(Integer.MIN_VALUE, Integer.MAX_VALUE); - - public int min; - public int max; - - private VersionParam(int min, int max) { - this.min = min; - this.max = max; - } - - public static VersionParam versionOf(int ver) { - return new VersionParam(ver, ver); - } - - public static VersionParam between(int min, int max) { - return new VersionParam(min, max); - } - - public static VersionParam min(int min) { - return between(min, Integer.MAX_VALUE); - } - - public static VersionParam max(int max) { - return between(Integer.MIN_VALUE, max); - } - - public boolean isCompatible() { - return VersionParam.isCompatible(this); - } - - public static boolean isCompatible(VersionParam versionParam) { - return versionParam.min <= MINOR && MINOR <= versionParam.max; - } - } - - public static class FieldParam { - public String field; - public VersionParam versionParam; - - private FieldParam(String field, VersionParam versionParam) { - this.field = field; - this.versionParam = versionParam; - } - - public static FieldParam fieldOf(String field, VersionParam versionParam) { - return new FieldParam(field, versionParam); - } - } - - public static class MethodParam { - public String method; - public VersionParam versionParam; - public Class[] params; - - private MethodParam(String method, VersionParam versionParam, Class... params) { - this.method = method; - this.versionParam = versionParam; - this.params = params; - } - - public static MethodParam methodOf(String method, VersionParam versionParam, Class... params) { - return new MethodParam(method, versionParam, params); - } - } } diff --git a/Common/src/main/java/net/frankheijden/serverutils/common/reflection/VersionParam.java b/Common/src/main/java/net/frankheijden/serverutils/common/reflection/VersionParam.java new file mode 100644 index 0000000..a2ec9fa --- /dev/null +++ b/Common/src/main/java/net/frankheijden/serverutils/common/reflection/VersionParam.java @@ -0,0 +1,30 @@ +package net.frankheijden.serverutils.common.reflection; + +public class VersionParam { + + public static VersionParam ALL_VERSIONS = new VersionParam(Integer.MIN_VALUE, Integer.MAX_VALUE); + + public int min; + public int max; + + private VersionParam(int min, int max) { + this.min = min; + this.max = max; + } + + public static VersionParam versionOf(int ver) { + return new VersionParam(ver, ver); + } + + public static VersionParam between(int min, int max) { + return new VersionParam(min, max); + } + + public static VersionParam min(int min) { + return between(min, Integer.MAX_VALUE); + } + + public static VersionParam max(int max) { + return between(Integer.MIN_VALUE, max); + } +} diff --git a/src/main/java/net/frankheijden/serverutils/utils/FileUtils.java b/Common/src/main/java/net/frankheijden/serverutils/common/utils/FileUtils.java similarity index 98% rename from src/main/java/net/frankheijden/serverutils/utils/FileUtils.java rename to Common/src/main/java/net/frankheijden/serverutils/common/utils/FileUtils.java index 8545e05..a08aee4 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/FileUtils.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/utils/FileUtils.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.common.utils; import com.google.gson.JsonElement; import com.google.gson.JsonParser; diff --git a/src/main/java/net/frankheijden/serverutils/utils/ListBuilder.java b/Common/src/main/java/net/frankheijden/serverutils/common/utils/ListBuilder.java similarity index 97% rename from src/main/java/net/frankheijden/serverutils/utils/ListBuilder.java rename to Common/src/main/java/net/frankheijden/serverutils/common/utils/ListBuilder.java index 9647253..5228a25 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/ListBuilder.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/utils/ListBuilder.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.common.utils; import java.util.List; diff --git a/src/main/java/net/frankheijden/serverutils/utils/ListFormat.java b/Common/src/main/java/net/frankheijden/serverutils/common/utils/ListFormat.java similarity index 70% rename from src/main/java/net/frankheijden/serverutils/utils/ListFormat.java rename to Common/src/main/java/net/frankheijden/serverutils/common/utils/ListFormat.java index 4301204..70ecd62 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/ListFormat.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/utils/ListFormat.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.common.utils; public interface ListFormat { diff --git a/src/main/java/net/frankheijden/serverutils/utils/MapUtils.java b/Common/src/main/java/net/frankheijden/serverutils/common/utils/MapUtils.java similarity index 95% rename from src/main/java/net/frankheijden/serverutils/utils/MapUtils.java rename to Common/src/main/java/net/frankheijden/serverutils/common/utils/MapUtils.java index a0f1b1e..a8dfc27 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/MapUtils.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/utils/MapUtils.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.common.utils; import java.util.HashSet; import java.util.Map; diff --git a/src/main/java/net/frankheijden/serverutils/utils/PredicateFilter.java b/Common/src/main/java/net/frankheijden/serverutils/common/utils/PredicateFilter.java similarity index 93% rename from src/main/java/net/frankheijden/serverutils/utils/PredicateFilter.java rename to Common/src/main/java/net/frankheijden/serverutils/common/utils/PredicateFilter.java index bbca442..9695217 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/PredicateFilter.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/utils/PredicateFilter.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.common.utils; import java.util.function.Predicate; import java.util.logging.Filter; diff --git a/src/main/java/net/frankheijden/serverutils/utils/VersionUtils.java b/Common/src/main/java/net/frankheijden/serverutils/common/utils/VersionUtils.java similarity index 96% rename from src/main/java/net/frankheijden/serverutils/utils/VersionUtils.java rename to Common/src/main/java/net/frankheijden/serverutils/common/utils/VersionUtils.java index 934439e..a5a2173 100644 --- a/src/main/java/net/frankheijden/serverutils/utils/VersionUtils.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/utils/VersionUtils.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.common.utils; import java.util.regex.Pattern; diff --git a/src/test/java/net/frankheijden/serverutils/utils/ListBuilderTest.java b/Common/src/test/java/net/frankheijden/serverutils/common/utils/ListBuilderTest.java similarity index 97% rename from src/test/java/net/frankheijden/serverutils/utils/ListBuilderTest.java rename to Common/src/test/java/net/frankheijden/serverutils/common/utils/ListBuilderTest.java index ec4b78f..e2f75fc 100644 --- a/src/test/java/net/frankheijden/serverutils/utils/ListBuilderTest.java +++ b/Common/src/test/java/net/frankheijden/serverutils/common/utils/ListBuilderTest.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.common.utils; import static java.util.Arrays.asList; import static java.util.Collections.singletonList; diff --git a/src/test/java/net/frankheijden/serverutils/utils/VersionUtilsTest.java b/Common/src/test/java/net/frankheijden/serverutils/common/utils/VersionUtilsTest.java similarity index 96% rename from src/test/java/net/frankheijden/serverutils/utils/VersionUtilsTest.java rename to Common/src/test/java/net/frankheijden/serverutils/common/utils/VersionUtilsTest.java index 1b00f96..5dcc22e 100644 --- a/src/test/java/net/frankheijden/serverutils/utils/VersionUtilsTest.java +++ b/Common/src/test/java/net/frankheijden/serverutils/common/utils/VersionUtilsTest.java @@ -1,4 +1,4 @@ -package net.frankheijden.serverutils.utils; +package net.frankheijden.serverutils.common.utils; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.params.provider.Arguments.of; diff --git a/build.gradle b/build.gradle index ed772dc..65bfd10 100644 --- a/build.gradle +++ b/build.gradle @@ -1,61 +1,58 @@ plugins { id 'java' - id 'checkstyle' id 'com.github.johnrengelman.shadow' version '5.2.0' } -String packagePath = 'net.frankheijden.serverutils' -group = packagePath -version '1.5.3' +group = 'net.frankheijden.serverutils' +version = '1.5.3' + sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 -repositories { - mavenCentral() - maven { url 'https://repo.aikar.co/content/groups/aikar/' } - maven { url 'https://papermc.io/repo/repository/maven-public/' } +subprojects { + apply plugin: 'java' + apply plugin: 'checkstyle' + apply plugin: 'com.github.johnrengelman.shadow' + + sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 + + repositories { + mavenCentral() + maven { url 'https://repo.aikar.co/content/groups/aikar/' } + maven { url 'https://papermc.io/repo/repository/maven-public/' } + } + + dependencies { + testCompile 'org.assertj:assertj-core:3.15.0' + testCompile 'org.junit.jupiter:junit-jupiter-api:5.6.2' + testCompile 'org.junit.jupiter:junit-jupiter-params:5.6.2' + testCompile 'org.junit.jupiter:junit-jupiter-engine:5.6.2' + } + + compileJava { + options.compilerArgs += ["-parameters"] + options.fork = true + options.forkOptions.executable = 'javac' + } + + test { + useJUnitPlatform() + } + + checkstyle { + toolVersion "8.25" + configFile = rootProject.file('config/checkstyle/checkstyle.xml') + + ignoreFailures = false + maxErrors = 0 + maxWarnings = 0 + } + + shadowJar.dependsOn checkstyleMain, checkstyleTest, test } dependencies { - implementation 'co.aikar:acf-paper:0.5.0-SNAPSHOT' - implementation 'org.bstats:bstats-bukkit:1.7' - compileOnly 'com.destroystokyo.paper:paper-api:1.16.1-R0.1-SNAPSHOT' - - testCompile 'org.assertj:assertj-core:3.15.0' - testCompile 'org.junit.jupiter:junit-jupiter-api:5.6.2' - testCompile 'org.junit.jupiter:junit-jupiter-params:5.6.2' - testCompile 'org.junit.jupiter:junit-jupiter-engine:5.6.2' + compile project(path: ':Common', configuration: 'shadow') + compile project(path: ':Bukkit', configuration: 'shadow') } -processResources { - from('src/main/resources') { - include 'plugin.yml' - expand(version: project.version) - } -} - -compileJava { - options.compilerArgs += ["-parameters"] - options.fork = true - options.forkOptions.executable = 'javac' -} - -shadowJar { - relocate 'co.aikar.commands', packagePath + '.acf' - relocate 'co.aikar.locales', packagePath + '.locales' - relocate 'org.bstats.bukkit', packagePath + '.dependencies.bstats' -} - -checkstyle { - toolVersion "8.25" - configFile = rootProject.file('config/checkstyle/checkstyle.xml') - - ignoreFailures = false - maxErrors = 0 - maxWarnings = 0 -} - -test { - useJUnitPlatform() -} - -build.dependsOn shadowJar \ No newline at end of file +build.dependsOn shadowJar diff --git a/settings.gradle b/settings.gradle index 2f0d576..47bd77c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,3 @@ rootProject.name = 'ServerUtils' +include 'Common', 'Bukkit'