-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Loom 1.6] Fix NeoForge mapping issues with NeoForge interfaces #207
Conversation
I would like to add that the test I added only works on Java 21+, and when running on a version lower than Java 21, the test effectively skips itself. |
Does this have any impact on the name that vanilla lambdas get assigned? |
src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java
Outdated
Show resolved
Hide resolved
src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MergedMinecraftProvider.java
Show resolved
Hide resolved
src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SplitMinecraftProvider.java
Show resolved
Hide resolved
.../fabricmc/loom/configuration/providers/minecraft/mapped/AbstractMappedMinecraftProvider.java
Outdated
Show resolved
Hide resolved
...et/fabricmc/loom/configuration/providers/minecraft/mapped/IntermediaryMinecraftProvider.java
Show resolved
Hide resolved
src/test/groovy/net/fabricmc/loom/test/integration/neoforge/NeoForge1205Test.groovy
Outdated
Show resolved
Hide resolved
src/test/groovy/net/fabricmc/loom/test/integration/neoforge/NeoForge1205Test.groovy
Outdated
Show resolved
Hide resolved
Lambdas appear to get intermediary names, such as |
The test may need to be special cased to only run on Java 21. |
Co-authored-by: Juuz <[email protected]>
Compiles and runs, not heavily tested yet ItemStack "NBT" editing still works, even with components; component data is serialized to NBT for the NBT editor, and deserialized back to the stack if changes are made Arch FluidStack.empty() currently broken (returning null, causes crashes in fluid selection screens) Won't work with NeoForge 20.6.3-beta or later due to arch/neoforge mappings issues (see architectury/architectury-loom#207) No MinecraftForge support at all yet
Superseded by #209 |
Closes #206
This pull request fixes any issues introduced with neoforged/NeoForge#835, due to
ClientCommonPacketListenerImpl#send
andServerCommonPacketListenerImpl#send
having differentintermediary
andofficial
names by skipping theintermediary
andofficial
remaps entirely, instead remapping straight frommojang
tonamed
.If an alternate mapping set has the same names for both
net.minecraft.class_8673.method_52787
andnet.minecraft.class_8609.method_14364
, which Yarn does (sendPacket
), then the remapper will be able to successfully apply the name change to the interface and everything just works.The decompiled output might be slightly off at times, but everything will compile fine.