From 4d2985705118abb247b270c7c50e99870d64e200 Mon Sep 17 00:00:00 2001 From: InkerBot Date: Thu, 19 Jan 2023 02:02:30 +0800 Subject: [PATCH 1/4] fix typo in RPropertyManager As normal, newInstance in reflection class should new Instance it self --- .../serverutils/bukkit/reflection/RPropertyManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPropertyManager.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPropertyManager.java index 2c9519f..2744d52 100644 --- a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPropertyManager.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RPropertyManager.java @@ -12,6 +12,6 @@ public static MinecraftReflection getReflection() { } public static Object newInstance(Object options) { - return ROptionSet.getReflection().newInstance(options); + return getReflection().newInstance(options); } } From 1ac6375ad9a2eb33e9b403ce599d1374b125c197 Mon Sep 17 00:00:00 2001 From: InkerBot Date: Thu, 19 Jan 2023 02:35:17 +0800 Subject: [PATCH 2/4] Use ClassObject to support primitives fix #59 --- .../bukkit/reflection/RDedicatedServer.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java index f6bd72f..8385e02 100644 --- a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java @@ -1,5 +1,6 @@ package net.frankheijden.serverutils.bukkit.reflection; +import com.google.common.primitives.Primitives; import dev.frankheijden.minecraftreflection.ClassObject; import dev.frankheijden.minecraftreflection.MinecraftReflection; import dev.frankheijden.minecraftreflection.MinecraftReflectionVersion; @@ -124,7 +125,12 @@ public static Object getConfigValue(Object config, String key) { public static void setConfigValue(Object config, Object console, String getMethod, String setMethod, String configMethod, String key) { Object defaultValue = reflection.invoke(console, getMethod); - Object configValue = RPropertyManager.getReflection().invoke(config, configMethod, key, defaultValue); - reflection.invoke(console, setMethod, configValue); + Class defaultValueClass = Primitives.unwrap(defaultValue.getClass()); + Object configValue = RPropertyManager.getReflection().invoke( + config, + configMethod, + ClassObject.of(key), + ClassObject.of(defaultValueClass, defaultValue)); + reflection.invoke(console, setMethod, ClassObject.of(defaultValueClass, configValue)); } } From f00a8ae7908d88bdb74d4a4988c8ae16aee25482 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A2=A8=E6=B0=B4=E7=93=B6Official?= Date: Thu, 26 Jan 2023 10:09:22 +0800 Subject: [PATCH 3/4] Use MethodType to cast primitive type Co-authored-by: Frank van der Heijden --- .../serverutils/bukkit/reflection/RDedicatedServer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java index 8385e02..a554601 100644 --- a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java @@ -125,7 +125,7 @@ public static Object getConfigValue(Object config, String key) { public static void setConfigValue(Object config, Object console, String getMethod, String setMethod, String configMethod, String key) { Object defaultValue = reflection.invoke(console, getMethod); - Class defaultValueClass = Primitives.unwrap(defaultValue.getClass()); + Class defaultValueClass = MethodType.methodType(defaultValue.getClass()).unwrap().returnType(); Object configValue = RPropertyManager.getReflection().invoke( config, configMethod, From fe3d8c435dc295c9c279b51cdb5076d20142b08e Mon Sep 17 00:00:00 2001 From: InkerBot Date: Thu, 26 Jan 2023 10:13:57 +0800 Subject: [PATCH 4/4] fix checkstyle and build exceptions --- .../serverutils/bukkit/reflection/RDedicatedServer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java index a554601..e5a4576 100644 --- a/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java +++ b/Bukkit/src/main/java/net/frankheijden/serverutils/bukkit/reflection/RDedicatedServer.java @@ -1,6 +1,5 @@ package net.frankheijden.serverutils.bukkit.reflection; -import com.google.common.primitives.Primitives; import dev.frankheijden.minecraftreflection.ClassObject; import dev.frankheijden.minecraftreflection.MinecraftReflection; import dev.frankheijden.minecraftreflection.MinecraftReflectionVersion; @@ -8,6 +7,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.lang.invoke.MethodType; import java.util.Properties; public class RDedicatedServer {