Fix thermos getWorldName
This commit is contained in:
parent
5125a18540
commit
ca906cc8c3
@ -17,6 +17,7 @@ import com.sk89q.worldedit.world.World;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.ModMetadata;
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Method;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@ -132,6 +133,21 @@ public class FaweForge implements IFawe {
|
||||
}
|
||||
else if (world instanceof EditSession) {
|
||||
return getWorldName(((EditSession) world).getWorld());
|
||||
} else if (world.getClass().getName().equals("com.sk89q.worldedit.bukkit.BukkitWorld")) {
|
||||
try {
|
||||
Class<?> classBukkitWorld = world.getClass();
|
||||
Method methodGetWorld = classBukkitWorld.getDeclaredMethod("getWorld");
|
||||
methodGetWorld.setAccessible(true);
|
||||
Object craftWorld = methodGetWorld.invoke(world);
|
||||
Class<? extends Object> classCraftWorld = craftWorld.getClass();
|
||||
Method methodGetHandle = classCraftWorld.getDeclaredMethod("getHandle");
|
||||
methodGetHandle.setAccessible(true);
|
||||
Object nmsWorld = methodGetHandle.invoke(craftWorld);
|
||||
return getWorldName((net.minecraft.world.World) nmsWorld);
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
return world.getName();
|
||||
}
|
||||
}
|
||||
return getWorldName(((ForgeWorld) world).getWorld());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user