diff --git a/README.md b/README.md index 75b2d0b..026e274 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,15 @@ ```xml - zhdev-repo - https://maven.zhdev.org/repository/ + zhira-repo + https://maven.zhira.net/repository/ ``` ```xml - org.zhdev.varioutil + net.zhira.varioutil all 1.0-SNAPSHOT @@ -22,7 +22,7 @@ ```xml - org.zhdev.varioutil + net.zhira.varioutil common 1.0-SNAPSHOT @@ -32,7 +32,7 @@ ```java import java.lang.reflect.Field; -import org.zhdev.varioutil.ReflectionUtils; +import net.zhira.varioutil.ReflectionUtils; import org.bukkit.Bukkit; public class BukkitFields { @@ -53,7 +53,7 @@ public class BukkitFields { ```xml - org.zhdev.varioutil + net.zhira.varioutil io 1.0-SNAPSHOT @@ -62,8 +62,8 @@ public class BukkitFields { #### Code ```java -import org.zhdev.varioutil.Config; -import org.zhdev.varioutil.YamlConfig; +import net.zhira.varioutil.Config; +import net.zhira.varioutil.YamlConfig; import java.util.List; diff --git a/all/pom.xml b/all/pom.xml index 715d7cd..5f6ac5a 100644 --- a/all/pom.xml +++ b/all/pom.xml @@ -1,9 +1,12 @@ - + + 4.0.0 parent - org.zhdev.varioutil + net.zhira.varioutil 1.0-SNAPSHOT diff --git a/bukkit/pom.xml b/bukkit/pom.xml index 0a6e4dd..3f72d70 100644 --- a/bukkit/pom.xml +++ b/bukkit/pom.xml @@ -1,8 +1,11 @@ - + + 4.0.0 - org.zhdev.varioutil + net.zhira.varioutil parent 1.0-SNAPSHOT @@ -44,7 +47,7 @@ org.spigotmc spigot-api - 1.20-R0.1-SNAPSHOT + 1.21.1-R0.1-SNAPSHOT provided diff --git a/bukkit/src/main/java/org/zhdev/varioutil/BukkitPlugin.java b/bukkit/src/main/java/net/zhira/varioutil/BukkitPlugin.java similarity index 98% rename from bukkit/src/main/java/org/zhdev/varioutil/BukkitPlugin.java rename to bukkit/src/main/java/net/zhira/varioutil/BukkitPlugin.java index 377eafe..3a2ecea 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/BukkitPlugin.java +++ b/bukkit/src/main/java/net/zhira/varioutil/BukkitPlugin.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil; +package net.zhira.varioutil; import org.bukkit.Bukkit; import org.bukkit.command.Command; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/BukkitPreparedPlugin.java b/bukkit/src/main/java/net/zhira/varioutil/BukkitPreparedPlugin.java similarity index 92% rename from bukkit/src/main/java/org/zhdev/varioutil/BukkitPreparedPlugin.java rename to bukkit/src/main/java/net/zhira/varioutil/BukkitPreparedPlugin.java index 4bab94c..b5db48e 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/BukkitPreparedPlugin.java +++ b/bukkit/src/main/java/net/zhira/varioutil/BukkitPreparedPlugin.java @@ -1,5 +1,8 @@ -package org.zhdev.varioutil; +package net.zhira.varioutil; +import net.zhira.varioutil.language.Language; +import net.zhira.varioutil.util.CollectionUtils; +import net.zhira.varioutil.util.ColorUtils; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.PluginIdentifiableCommand; @@ -9,17 +12,14 @@ import org.bukkit.event.Listener; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.java.JavaPluginLoader; import org.jetbrains.annotations.NotNull; -import org.zhdev.varioutil.bukkit.command.PreparedPluginCommand; -import org.zhdev.varioutil.config.BukkitYamlConfig; -import org.zhdev.varioutil.config.Config; -import org.zhdev.varioutil.config.ConfigSection; -import org.zhdev.varioutil.config.YamlConfig; -import org.zhdev.varioutil.language.Language; -import org.zhdev.varioutil.sql.SqlAdapter; -import org.zhdev.varioutil.util.BukkitUtils; -import org.zhdev.varioutil.util.CollectionUtils; -import org.zhdev.varioutil.util.ColorUtils; -import org.zhdev.varioutil.util.ConfigUtils; +import net.zhira.varioutil.bukkit.command.PreparedPluginCommand; +import net.zhira.varioutil.config.BukkitYamlConfig; +import net.zhira.varioutil.config.Config; +import net.zhira.varioutil.config.ConfigSection; +import net.zhira.varioutil.config.YamlConfig; +import net.zhira.varioutil.sql.SqlAdapter; +import net.zhira.varioutil.util.BukkitUtils; +import net.zhira.varioutil.util.ConfigUtils; import java.io.File; import java.nio.file.Path; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/LegacyMaterial.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/LegacyMaterial.java similarity index 97% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/LegacyMaterial.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/LegacyMaterial.java index c6f1fef..c145309 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/LegacyMaterial.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/LegacyMaterial.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.bukkit; +package net.zhira.varioutil.bukkit; import org.bukkit.Material; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/AbstractPluginCommand.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/command/AbstractPluginCommand.java similarity index 98% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/AbstractPluginCommand.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/command/AbstractPluginCommand.java index b41319e..57c7723 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/AbstractPluginCommand.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/command/AbstractPluginCommand.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.bukkit.command; +package net.zhira.varioutil.bukkit.command; import org.bukkit.command.*; import org.bukkit.plugin.Plugin; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/PreparedPluginCommand.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/command/PreparedPluginCommand.java similarity index 95% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/PreparedPluginCommand.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/command/PreparedPluginCommand.java index c3866e2..4525ca6 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/PreparedPluginCommand.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/command/PreparedPluginCommand.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.bukkit.command; +package net.zhira.varioutil.bukkit.command; import org.bukkit.command.*; import org.bukkit.plugin.Plugin; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/ClickHandler.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/ClickHandler.java similarity index 83% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/ClickHandler.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/ClickHandler.java index 7c9aef7..c988f56 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/ClickHandler.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/ClickHandler.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.bukkit.gui; +package net.zhira.varioutil.bukkit.gui; import org.bukkit.event.inventory.InventoryClickEvent; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/Gui.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/Gui.java similarity index 98% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/Gui.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/Gui.java index 59d87dd..a22c4d6 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/Gui.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/Gui.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.bukkit.gui; +package net.zhira.varioutil.bukkit.gui; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiConfig.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiConfig.java similarity index 95% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiConfig.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiConfig.java index f3dbe05..824d7c5 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiConfig.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiConfig.java @@ -1,6 +1,6 @@ -package org.zhdev.varioutil.bukkit.gui; +package net.zhira.varioutil.bukkit.gui; -import org.zhdev.varioutil.config.ConfigSection; +import net.zhira.varioutil.config.ConfigSection; import java.util.Collections; import java.util.HashMap; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiHolder.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiHolder.java similarity index 92% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiHolder.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiHolder.java index ab31d90..b9532bd 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiHolder.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiHolder.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.bukkit.gui; +package net.zhira.varioutil.bukkit.gui; import org.bukkit.Bukkit; import org.bukkit.inventory.Inventory; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiIcon.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiIcon.java similarity index 97% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiIcon.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiIcon.java index ca641b7..2cdba1d 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiIcon.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiIcon.java @@ -1,11 +1,11 @@ -package org.zhdev.varioutil.bukkit.gui; +package net.zhira.varioutil.bukkit.gui; import org.bukkit.Material; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.SkullMeta; -import org.zhdev.varioutil.util.BukkitUtils; +import net.zhira.varioutil.util.BukkitUtils; import java.util.Arrays; import java.util.Collections; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiIconConfig.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiIconConfig.java similarity index 87% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiIconConfig.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiIconConfig.java index 6a4cd08..c175571 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiIconConfig.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiIconConfig.java @@ -1,9 +1,9 @@ -package org.zhdev.varioutil.bukkit.gui; +package net.zhira.varioutil.bukkit.gui; +import net.zhira.varioutil.config.ConfigSection; +import net.zhira.varioutil.util.StringUtils; import org.bukkit.Material; -import org.zhdev.varioutil.bukkit.LegacyMaterial; -import org.zhdev.varioutil.config.ConfigSection; -import org.zhdev.varioutil.util.StringUtils; +import net.zhira.varioutil.bukkit.LegacyMaterial; public class GuiIconConfig { protected final Material type; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiListener.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiListener.java similarity index 98% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiListener.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiListener.java index 43fac37..a52cc44 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiListener.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiListener.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.bukkit.gui; +package net.zhira.varioutil.bukkit.gui; import org.bukkit.Bukkit; import org.bukkit.entity.Player; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiType.java b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiType.java similarity index 96% rename from bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiType.java rename to bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiType.java index 250be28..5479726 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/gui/GuiType.java +++ b/bukkit/src/main/java/net/zhira/varioutil/bukkit/gui/GuiType.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.bukkit.gui; +package net.zhira.varioutil.bukkit.gui; import org.bukkit.Bukkit; import org.bukkit.event.inventory.InventoryType; diff --git a/bukkit/src/main/java/org/zhdev/varioutil/config/BukkitYamlConfig.java b/bukkit/src/main/java/net/zhira/varioutil/config/BukkitYamlConfig.java similarity index 97% rename from bukkit/src/main/java/org/zhdev/varioutil/config/BukkitYamlConfig.java rename to bukkit/src/main/java/net/zhira/varioutil/config/BukkitYamlConfig.java index 323102e..5295f26 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/config/BukkitYamlConfig.java +++ b/bukkit/src/main/java/net/zhira/varioutil/config/BukkitYamlConfig.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; import org.bukkit.configuration.serialization.ConfigurationSerializable; import org.bukkit.configuration.serialization.ConfigurationSerialization; diff --git a/bukkit/src/main/java/net/zhira/varioutil/util/BukkitReflectionUtils.java b/bukkit/src/main/java/net/zhira/varioutil/util/BukkitReflectionUtils.java new file mode 100644 index 0000000..8e05db3 --- /dev/null +++ b/bukkit/src/main/java/net/zhira/varioutil/util/BukkitReflectionUtils.java @@ -0,0 +1,132 @@ +package net.zhira.varioutil.util; + +import com.mojang.authlib.GameProfile; +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandMap; +import org.bukkit.command.SimpleCommandMap; +import org.bukkit.inventory.meta.SkullMeta; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.function.Supplier; + +class BukkitReflectionUtils { + private static final String OBC_PACKAGE = Bukkit.getServer().getClass().getPackage().getName(); + + private static final Class __CraftServer__CLASS = ReflectionUtils.searchType(OBC_PACKAGE + ".CraftServer"); + private static final Class __CraftMetaSkull__CLASS = ReflectionUtils.searchType(OBC_PACKAGE + ".inventory.CraftMetaSkull"); + + private static final Field __commandMap__CraftServer__FIELD = ReflectionUtils.fieldSearcher() + .type(__CraftServer__CLASS) + .fieldOf("commandMap") + .fieldType(CommandMap.class) + .search(); + private static final Field __knownCommands__SimpleCommandMap__FIELD = ReflectionUtils.fieldSearcher() + .type(SimpleCommandMap.class) + .fieldOf("knownCommands") + .fieldType(Map.class) + .search(); + + private static final GameProfileConsumer GAME_PROFILE_CONSUMER; + + static CommandMap getCommandMap() { + return (CommandMap) ReflectionUtils.getFieldValue(Bukkit.getServer(), __commandMap__CraftServer__FIELD); + } + + @SuppressWarnings("unchecked") + static Map getKnownCommands() { + return (Map) ReflectionUtils.getFieldValue(getCommandMap(), __knownCommands__SimpleCommandMap__FIELD); + } + + static void setProfile(SkullMeta meta, GameProfile profile) { + GAME_PROFILE_CONSUMER.accept(meta, profile); + } + + private interface GameProfileConsumer { + void accept(SkullMeta meta, GameProfile profile); + } + + private static class ModernGameProfileConsumer implements GameProfileConsumer { + private final Class __ResolvableProfile_CLASS = ReflectionUtils.getType("net.minecraft.world.item.component.ResolvableProfile"); + private final Constructor __ResolvableProfile_CONSTRUCTOR; + protected final Method __setProfile__CraftMetaSkull__METHOD = ReflectionUtils.methodSearcher() + .type(__CraftMetaSkull__CLASS) + .methodOf("setProfile") + .parameters(__ResolvableProfile_CLASS) + .returns(void.class) + .search(); + + ModernGameProfileConsumer() { + Constructor resolvableConstructor; + try { + resolvableConstructor = __ResolvableProfile_CLASS.getConstructor(GameProfile.class); + } catch (NoSuchMethodException e) { + throw new NoSuchMethodError("Cannot get constructor of " + __ResolvableProfile_CLASS); + } + __ResolvableProfile_CONSTRUCTOR = resolvableConstructor; + } + + @Override + public void accept(SkullMeta meta, GameProfile profile) { + try { + Object resolvableProfile = __ResolvableProfile_CONSTRUCTOR.newInstance(profile); + ReflectionUtils.invokeMethod(meta, __setProfile__CraftMetaSkull__METHOD, resolvableProfile); + } catch (ReflectiveOperationException e) { + throw new RuntimeException(e); + } + } + } + + private static class LegacyGameProfileConsumer implements GameProfileConsumer { + protected final Method __setProfile__CraftMetaSkull__METHOD = ReflectionUtils.methodSearcher() + .type(__CraftMetaSkull__CLASS) + .methodOf("setProfile") + .parameters(GameProfile.class) + .returns(void.class) + .search(); + + @Override + public void accept(SkullMeta meta, GameProfile profile) { + ReflectionUtils.invokeMethod(meta, __setProfile__CraftMetaSkull__METHOD, profile); + } + } + + private static class AncientGameProfileConsumer implements GameProfileConsumer { + private final Field __profile__CraftMetaSkull__FIELD = ReflectionUtils.fieldSearcher() + .type(__CraftMetaSkull__CLASS) + .fieldOf("profile") + .fieldType(GameProfile.class) + .search(); + + @Override + public void accept(SkullMeta meta, GameProfile profile) { + ReflectionUtils.setFieldValue(meta, __profile__CraftMetaSkull__FIELD, profile); + } + } + + @SafeVarargs + private static GameProfileConsumer tryCreateGameProfileConsumer(Supplier... suppliers) { + List errorMessages = new ArrayList<>(); + for (Supplier supplier : suppliers) { + try { + return supplier.get(); + } catch (Exception | Error e) { + errorMessages.add(e.getClass() + ": " + e.getMessage()); + } + } + throw new IllegalStateException("Cannot create GameProfileConsumer: " + String.join("; ", errorMessages)); + } + + static { + GAME_PROFILE_CONSUMER = tryCreateGameProfileConsumer( + ModernGameProfileConsumer::new, + LegacyGameProfileConsumer::new, + AncientGameProfileConsumer::new + ); + } +} diff --git a/bukkit/src/main/java/org/zhdev/varioutil/util/BukkitUtils.java b/bukkit/src/main/java/net/zhira/varioutil/util/BukkitUtils.java similarity index 86% rename from bukkit/src/main/java/org/zhdev/varioutil/util/BukkitUtils.java rename to bukkit/src/main/java/net/zhira/varioutil/util/BukkitUtils.java index cc75588..1be5413 100644 --- a/bukkit/src/main/java/org/zhdev/varioutil/util/BukkitUtils.java +++ b/bukkit/src/main/java/net/zhira/varioutil/util/BukkitUtils.java @@ -1,7 +1,8 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; import com.mojang.authlib.GameProfile; import com.mojang.authlib.properties.Property; +import net.zhira.varioutil.Version; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandMap; @@ -9,15 +10,11 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.util.io.BukkitObjectInputStream; import org.bukkit.util.io.BukkitObjectOutputStream; -import org.zhdev.varioutil.Version; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.util.Base64; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; +import java.util.*; import java.util.function.Predicate; public class BukkitUtils { @@ -28,6 +25,8 @@ public class BukkitUtils { private static final Map PROFILE_CACHE = new HashMap<>(); + private static final String PROFILE_NAME_CHARACTERS = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890_"; + public static Command getCommand(String label) { return KNOWN_COMMANDS.get(label); } @@ -55,7 +54,12 @@ public class BukkitUtils { public static void setSkullTexture(SkullMeta meta, String base64) { GameProfile profile = PROFILE_CACHE.get(base64); if (profile == null) { - profile = new GameProfile(UUID.randomUUID(), base64); + Random random = new Random(); + char[] buffer = new char[16]; + for (int i = 0; i < 16; i++) { + buffer[i] = PROFILE_NAME_CHARACTERS.charAt(random.nextInt(PROFILE_NAME_CHARACTERS.length())); + } + profile = new GameProfile(UUID.randomUUID(), String.valueOf(buffer)); profile.getProperties().put("textures", new Property("textures", base64)); PROFILE_CACHE.put(base64, profile); } diff --git a/bukkit/src/main/java/org/zhdev/varioutil/util/BukkitReflectionUtils.java b/bukkit/src/main/java/org/zhdev/varioutil/util/BukkitReflectionUtils.java deleted file mode 100644 index 31dfba8..0000000 --- a/bukkit/src/main/java/org/zhdev/varioutil/util/BukkitReflectionUtils.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.zhdev.varioutil.util; - -import com.mojang.authlib.GameProfile; -import org.bukkit.Bukkit; -import org.bukkit.command.Command; -import org.bukkit.command.CommandMap; -import org.bukkit.command.SimpleCommandMap; -import org.bukkit.inventory.meta.SkullMeta; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.Map; - -import static org.zhdev.varioutil.util.ReflectionUtils.*; - -class BukkitReflectionUtils { - private static final String VERSION = Bukkit.getServer().getClass().getName().split("\\.")[3]; - - private static final Class __CraftServer__CLASS = searchType("org.bukkit.craftbukkit." + VERSION + ".CraftServer"); - - private static final Method __setProfile__CraftMetaSkull__METHOD = ReflectionUtils.methodSearcher() - .typeOf("org.bukkit.craftbukkit." + VERSION + ".inventory.CraftMetaSkull") - .methodOf("setProfile") - .parameters(GameProfile.class) - .returns(void.class) - .search(); - - private static final Field __commandMap__CraftServer__FIELD = fieldSearcher() - .fieldOf("commandMap") - .type(__CraftServer__CLASS) - .fieldType(CommandMap.class) - .search(); - private static final Field __knownCommands__SimpleCommandMap__FIELD = fieldSearcher() - .fieldOf("knownCommands") - .type(SimpleCommandMap.class) - .fieldType(Map.class) - .search(); - - static CommandMap getCommandMap() { - return (CommandMap) getFieldValue(__commandMap__CraftServer__FIELD, Bukkit.getServer()); - } - - @SuppressWarnings("unchecked") - static Map getKnownCommands() { - return (Map) getFieldValue(__knownCommands__SimpleCommandMap__FIELD, getCommandMap()); - } - - static void setProfile(SkullMeta meta, GameProfile profile) { - ReflectionUtils.invokeMethod(meta, __setProfile__CraftMetaSkull__METHOD, profile); - } -} diff --git a/common/pom.xml b/common/pom.xml index d09b582..c2ebc50 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -1,9 +1,12 @@ - + + 4.0.0 parent - org.zhdev.varioutil + net.zhira.varioutil 1.0-SNAPSHOT diff --git a/common/src/main/java/org/zhdev/varioutil/Version.java b/common/src/main/java/net/zhira/varioutil/Version.java similarity index 99% rename from common/src/main/java/org/zhdev/varioutil/Version.java rename to common/src/main/java/net/zhira/varioutil/Version.java index fe36e98..03729e5 100644 --- a/common/src/main/java/org/zhdev/varioutil/Version.java +++ b/common/src/main/java/net/zhira/varioutil/Version.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil; +package net.zhira.varioutil; import org.jetbrains.annotations.NotNull; diff --git a/common/src/main/java/org/zhdev/varioutil/language/Language.java b/common/src/main/java/net/zhira/varioutil/language/Language.java similarity index 96% rename from common/src/main/java/org/zhdev/varioutil/language/Language.java rename to common/src/main/java/net/zhira/varioutil/language/Language.java index a8b6ec6..639b9e5 100644 --- a/common/src/main/java/org/zhdev/varioutil/language/Language.java +++ b/common/src/main/java/net/zhira/varioutil/language/Language.java @@ -1,6 +1,6 @@ -package org.zhdev.varioutil.language; +package net.zhira.varioutil.language; -import org.zhdev.varioutil.util.StringUtils; +import net.zhira.varioutil.util.StringUtils; import java.util.HashMap; import java.util.LinkedHashMap; diff --git a/common/src/main/java/org/zhdev/varioutil/reflection/FieldSearcher.java b/common/src/main/java/net/zhira/varioutil/reflection/FieldSearcher.java similarity index 93% rename from common/src/main/java/org/zhdev/varioutil/reflection/FieldSearcher.java rename to common/src/main/java/net/zhira/varioutil/reflection/FieldSearcher.java index 2f39cc3..6086f75 100644 --- a/common/src/main/java/org/zhdev/varioutil/reflection/FieldSearcher.java +++ b/common/src/main/java/net/zhira/varioutil/reflection/FieldSearcher.java @@ -1,6 +1,6 @@ -package org.zhdev.varioutil.reflection; +package net.zhira.varioutil.reflection; -import org.zhdev.varioutil.util.ReflectionUtils; +import net.zhira.varioutil.util.ReflectionUtils; import java.lang.reflect.Field; @@ -74,7 +74,7 @@ public class FieldSearcher { } public Object get() { - return ReflectionUtils.getFieldValue(search(), instance); + return ReflectionUtils.getFieldValue(instance, search()); } public T get(Class type) { diff --git a/common/src/main/java/org/zhdev/varioutil/reflection/MethodSearcher.java b/common/src/main/java/net/zhira/varioutil/reflection/MethodSearcher.java similarity index 96% rename from common/src/main/java/org/zhdev/varioutil/reflection/MethodSearcher.java rename to common/src/main/java/net/zhira/varioutil/reflection/MethodSearcher.java index dc754de..6ca9c81 100644 --- a/common/src/main/java/org/zhdev/varioutil/reflection/MethodSearcher.java +++ b/common/src/main/java/net/zhira/varioutil/reflection/MethodSearcher.java @@ -1,6 +1,6 @@ -package org.zhdev.varioutil.reflection; +package net.zhira.varioutil.reflection; -import org.zhdev.varioutil.util.ReflectionUtils; +import net.zhira.varioutil.util.ReflectionUtils; import java.lang.reflect.Method; diff --git a/common/src/main/java/org/zhdev/varioutil/util/ArrayUtils.java b/common/src/main/java/net/zhira/varioutil/util/ArrayUtils.java similarity index 98% rename from common/src/main/java/org/zhdev/varioutil/util/ArrayUtils.java rename to common/src/main/java/net/zhira/varioutil/util/ArrayUtils.java index 52ea91a..1941b5f 100644 --- a/common/src/main/java/org/zhdev/varioutil/util/ArrayUtils.java +++ b/common/src/main/java/net/zhira/varioutil/util/ArrayUtils.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; import java.util.Collection; import java.util.function.Function; diff --git a/common/src/main/java/org/zhdev/varioutil/util/CollectionUtils.java b/common/src/main/java/net/zhira/varioutil/util/CollectionUtils.java similarity index 98% rename from common/src/main/java/org/zhdev/varioutil/util/CollectionUtils.java rename to common/src/main/java/net/zhira/varioutil/util/CollectionUtils.java index 8123340..eb0c4eb 100644 --- a/common/src/main/java/org/zhdev/varioutil/util/CollectionUtils.java +++ b/common/src/main/java/net/zhira/varioutil/util/CollectionUtils.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; import java.util.Collection; import java.util.List; diff --git a/common/src/main/java/org/zhdev/varioutil/util/DateTimeUtils.java b/common/src/main/java/net/zhira/varioutil/util/DateTimeUtils.java similarity index 99% rename from common/src/main/java/org/zhdev/varioutil/util/DateTimeUtils.java rename to common/src/main/java/net/zhira/varioutil/util/DateTimeUtils.java index 3d1f791..a82cfe1 100644 --- a/common/src/main/java/org/zhdev/varioutil/util/DateTimeUtils.java +++ b/common/src/main/java/net/zhira/varioutil/util/DateTimeUtils.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; import java.time.*; import java.time.format.DateTimeFormatter; diff --git a/common/src/main/java/org/zhdev/varioutil/util/EnumUtils.java b/common/src/main/java/net/zhira/varioutil/util/EnumUtils.java similarity index 98% rename from common/src/main/java/org/zhdev/varioutil/util/EnumUtils.java rename to common/src/main/java/net/zhira/varioutil/util/EnumUtils.java index a8b3b36..a04c031 100644 --- a/common/src/main/java/org/zhdev/varioutil/util/EnumUtils.java +++ b/common/src/main/java/net/zhira/varioutil/util/EnumUtils.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; public class EnumUtils { private static > T[] getValues(T eNum) { diff --git a/common/src/main/java/org/zhdev/varioutil/util/ReflectionUtils.java b/common/src/main/java/net/zhira/varioutil/util/ReflectionUtils.java similarity index 90% rename from common/src/main/java/org/zhdev/varioutil/util/ReflectionUtils.java rename to common/src/main/java/net/zhira/varioutil/util/ReflectionUtils.java index c44a143..5f9e433 100644 --- a/common/src/main/java/org/zhdev/varioutil/util/ReflectionUtils.java +++ b/common/src/main/java/net/zhira/varioutil/util/ReflectionUtils.java @@ -1,7 +1,7 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; -import org.zhdev.varioutil.reflection.FieldSearcher; -import org.zhdev.varioutil.reflection.MethodSearcher; +import net.zhira.varioutil.reflection.FieldSearcher; +import net.zhira.varioutil.reflection.MethodSearcher; import java.io.File; import java.io.IOException; @@ -61,7 +61,8 @@ public class ReflectionUtils { for (String typeName : typeNames) { try { return Class.forName(typeName); - } catch (ClassNotFoundException ignored) {} + } catch (ClassNotFoundException ignored) { + } } throw new NoClassDefFoundError(String.join(", ", typeNames)); @@ -81,11 +82,12 @@ public class ReflectionUtils { for (String typeName : typeNames) { try { return Class.forName(packageName + '.' + typeName); - } catch (ClassNotFoundException ignored) {} + } catch (ClassNotFoundException ignored) { + } } } - throw new NoClassDefFoundError(String.join(", ", typeNames) + " in " + String.join(", ", packageNames)); + throw new NoClassDefFoundError(String.join(", ", typeNames) + " in " + String.join(", ", packageNames)); } public static Method getMethod(Class type, String methodName, Class... parameterTypes) throws NoSuchMethodError { @@ -103,7 +105,8 @@ public class ReflectionUtils { return checkMethodType(getMethod0(type, methodName, parameterTypes), returnType); } catch (IllegalStateException e) { exception = e; - } catch (NoSuchMethodException ignored) { } + } catch (NoSuchMethodException ignored) { + } } if (parameterTypes.length > 0) { @@ -144,7 +147,8 @@ public class ReflectionUtils { return checkFieldType(getField0(type, fieldName), fieldType); } catch (IllegalStateException e) { exception = e; - } catch (NoSuchFieldException ignored) {} + } catch (NoSuchFieldException ignored) { + } } if (exception != null) { @@ -154,7 +158,7 @@ public class ReflectionUtils { throw new NoSuchFieldError(String.join(", ", fieldNames) + " in " + type); } - public static Object getFieldValue(Field field, Object instance) throws IllegalStateException { + public static Object getFieldValue(Object instance, Field field) throws IllegalStateException { try { return field.get(instance); } catch (IllegalAccessException e) { @@ -162,7 +166,7 @@ public class ReflectionUtils { } } - public static void setFieldValue(Field field, Object instance, Object value) throws IllegalStateException { + public static void setFieldValue(Object instance, Field field, Object value) throws IllegalStateException { try { field.set(instance, value); } catch (IllegalAccessException e) { @@ -186,7 +190,8 @@ public class ReflectionUtils { if (packagePath.equals(packageName)) { try { consumer.accept(loader.loadClass(link)); - } catch (ClassNotFoundException ignored) {} + } catch (ClassNotFoundException ignored) { + } } } } diff --git a/common/src/main/java/org/zhdev/varioutil/util/ResourceUtils.java b/common/src/main/java/net/zhira/varioutil/util/ResourceUtils.java similarity index 98% rename from common/src/main/java/org/zhdev/varioutil/util/ResourceUtils.java rename to common/src/main/java/net/zhira/varioutil/util/ResourceUtils.java index f418e44..575a999 100644 --- a/common/src/main/java/org/zhdev/varioutil/util/ResourceUtils.java +++ b/common/src/main/java/net/zhira/varioutil/util/ResourceUtils.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; import java.io.*; import java.net.URL; diff --git a/common/src/main/java/org/zhdev/varioutil/util/StringUtils.java b/common/src/main/java/net/zhira/varioutil/util/StringUtils.java similarity index 99% rename from common/src/main/java/org/zhdev/varioutil/util/StringUtils.java rename to common/src/main/java/net/zhira/varioutil/util/StringUtils.java index 32617a8..1ff7e81 100644 --- a/common/src/main/java/org/zhdev/varioutil/util/StringUtils.java +++ b/common/src/main/java/net/zhira/varioutil/util/StringUtils.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; import java.util.ArrayList; import java.util.Iterator; diff --git a/db/pom.xml b/db/pom.xml index 6f8c071..6cb6c2a 100644 --- a/db/pom.xml +++ b/db/pom.xml @@ -1,9 +1,12 @@ - + + 4.0.0 parent - org.zhdev.varioutil + net.zhira.varioutil 1.0-SNAPSHOT diff --git a/db/src/main/java/org/zhdev/varioutil/sql/AbstractProvider.java b/db/src/main/java/net/zhira/varioutil/sql/AbstractProvider.java similarity index 94% rename from db/src/main/java/org/zhdev/varioutil/sql/AbstractProvider.java rename to db/src/main/java/net/zhira/varioutil/sql/AbstractProvider.java index a0b83f6..8843c44 100644 --- a/db/src/main/java/org/zhdev/varioutil/sql/AbstractProvider.java +++ b/db/src/main/java/net/zhira/varioutil/sql/AbstractProvider.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.sql; +package net.zhira.varioutil.sql; import java.sql.Connection; import java.sql.SQLException; diff --git a/db/src/main/java/org/zhdev/varioutil/sql/ConnectionProvider.java b/db/src/main/java/net/zhira/varioutil/sql/ConnectionProvider.java similarity index 93% rename from db/src/main/java/org/zhdev/varioutil/sql/ConnectionProvider.java rename to db/src/main/java/net/zhira/varioutil/sql/ConnectionProvider.java index a3b0059..1cdcdca 100644 --- a/db/src/main/java/org/zhdev/varioutil/sql/ConnectionProvider.java +++ b/db/src/main/java/net/zhira/varioutil/sql/ConnectionProvider.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.sql; +package net.zhira.varioutil.sql; import java.sql.Connection; import java.sql.SQLException; diff --git a/db/src/main/java/org/zhdev/varioutil/sql/H2Provider.java b/db/src/main/java/net/zhira/varioutil/sql/H2Provider.java similarity index 72% rename from db/src/main/java/org/zhdev/varioutil/sql/H2Provider.java rename to db/src/main/java/net/zhira/varioutil/sql/H2Provider.java index cbee2a0..2b22bcd 100644 --- a/db/src/main/java/org/zhdev/varioutil/sql/H2Provider.java +++ b/db/src/main/java/net/zhira/varioutil/sql/H2Provider.java @@ -1,6 +1,6 @@ -package org.zhdev.varioutil.sql; +package net.zhira.varioutil.sql; -import org.zhdev.varioutil.util.SqlUtils; +import net.zhira.varioutil.util.SqlUtils; public class H2Provider extends AbstractProvider { public H2Provider(String path, String username, String password) { diff --git a/db/src/main/java/org/zhdev/varioutil/sql/MysqlProvider.java b/db/src/main/java/net/zhira/varioutil/sql/MysqlProvider.java similarity index 77% rename from db/src/main/java/org/zhdev/varioutil/sql/MysqlProvider.java rename to db/src/main/java/net/zhira/varioutil/sql/MysqlProvider.java index 919f858..ad7de21 100644 --- a/db/src/main/java/org/zhdev/varioutil/sql/MysqlProvider.java +++ b/db/src/main/java/net/zhira/varioutil/sql/MysqlProvider.java @@ -1,6 +1,6 @@ -package org.zhdev.varioutil.sql; +package net.zhira.varioutil.sql; -import org.zhdev.varioutil.util.SqlUtils; +import net.zhira.varioutil.util.SqlUtils; public class MysqlProvider extends AbstractProvider { public MysqlProvider(String address, String dbname, String username, String password, boolean ssl) { diff --git a/db/src/main/java/org/zhdev/varioutil/sql/NullProvider.java b/db/src/main/java/net/zhira/varioutil/sql/NullProvider.java similarity index 89% rename from db/src/main/java/org/zhdev/varioutil/sql/NullProvider.java rename to db/src/main/java/net/zhira/varioutil/sql/NullProvider.java index cc15acf..8ff1efa 100644 --- a/db/src/main/java/org/zhdev/varioutil/sql/NullProvider.java +++ b/db/src/main/java/net/zhira/varioutil/sql/NullProvider.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.sql; +package net.zhira.varioutil.sql; import java.sql.Connection; diff --git a/db/src/main/java/org/zhdev/varioutil/sql/SqlAdapter.java b/db/src/main/java/net/zhira/varioutil/sql/SqlAdapter.java similarity index 97% rename from db/src/main/java/org/zhdev/varioutil/sql/SqlAdapter.java rename to db/src/main/java/net/zhira/varioutil/sql/SqlAdapter.java index 09ee96a..f4b20e9 100644 --- a/db/src/main/java/org/zhdev/varioutil/sql/SqlAdapter.java +++ b/db/src/main/java/net/zhira/varioutil/sql/SqlAdapter.java @@ -1,6 +1,6 @@ -package org.zhdev.varioutil.sql; +package net.zhira.varioutil.sql; -import org.zhdev.varioutil.util.CheckedFunction; +import net.zhira.varioutil.util.CheckedFunction; import java.sql.PreparedStatement; import java.sql.ResultSet; diff --git a/db/src/main/java/org/zhdev/varioutil/sql/SqlException.java b/db/src/main/java/net/zhira/varioutil/sql/SqlException.java similarity index 90% rename from db/src/main/java/org/zhdev/varioutil/sql/SqlException.java rename to db/src/main/java/net/zhira/varioutil/sql/SqlException.java index 4eb0e4c..8eeaf60 100644 --- a/db/src/main/java/org/zhdev/varioutil/sql/SqlException.java +++ b/db/src/main/java/net/zhira/varioutil/sql/SqlException.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.sql; +package net.zhira.varioutil.sql; public class SqlException extends RuntimeException { public SqlException() { diff --git a/db/src/main/java/org/zhdev/varioutil/sql/SqliteProvider.java b/db/src/main/java/net/zhira/varioutil/sql/SqliteProvider.java similarity index 68% rename from db/src/main/java/org/zhdev/varioutil/sql/SqliteProvider.java rename to db/src/main/java/net/zhira/varioutil/sql/SqliteProvider.java index 40c2e09..94f5841 100644 --- a/db/src/main/java/org/zhdev/varioutil/sql/SqliteProvider.java +++ b/db/src/main/java/net/zhira/varioutil/sql/SqliteProvider.java @@ -1,6 +1,6 @@ -package org.zhdev.varioutil.sql; +package net.zhira.varioutil.sql; -import org.zhdev.varioutil.util.SqlUtils; +import net.zhira.varioutil.util.SqlUtils; public class SqliteProvider extends AbstractProvider { public SqliteProvider(String path) { diff --git a/db/src/main/java/org/zhdev/varioutil/util/CheckedFunction.java b/db/src/main/java/net/zhira/varioutil/util/CheckedFunction.java similarity index 76% rename from db/src/main/java/org/zhdev/varioutil/util/CheckedFunction.java rename to db/src/main/java/net/zhira/varioutil/util/CheckedFunction.java index fe399a7..8c14d40 100755 --- a/db/src/main/java/org/zhdev/varioutil/util/CheckedFunction.java +++ b/db/src/main/java/net/zhira/varioutil/util/CheckedFunction.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; @FunctionalInterface public interface CheckedFunction { diff --git a/db/src/main/java/org/zhdev/varioutil/util/SqlUtils.java b/db/src/main/java/net/zhira/varioutil/util/SqlUtils.java similarity index 92% rename from db/src/main/java/org/zhdev/varioutil/util/SqlUtils.java rename to db/src/main/java/net/zhira/varioutil/util/SqlUtils.java index 3af7d6f..f013d04 100644 --- a/db/src/main/java/org/zhdev/varioutil/util/SqlUtils.java +++ b/db/src/main/java/net/zhira/varioutil/util/SqlUtils.java @@ -1,6 +1,6 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; -import org.zhdev.varioutil.sql.SqlException; +import net.zhira.varioutil.sql.SqlException; import java.io.IOException; import java.io.UnsupportedEncodingException; @@ -42,14 +42,14 @@ public class SqlUtils { try { Connection connection; if (username != null) { - connection = DriverManager.getConnection("jdbc:h2:./" + encodeUrlValue(path) + ";mode=MySQL;AUTO_SERVER=TRUE", username, password); + connection = DriverManager.getConnection("jdbc:h2:./" + path + ";mode=MySQL;AUTO_SERVER=TRUE", username, password); } else { - connection = DriverManager.getConnection("jdbc:h2:./" + encodeUrlValue(path) + ";mode=MySQL;AUTO_SERVER=TRUE", "sa", ""); + connection = DriverManager.getConnection("jdbc:h2:./" + path + ";mode=MySQL;AUTO_SERVER=TRUE", "sa", ""); } return connection; } catch (NoClassDefFoundError e) { throw new SqlException("No suitable driver"); - } catch (SQLException | UnsupportedEncodingException e) { + } catch (SQLException e) { throw new SqlException(e); } } @@ -68,8 +68,8 @@ public class SqlUtils { } } try { - return DriverManager.getConnection("jdbc:sqlite:" + encodeUrlValue(path.toString())); - } catch (SQLException | UnsupportedEncodingException e) { + return DriverManager.getConnection("jdbc:sqlite:" + path); + } catch (SQLException e) { throw new SqlException(e); } } diff --git a/io/pom.xml b/io/pom.xml index 80ba09b..ed17190 100644 --- a/io/pom.xml +++ b/io/pom.xml @@ -1,9 +1,12 @@ - + + 4.0.0 parent - org.zhdev.varioutil + net.zhira.varioutil 1.0-SNAPSHOT diff --git a/io/src/main/java/org/zhdev/varioutil/config/Config.java b/io/src/main/java/net/zhira/varioutil/config/Config.java similarity index 98% rename from io/src/main/java/org/zhdev/varioutil/config/Config.java rename to io/src/main/java/net/zhira/varioutil/config/Config.java index 0dae20a..fe7da4a 100644 --- a/io/src/main/java/org/zhdev/varioutil/config/Config.java +++ b/io/src/main/java/net/zhira/varioutil/config/Config.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; import java.io.*; import java.nio.charset.StandardCharsets; diff --git a/io/src/main/java/org/zhdev/varioutil/config/ConfigException.java b/io/src/main/java/net/zhira/varioutil/config/ConfigException.java similarity index 90% rename from io/src/main/java/org/zhdev/varioutil/config/ConfigException.java rename to io/src/main/java/net/zhira/varioutil/config/ConfigException.java index 58d78cf..55b80bd 100644 --- a/io/src/main/java/org/zhdev/varioutil/config/ConfigException.java +++ b/io/src/main/java/net/zhira/varioutil/config/ConfigException.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; public class ConfigException extends RuntimeException { public ConfigException() { diff --git a/io/src/main/java/org/zhdev/varioutil/config/ConfigSection.java b/io/src/main/java/net/zhira/varioutil/config/ConfigSection.java similarity index 99% rename from io/src/main/java/org/zhdev/varioutil/config/ConfigSection.java rename to io/src/main/java/net/zhira/varioutil/config/ConfigSection.java index feb05e4..de6eee5 100644 --- a/io/src/main/java/org/zhdev/varioutil/config/ConfigSection.java +++ b/io/src/main/java/net/zhira/varioutil/config/ConfigSection.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; import java.util.List; import java.util.Map; diff --git a/io/src/main/java/org/zhdev/varioutil/config/ConfigSectionNode.java b/io/src/main/java/net/zhira/varioutil/config/ConfigSectionNode.java similarity index 90% rename from io/src/main/java/org/zhdev/varioutil/config/ConfigSectionNode.java rename to io/src/main/java/net/zhira/varioutil/config/ConfigSectionNode.java index b38c609..7339292 100644 --- a/io/src/main/java/org/zhdev/varioutil/config/ConfigSectionNode.java +++ b/io/src/main/java/net/zhira/varioutil/config/ConfigSectionNode.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; final class ConfigSectionNode { Object value; diff --git a/io/src/main/java/org/zhdev/varioutil/config/MapConfigSection.java b/io/src/main/java/net/zhira/varioutil/config/MapConfigSection.java similarity index 99% rename from io/src/main/java/org/zhdev/varioutil/config/MapConfigSection.java rename to io/src/main/java/net/zhira/varioutil/config/MapConfigSection.java index f25c97c..5d2a427 100644 --- a/io/src/main/java/org/zhdev/varioutil/config/MapConfigSection.java +++ b/io/src/main/java/net/zhira/varioutil/config/MapConfigSection.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; import java.util.*; import java.util.function.Function; diff --git a/io/src/main/java/org/zhdev/varioutil/config/YamlConfig.java b/io/src/main/java/net/zhira/varioutil/config/YamlConfig.java similarity index 99% rename from io/src/main/java/org/zhdev/varioutil/config/YamlConfig.java rename to io/src/main/java/net/zhira/varioutil/config/YamlConfig.java index d89b157..d257297 100644 --- a/io/src/main/java/org/zhdev/varioutil/config/YamlConfig.java +++ b/io/src/main/java/net/zhira/varioutil/config/YamlConfig.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.LoaderOptions; diff --git a/io/src/main/java/org/zhdev/varioutil/config/YamlConfigConstructor.java b/io/src/main/java/net/zhira/varioutil/config/YamlConfigConstructor.java similarity index 91% rename from io/src/main/java/org/zhdev/varioutil/config/YamlConfigConstructor.java rename to io/src/main/java/net/zhira/varioutil/config/YamlConfigConstructor.java index 7444f79..ae0dfa4 100644 --- a/io/src/main/java/org/zhdev/varioutil/config/YamlConfigConstructor.java +++ b/io/src/main/java/net/zhira/varioutil/config/YamlConfigConstructor.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; import org.yaml.snakeyaml.LoaderOptions; import org.yaml.snakeyaml.constructor.SafeConstructor; diff --git a/io/src/main/java/org/zhdev/varioutil/config/YamlConfigRepresenter.java b/io/src/main/java/net/zhira/varioutil/config/YamlConfigRepresenter.java similarity index 86% rename from io/src/main/java/org/zhdev/varioutil/config/YamlConfigRepresenter.java rename to io/src/main/java/net/zhira/varioutil/config/YamlConfigRepresenter.java index dc563d0..6f84666 100644 --- a/io/src/main/java/org/zhdev/varioutil/config/YamlConfigRepresenter.java +++ b/io/src/main/java/net/zhira/varioutil/config/YamlConfigRepresenter.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.representer.Representer; diff --git a/misc/pom.xml b/misc/pom.xml index 0328263..9a909a8 100644 --- a/misc/pom.xml +++ b/misc/pom.xml @@ -1,9 +1,12 @@ - + + 4.0.0 parent - org.zhdev.varioutil + net.zhira.varioutil 1.0-SNAPSHOT diff --git a/misc/src/main/java/org/zhdev/varioutil/PreparedPlugin.java b/misc/src/main/java/net/zhira/varioutil/PreparedPlugin.java similarity index 85% rename from misc/src/main/java/org/zhdev/varioutil/PreparedPlugin.java rename to misc/src/main/java/net/zhira/varioutil/PreparedPlugin.java index cecde69..024f935 100644 --- a/misc/src/main/java/org/zhdev/varioutil/PreparedPlugin.java +++ b/misc/src/main/java/net/zhira/varioutil/PreparedPlugin.java @@ -1,10 +1,10 @@ -package org.zhdev.varioutil; +package net.zhira.varioutil; -import org.zhdev.varioutil.config.Config; -import org.zhdev.varioutil.config.ConfigException; -import org.zhdev.varioutil.language.Language; -import org.zhdev.varioutil.sql.SqlAdapter; -import org.zhdev.varioutil.util.ResourceUtils; +import net.zhira.varioutil.config.Config; +import net.zhira.varioutil.config.ConfigException; +import net.zhira.varioutil.language.Language; +import net.zhira.varioutil.util.ResourceUtils; +import net.zhira.varioutil.sql.SqlAdapter; import java.io.IOException; import java.io.InputStream; @@ -26,7 +26,7 @@ public interface PreparedPlugin { default Path loadConfig(Config config, String pathname, boolean resourcePreload) { ClassLoader classLoader = getClass().getClassLoader(); - Path path = Paths.get(pathname); + Path path = Paths.get(getDataDirectory().toString() + '/' + pathname); try (InputStream stream = ResourceUtils.getResource(pathname, classLoader)) { if (stream != null) { if (resourcePreload) { diff --git a/misc/src/main/java/org/zhdev/varioutil/util/ColorUtils.java b/misc/src/main/java/net/zhira/varioutil/util/ColorUtils.java similarity index 79% rename from misc/src/main/java/org/zhdev/varioutil/util/ColorUtils.java rename to misc/src/main/java/net/zhira/varioutil/util/ColorUtils.java index 825f6f4..0f03f61 100644 --- a/misc/src/main/java/org/zhdev/varioutil/util/ColorUtils.java +++ b/misc/src/main/java/net/zhira/varioutil/util/ColorUtils.java @@ -1,13 +1,21 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; +import java.util.HashMap; +import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ColorUtils { public static final char COLOR_CHAR = 'ยง'; + private static final Map COMPILED_PATTERNS = new HashMap<>(); + + private static Pattern getPattern(String regexp) { + return COMPILED_PATTERNS.computeIfAbsent(regexp, s -> Pattern.compile(regexp)); + } + public static void translateAlternateColorCodes(StringBuilder builder, char replaceChar) { - Matcher m = Pattern.compile(Pattern.quote(String.valueOf(replaceChar)) + "(#[0-9a-fA-F]{6})").matcher(builder); + Matcher m = getPattern(Pattern.quote(String.valueOf(replaceChar)) + "(#[0-9a-fA-F]{6})").matcher(builder); int start = 0; while (m.find(start)) { String hex = m.group(1); diff --git a/misc/src/main/java/org/zhdev/varioutil/util/ConfigUtils.java b/misc/src/main/java/net/zhira/varioutil/util/ConfigUtils.java similarity index 94% rename from misc/src/main/java/org/zhdev/varioutil/util/ConfigUtils.java rename to misc/src/main/java/net/zhira/varioutil/util/ConfigUtils.java index a766ee6..b6535aa 100644 --- a/misc/src/main/java/org/zhdev/varioutil/util/ConfigUtils.java +++ b/misc/src/main/java/net/zhira/varioutil/util/ConfigUtils.java @@ -1,8 +1,8 @@ -package org.zhdev.varioutil.util; +package net.zhira.varioutil.util; -import org.zhdev.varioutil.config.ConfigSection; -import org.zhdev.varioutil.language.Language; -import org.zhdev.varioutil.sql.*; +import net.zhira.varioutil.config.ConfigSection; +import net.zhira.varioutil.language.Language; +import net.zhira.varioutil.sql.*; import java.io.File; import java.util.ArrayList; diff --git a/pom.xml b/pom.xml index 5730a3d..484bfe6 100644 --- a/pom.xml +++ b/pom.xml @@ -1,7 +1,10 @@ - + + 4.0.0 - org.zhdev.varioutil + net.zhira.varioutil parent 1.0-SNAPSHOT pom @@ -23,8 +26,8 @@ - zhdev-repo - https://maven.zhdev.org/repository/ + zhira-repo + https://maven.zhira.net/repository/ @@ -72,7 +75,7 @@ package shade - repo + diff --git a/velocity/pom.xml b/velocity/pom.xml index 20e2911..09e890a 100644 --- a/velocity/pom.xml +++ b/velocity/pom.xml @@ -1,9 +1,12 @@ - + + 4.0.0 parent - org.zhdev.varioutil + net.zhira.varioutil 1.0-SNAPSHOT diff --git a/velocity/src/main/java/org/zhdev/varioutil/VelocityPlugin.java b/velocity/src/main/java/net/zhira/varioutil/VelocityPlugin.java similarity index 96% rename from velocity/src/main/java/org/zhdev/varioutil/VelocityPlugin.java rename to velocity/src/main/java/net/zhira/varioutil/VelocityPlugin.java index b2aa9b6..85cd04b 100644 --- a/velocity/src/main/java/org/zhdev/varioutil/VelocityPlugin.java +++ b/velocity/src/main/java/net/zhira/varioutil/VelocityPlugin.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil; +package net.zhira.varioutil; import com.velocitypowered.api.proxy.ProxyServer; import org.slf4j.Logger; diff --git a/velocity/src/main/java/org/zhdev/varioutil/VelocityPreparedPlugin.java b/velocity/src/main/java/net/zhira/varioutil/VelocityPreparedPlugin.java similarity index 86% rename from velocity/src/main/java/org/zhdev/varioutil/VelocityPreparedPlugin.java rename to velocity/src/main/java/net/zhira/varioutil/VelocityPreparedPlugin.java index 49d0009..df55cf9 100644 --- a/velocity/src/main/java/org/zhdev/varioutil/VelocityPreparedPlugin.java +++ b/velocity/src/main/java/net/zhira/varioutil/VelocityPreparedPlugin.java @@ -1,17 +1,17 @@ -package org.zhdev.varioutil; +package net.zhira.varioutil; import com.velocitypowered.api.event.Subscribe; import com.velocitypowered.api.event.proxy.ProxyInitializeEvent; import com.velocitypowered.api.event.proxy.ProxyShutdownEvent; import com.velocitypowered.api.proxy.ProxyServer; +import net.zhira.varioutil.config.ConfigSection; +import net.zhira.varioutil.language.Language; +import net.zhira.varioutil.util.ColorUtils; import org.slf4j.Logger; -import org.zhdev.varioutil.config.Config; -import org.zhdev.varioutil.config.ConfigSection; -import org.zhdev.varioutil.config.VelocityTomlConfig; -import org.zhdev.varioutil.language.Language; -import org.zhdev.varioutil.sql.SqlAdapter; -import org.zhdev.varioutil.util.ColorUtils; -import org.zhdev.varioutil.util.ConfigUtils; +import net.zhira.varioutil.config.Config; +import net.zhira.varioutil.config.VelocityTomlConfig; +import net.zhira.varioutil.sql.SqlAdapter; +import net.zhira.varioutil.util.ConfigUtils; import java.nio.file.Path; diff --git a/velocity/src/main/java/org/zhdev/varioutil/config/VelocityTomlConfig.java b/velocity/src/main/java/net/zhira/varioutil/config/VelocityTomlConfig.java similarity index 99% rename from velocity/src/main/java/org/zhdev/varioutil/config/VelocityTomlConfig.java rename to velocity/src/main/java/net/zhira/varioutil/config/VelocityTomlConfig.java index beb9483..ffaf8f6 100644 --- a/velocity/src/main/java/org/zhdev/varioutil/config/VelocityTomlConfig.java +++ b/velocity/src/main/java/net/zhira/varioutil/config/VelocityTomlConfig.java @@ -1,4 +1,4 @@ -package org.zhdev.varioutil.config; +package net.zhira.varioutil.config; import com.electronwill.nightconfig.core.CommentedConfig; import com.electronwill.nightconfig.toml.TomlFormat;