PC-Logix / LanteaCraft

A Stargate-themed mod for Minecraft
http://lanteacraft.com
Other
43 stars 21 forks source link

Outdated OC API java.lang.NoClassDefFoundError: li/cil/oc/api/network/Context #428

Open CaitlynMainer opened 8 years ago

CaitlynMainer commented 8 years ago

Thank you for reporting an issue with LanteaCraft. Please fill out this template when submitting your report - thank you!

Submission checklist

Game doesn't crash

Actual behavior

Game crashes

Steps to reproduce

Connect gate to OC Computer, and install Iris (Other interactions do it as well in theory). The issue is our use of old OC API, Context was removed in like OC 1.3 or 1.4, latest release is 1.5, current beta is 1.6 api/network/Context.class no longer exists.

Attached crash log from another user.

System information

Tagging @MyNameIsKodos

@AfterLifeLochie would you like me to update the API?

AfterLifeLochie commented 8 years ago

If you do, make sure you update both OpenComputersEnvironmentDriver and OpenComputersDriverManager.

CaitlynMainer commented 8 years ago

I've updated both.. but it no worky, still poking at it.

AfterLifeLochie commented 8 years ago

What happens currently, and what do you expect to happen?

Cronosus commented 8 years ago

yes, please fix in next build ;)

taswin commented 8 years ago

Same error. http://pastebin.com/BUhRQVgh

CaitlynMainer commented 8 years ago

@AfterLifeLochie I expect it to work, and it's not :P It never detects the gate base as a component either directly, or via an adapter, and I'm not sure why.

TheRealM18 commented 8 years ago

if you would like to fix it quickly this is the package name change you would need ...n/java/li/cil/oc/api/network/Context.java → ...n/java/li/cil/oc/api/machine/Context.java

thanks and I hope to have the 1.7.10 updated soon so that i can try it out

CaitlynMainer commented 8 years ago

This change is already done locally, but it's non functioning, I do OC addon dev daily I'm not inept enough to miss a class move.

Actually I pushed this a while back: https://git.io/vK5ja

AfterLifeLochie commented 7 years ago

@CaitlynMainer If you're in a debug environment (BuildInfo.DEBUG) then you should already have a rundir/vm folder which contains the "compiled" versions of the classes post-transformation. You should see the members (fields, methods, init, clinit, etc) of OpenComputersEnvironmentDriver nested within the compatible entities (TileStargateBase, etc). If not, the usual core.log will contain information about successful/unsuccessful source transformations.

You might also want to consider putting a breakpoint on ComputerMethodExecutor#invokeMethod, since this will allow you to trap any calls the other mod(s) make to invoke a ComputerCallable.

It might also be checking the metaprovider (OpenComputersDriverManager); the logic all looks OK, but you can use this to peek into the ManagedEnvironment, which might be useful.

CaitlynMainer commented 7 years ago

I can't actually test anything any more, trying to launch a world with just a Base Block placed crashes with this: http://paste.pc-logix.com/ziyoheqika.scala

Even without OC installed I still crash with: http://paste.pc-logix.com/hudowucuqo.pas

AfterLifeLochie commented 7 years ago

I'm not sure why this is happening; even if you receive a VerifyError you should still have a copy of a core.log and a copy of the (probably malformed) class that was generated (see the rundir/vm/lc_tiles_TileStargateBase.class(?) file in a decompiler, etc).

I wonder if this is an issue with something we're generating running in 1.8.0_111; if you could provide me a copy of the runtime class implementation (rundir/vm) of anything offending / the matching corelog for each of the offending classes/configurations?

There could be a bunch of different things causing this, so I might suggest you try a clean environment, fresh pull, etc. It could be that driver code is being incorrectly merged or could be mangling some other code, so it would be useful to see all debug info you have -- since I can't replicate this locally, unfortunately.