[WIP] 26.1+ Support and Bug Fixes#185
Conversation
|
If you're making a complete list of things still needed, there are changes needed in MappingsLibrary to fully support Class Tweaker access wideners and interface injection for Fabric and Fabric common. See #170. Right now in my testing everything seems to work fine but in the end the AWs and IIs just don't get applied after refreshing gradle and running genSources. |
I also noticed that Classtweakers themselves don't work, due to UML not supporting it. I have taken a rough look to try and figure out what needs to change. I don't personally use Injections, so I wouldn't know how to test against them. If someone is willing to supply a sample repo I can use for testing that would be great |
FWIW at the moment Loom still uses accessWidener to configure the Class Tweaker file. I've been assuming Unimined is following the same convention. No complaints are issued when the latest Unimined 1.4 snapshot is configured in this manner.
I've uploaded my current progress on Biolith here: https://github.com/TerraformersMC/Biolith/tree/26.1-unimined |
|
Currently the old way of implementing II through |
I'm hoping to avoid that because it forces me to jump through some stupid hoops (defining a fake |
This didn't seem right to me (but I wasn't sure about my memory). I backed out all the changes, to use the (extra source set) AW and II configuration I had working in 1.21.11 when I switched to Unimined there as a stepping stone to the 26.1 upgrade. Neither the AW nor the II apply when using the latest 1.4.2 snapshot ( |
This is actually a bug in my implementation. The fix for it will be part of this PR. The reason it happens is because of a mapping namespace indifference internally, and then the AW is just ignored. I do need to fix it though, otherwise the game crashes when you try to load an AW |
|
Any progress? |
|
No progress as of yet. There are a few more things we picked up as snapshots went along which still need to be addressed. I haven't been spending much time on modding lately because of life. I need to look at the additional things that are still broken and PR those in so we atleast have a somewhat working environment to continue from. Once that's done I'll mark this PR for review so people can at least continue testing and we can fix new issues that pop up after that. I do think LexForge will still be completely broken, but since they have no snapshots, there is no way to test that yet.... |
…new neoforge versioning
| if (!legacyATFormat) { | ||
| val lines = temp.bufferedReader().readLines() | ||
| temp.bufferedWriter().use { | ||
| writer -> lines.filter { s -> !s.startsWith(" ") }.forEach { writer.write(it) } |
There was a problem hiding this comment.
something like
if (!legacyATFormat) {
val lines = temp.bufferedReader().readLines()
temp.bufferedWriter().use { writer ->
lines.filter { s -> !s.startsWith(" ") }.forEach {
writer.write(it)
writer.newLine()
}
}
}
There was a problem hiding this comment.
Oh, weird. Didn't see that happen in the IDE where I tested it. Probably had something autoformatting it
|
I merged this PR as-is into
|
|
Neoforge seems to mostly work but I can't get the access transformer to apply. It claims it's applying it, but access isn't transformed. |
|
AT really doesn't work on Neoforge; I posted a fix in the comments above. If you need a working version of Unimined, use https://repo.redlance.org/#/public/xyz/wagyourtail/unimined/xyz.wagyourtail.unimined.gradle.plugin/1.4.2+redlance.2 |
|
I have applied that fix, but still have to push it. Just not getting around to testing 😅 |
Do you mean #185 (comment) ? I applied that and re-ran genSources, but it doesn't appear to have made any difference. The generated AT file did have newlines, both before and after. |
Yeah, all my changes are available at https://github.com/dima-dencep/Unimined |
|
I did notice some random cache issues (which I cannot accurately replicate, therefore cannot test) with Unimined 1.4, where it will keep outdated or corrupt stuff in the cache. I've had to delete my unimined folders (both in gradle home and my project) multiple times across different MC versions to fix stuff like invalid de-obfed files, mixins being broken etc. |
|
yea, same |
|
Yesss... I had deleted all caches in the project, but I did that again and also deleted unimined from my user cache and that did it. So it's probably something in the user cache not the project cache. |
|
That about sums up what I noticed too. So definitely some weird issue in the cache system 😫 |
|
New request! Could there be a ct2at (or could aw2at handle that case)? edit: I know that won't get me II in the forges ... I will miss that feature of arch loom, but I can work around it. |
|
ct2at is certainly possible, but first we need to wait for support for the classtweaker format at https://github.com/unimined/UniminedMappingLibrary |

This PR includes more fixes and support for 26.1+.
I'll make a detailed list of changes below and add a TODO to keep track of progress. I'm keeping this PR as a draft as more things could possibly break, or more bugs could be discovered
TODO:
Changes