mirror of
https://github.com/TotalFreedomMC/TF-PlotSquared.git
synced 2024-12-23 00:15:06 +00:00
Apply patch by @SirYwell to construct the ResourceKey without consulting the DimensionManager
This commit is contained in:
parent
48d3c2105d
commit
6c9b73b100
1 changed files with 16 additions and 7 deletions
|
@ -100,12 +100,21 @@ public class OfflinePlayerUtil {
|
|||
public static Object getWorldServer116() {
|
||||
Object server = getMinecraftServer();
|
||||
Class<?> minecraftServerClass = getNmsClass("MinecraftServer");
|
||||
Class<?> dimensionManager = getNmsClass("DimensionManager");
|
||||
Class<?> genericResourceKey = getNmsClass("ResourceKey");
|
||||
Object overworld = getField(makeField(dimensionManager, "OVERWORLD"), null);
|
||||
Class<?> minecraftKey = getNmsClass("MinecraftKey");
|
||||
// MinecraftKey + MinecraftKey -> ResourceKey
|
||||
Method constructResourceKey = makeMethod(genericResourceKey, "a", minecraftKey, minecraftKey);
|
||||
// MinecraftKey(String)
|
||||
Constructor<Object> minecraftKeyConstructor = makeConstructor(minecraftKey, String.class);
|
||||
// minecraft:overworld
|
||||
Object overworldKey = callConstructor(minecraftKeyConstructor, "overworld");
|
||||
// minecraft:dimension
|
||||
Object dimensionKey = callConstructor(minecraftKeyConstructor, "dimension");
|
||||
// ResourceKey[minecraft:dimension / minecraft:overworld]
|
||||
Object resourceKey = callMethod(constructResourceKey, null, dimensionKey, overworldKey);
|
||||
Method getWorldServer =
|
||||
makeMethod(minecraftServerClass, "getWorldServer", genericResourceKey);
|
||||
return callMethod(getWorldServer, server, overworld);
|
||||
return callMethod(getWorldServer, server, resourceKey);
|
||||
}
|
||||
|
||||
public static Object getWorldServerNew() {
|
||||
|
|
Loading…
Reference in a new issue