Skip to content

Commit 1a9302b

Browse files
committed
Also include CraftServer and CraftOfflinePlayer
1 parent 2f9ecc8 commit 1a9302b

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

core/src/main/java/org/geysermc/floodgate/util/ReflectionUtils.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,12 @@ public static Class<?> getClassOrFallback(String className, String fallbackClass
162162
return clazz;
163163
}
164164

165+
@Nullable
166+
@SuppressWarnings("unchecked")
167+
public static <T> Class<T> getCastedClassOrFallback(String className, String fallbackClassName) {
168+
return (Class<T>) getClassOrFallback(className, fallbackClassName);
169+
}
170+
165171
@Nullable
166172
public static <T> Constructor<T> getConstructor(Class<T> clazz, boolean declared, Class<?>... parameters) {
167173
try {

spigot/src/main/java/org/geysermc/floodgate/util/ClassNames.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,14 @@ public class ClassNames {
143143
);
144144

145145
// WhitelistUtils
146-
Class<?> craftServerClass = ReflectionUtils.getClass(
147-
"org.bukkit.craftbukkit.CraftServer");
148-
Class<OfflinePlayer> craftOfflinePlayerClass = ReflectionUtils.getCastedClass(
149-
"org.bukkit.craftbukkit.CraftOfflinePlayer");
146+
Class<?> craftServerClass = getClassOrFallback(
147+
"org.bukkit.craftbukkit.CraftServer",
148+
"org.bukkit.craftbukkit." + version + "CraftServer"
149+
);
150+
Class<OfflinePlayer> craftOfflinePlayerClass = ReflectionUtils.getCastedClassOrFallback(
151+
"org.bukkit.craftbukkit.CraftOfflinePlayer",
152+
"org.bukkit.craftbukkit." + version + "CraftOfflinePlayer"
153+
);
150154

151155
CRAFT_OFFLINE_PLAYER_CONSTRUCTOR = ReflectionUtils.getConstructor(
152156
craftOfflinePlayerClass, true, craftServerClass, GameProfile.class);

0 commit comments

Comments
 (0)