GTMEGA / RPLE

Colorize your lights.
Other
13 stars 2 forks source link

Incompatible with GTNH fork of CodeChickenLib #8

Closed GedeonGrays closed 2 months ago

GedeonGrays commented 2 months ago

Hello o/

ChunkAPI version: 0.5.1 FalsePatternLib version: 1.2.5 FalseTweaks version: 3.0.0 UniMixins-all version: 0.1.17 Lumi version: 1.0.0 RPLE version: 1.0.0

CodeChickenCore version: 1.2.1-GTNH CodeChickenLib version: 1.2.1-GTNH NotEnoughItems version: 2.6.0-GTNH

Crash Report: crash-2024-06-27_01.34.34-client.txt / https://pastebin.com/hK0dUK1v

How to reproduce: enter the world, open the inventory (key 'E'). No crash without RPLE.

FalsePattern commented 2 months ago

The GTNH version of CodeChickenLib broke the API of the renderer. Use either the official version of cclib or our forks (our forks also work with FalseTweaks' multithreaded rendering, AND we kept the API compatible with community mods, not just a single modpack!): https://github.com/GTMEGA/CodeChickenCore (ships with CCLib embedded in it) https://github.com/GTMEGA/NotEnoughItems

You should also ask the GTNH team to fix the broken API in their CodeChickenLib fork so that the community can use it without being held hostage in their ecosystem of mods manually patched to work on their version of cclib.

Caedis commented 2 months ago

You should also ask the GTNH team to fix the broken API in their CodeChickenLib fork so that the community can use it without being held hostage in their ecosystem of mods manually patched to work on their version of cclib.

~~You are the one who changed it
https://github.com/GTMEGA/CodeChickenCore/commit/ea1e68bf1c643446239544f91a495fb1758ace12#diff-77d74e654f26b3d6f3833ea8a8dd7c9c724ab7fd8f7cdf22fb1b043d491fc813R489-R491~~

Disregard, i was uninformed (and dont read the legacy-modding channel often) and went based on what the repo showed. Sorry

mitchej123 commented 2 months ago

The original error and breakage of NH's fork of the public API has been fixed.

The latest issue is because RPLE's mixins depend on a GTMEGA addition(s) to the CCL public API, as noted here -- as such it likely won't work with the upstream lib either.

GedeonGrays commented 2 months ago

as such it likely won't work with the upstream lib either

I confirm, RPLE does not work with CodeChickenLib-1.7.10-1.1.3.141-universal.

basdxz commented 2 months ago

as such it likely won't work with the upstream lib either

I confirm, RPLE does not work with CodeChickenLib-1.7.10-1.1.3.141-universal.

We generally test against our stuff + upstream, seems this one slipped by.

This https://github.com/GTMEGA/RPLE/commit/6d1660dfb1b7a16eea46bf87091b6415e1d48e9a patch fixed it with CodeChickenLib-1.7.10-1.1.3.140-universal, should work with CodeChickenLib-1.7.10-1.1.3.141-universal too.

See: https://github.com/GTMEGA/RPLE/releases/tag/1.0.1-beta0001

GedeonGrays commented 2 months ago

as such it likely won't work with the upstream lib either

I confirm, RPLE does not work with CodeChickenLib-1.7.10-1.1.3.141-universal.

We generally test against our stuff + upstream, seems this one slipped by.

This 6d1660d patch fixed it with CodeChickenLib-1.7.10-1.1.3.140-universal, should work with CodeChickenLib-1.7.10-1.1.3.141-universal too.

See: https://github.com/GTMEGA/RPLE/releases/tag/1.0.1-beta0001

Now a new crash with CodeChickenLib-1.7.10-1.1.3.140-universal / CodeChickenLib-1.7.10-1.1.3.141-universal: crash-2024-07-02_11.04.27-client.txt

FalsePattern commented 2 months ago

I'll fix it when i get home

FalsePattern commented 2 months ago

Make sure to also use the official version of CodeChickenCore as well (1.0.7.47), 1.2.1 is the gtnh one.

Also make sure you remove codechickenlib from both mods/ and mods/1.7.10 first before installing .140/.141 in case the old gtnh version is still there.

mitchej123 commented 2 months ago

The NH versions have had the breaking public API changes fixed and should work as well now, if there are any further issues we'll resolve them.

basdxz commented 2 months ago

as such it likely won't work with the upstream lib either

I confirm, RPLE does not work with CodeChickenLib-1.7.10-1.1.3.141-universal.

We generally test against our stuff + upstream, seems this one slipped by. This 6d1660d patch fixed it with CodeChickenLib-1.7.10-1.1.3.140-universal, should work with CodeChickenLib-1.7.10-1.1.3.141-universal too. See: https://github.com/GTMEGA/RPLE/releases/tag/1.0.1-beta0001

Now a new crash with CodeChickenLib-1.7.10-1.1.3.140-universal / CodeChickenLib-1.7.10-1.1.3.141-universal: crash-2024-07-02_11.04.27-client.txt

It would be useful to have the entire client latest to validate the instance.

GedeonGrays commented 2 months ago

It would be useful to have the entire client latest to validate the instance.

Sure: fml-client-latest.log

Make sure to also use the official version of CodeChickenCore as well (1.0.7.47), 1.2.1 is the gtnh one.

By the way, I removed the NH versions completely so that unnecessary misunderstandings don't arise. Now I have only upstream CCC, CCL and NEI. The crash hasn't changed.

Caedis commented 2 months ago

Should fully delete the files or move them out of the entire .minecraft folder (including the mods folder and any subdirectories), not just rename them to .disabled.

Reason: https://github.com/GTMEGA/CodeChickenCore/blob/master/src/main/java/codechicken/core/ClassDiscoverer.java#L132

Same in GTNH and upstream version

GedeonGrays commented 2 months ago

Should fully delete the files or move them out of the entire .minecraft folder (including the mods folder and any subdirectories), not just rename them to .disabled.

Reason: https://github.com/GTMEGA/CodeChickenCore/blob/master/src/main/java/codechicken/core/ClassDiscoverer.java#L132

Same in GTNH and upstream version

Got it, I apologize for the misunderstanding. I wasn't aware of that behavior. I removed all versions of CCC, CCL, NEI from all folders in .minecraft. Now the result is as follows:

  1. It works CodeChickenCore-1.7.10-1.0.7.47-universal / CodeChickenCore-1.7.10-1.0.7.48-universal CodeChickenLib-1.7.10-1.1.3.140-universal / CodeChickenLib-1.7.10-1.1.3.141-universal NotEnoughItems-1.7.10-1.0.5.120-universal

  2. It works CodeChickenCore-mc1.7.10-1.4.0-mega NotEnoughItems-mc1.7.10-2.3.1-mega

  3. It doesn't work: crash-2024-07-03_12.30.11-client.txt / fml-client-latest.log CodeChickenCore-1.2.1 CodeChickenLib-1.3.0 NotEnoughItems-2.6.13-GTNH-pre

Caedis commented 2 months ago

that error doesnt make sense unless its trying to mixin into the stub class

Caedis commented 2 months ago

@basdxz can you humor me and add remap = false to the @Overwrite annotation for that method (and probably push as well)

A couple lines above the error, the log file says

[12:30:09] [Client thread/DEBUG] [mixin/]: Mixing client.codechickenlib.CCRenderStateMixin from mixins.rple.json into codechicken.lib.render.CCRenderState
[12:30:09] [Client thread/DEBUG] [mixin/]: RemapperAdapterFML is remapping method pullLightmap()V for codechicken/lib/render/CCRenderState
[12:30:09] [Client thread/DEBUG] [mixin/]: RemapperAdapterFML is remapping obfuscated method pullLightmap()V for codechicken/lib/render/CCRenderState
Caedis commented 2 months ago

@GedeonGrays, can you try with CCC 1.3.0? Also remove CCL since its now merged into CCC. https://github.com/GTNewHorizons/CodeChickenCore/releases/download/1.3.0/CodeChickenCore-1.3.0.jar

GedeonGrays commented 2 months ago

@GedeonGrays, can you try with CCC 1.3.0? Also remove CCL since its now merged into CCC. https://github.com/GTNewHorizons/CodeChickenCore/releases/download/1.3.0/CodeChickenCore-1.3.0.jar

Now there's a crash like this: crash-2024-07-03_21.06.59-client.txt By the way, a special big thank you for merging your CCL and CCC versions.

Caedis commented 2 months ago

yeah, we accidentally missed the fix from 2 days ago in the merge

Caedis commented 2 months ago

https://github.com/GTNewHorizons/CodeChickenCore/releases/download/1.3.1/CodeChickenCore-1.3.1.jar should be good now

GedeonGrays commented 2 months ago

https://github.com/GTNewHorizons/CodeChickenCore/releases/download/1.3.1/CodeChickenCore-1.3.1.jar should be good now

Unfortunately, still a crash, by the way, kind of one of the previous ones: crash-2024-07-03_21.46.20-client.txt / fml-client-latest.log

Caedis commented 2 months ago

Found the issue. Occam's Razor or something

Caedis commented 2 months ago

Want to give https://github.com/GTNewHorizons/CodeChickenCore/releases/download/1.3.2-pre/CodeChickenCore-1.3.2-pre.jar a try?

GedeonGrays commented 2 months ago

Want to give https://github.com/GTNewHorizons/CodeChickenCore/releases/download/1.3.2-pre/CodeChickenCore-1.3.2-pre.jar a try?

Sure, and everything works fine. Thank you so much for your work, and I apologize for taking up so much of your time.

Caedis commented 2 months ago

No need to apologize. Oversights happened on 2 projects that showed they broke public api compatibility and now they are fixed.

GedeonGrays commented 2 months ago

Okay, then I guess we can close this issue. Thanks to everyone who worked on fixes for both projects.

basdxz commented 2 months ago

~@basdxz can you humor me and add remap = false to the @Overwrite annotation for that method (and probably push as well)~

A couple lines above the error, the log file says

[12:30:09] [Client thread/DEBUG] [mixin/]: Mixing client.codechickenlib.CCRenderStateMixin from mixins.rple.json into codechicken.lib.render.CCRenderState
[12:30:09] [Client thread/DEBUG] [mixin/]: RemapperAdapterFML is remapping method pullLightmap()V for codechicken/lib/render/CCRenderState
[12:30:09] [Client thread/DEBUG] [mixin/]: RemapperAdapterFML is remapping obfuscated method pullLightmap()V for codechicken/lib/render/CCRenderState

I have no idea why this is popping up, considering that the class itself is marked with remap = false

image

Caedis commented 2 months ago

@basdxz you can ignore it. Someone accidentally typed pullLightMap instead of pullLightmap when fixing the public api and my eyes didnt register it being different