alecgorge / jsonapi

A JSON API for Minecraft: http://forums.bukkit.org/threads/admn-info-jsonapi-v1-3-1-json-http-and-socket-api-for-controlling-a-server-740.14270/
http://mcjsonapi.com
MIT License
232 stars 88 forks source link

Doesn't work with BukkitForge. #218

Closed keplersj closed 11 years ago

keplersj commented 11 years ago

I was trying to install the latest bleeding build on to my MindCrack server with BukkitForge installed. BukkitForge here:https://github.com/keepcalm/BukkitForge The error I got:

2013-01-18 15:59:48 [SEVERE] [BukkitForge] Could not load './plugins/JSONAPI.jar' in folder './plugins' org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: net/minecraft/server/v1_4_6/World at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:186) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230) at keepcalm.mods.bukkit.bukkitAPI.BukkitServer.loadPlugins(BukkitServer.java:908) at keepcalm.mods.bukkit.bukkitAPI.BukkitServer.reload(BukkitServer.java:893) at org.bukkit.Bukkit.reload(Bukkit.java:184) at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) at keepcalm.mods.bukkit.forgeHandler.commands.CommandExecutor2CommandBase.b(CommandExecutor2CommandBase.java:105) at x.a(CommandHandler.java:82) at ho.al(DedicatedServer.java:309) at ho.r(DedicatedServer.java:271) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:598) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497) at fy.run(SourceFile:849) Caused by: java.lang.NoClassDefFoundError: net/minecraft/server/v1_4_6/World at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:175) ... 13 more Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_4_6.World at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:70) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 16 more

buschtoens commented 11 years ago

As @Manawyrm already stated in keepcalm/BukkitForge#135 JSONAPI doesn't work, because we have to access native Minecraft classes.

Currently Bukkit's API is pretty fucked up and nobody really likes it. I hope this will change soon. Then we'd be able to support BukkitForge.

Personaly I haven't messed around with BukkitForge and therefore don't know, how it works and if it's any good. ;)

keplersj commented 11 years ago

I think the issue is with BukkitForge not redirecting the native classes that bukkit gives access to the real classes that Forge allows you to use.

buschtoens commented 11 years ago

Yep, but that's because they can't, since they rebuilt Minecraft from the ground up, to make it open source. (afaik)

alecgorge commented 11 years ago

This is fixed in JSONAPI v4.3.0