Sinytra Connector now available for Minecraft 1.21 #1293
Su5eD
announced in
Announcements
Replies: 2 comments 3 replies
-
This is great |
Beta Was this translation helpful? Give feedback.
0 replies
-
can we have forge 1.21 now? |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Sinytra Connector, now available for Minecraft 1.21 on NeoForge!
Greetings everyone! I am pleased to announce the long-awaited release of Sinytra Connector for Minecraft 1.21, built for NeoForge. We've made numerous changes, including improved user experience, mod compatibility and stability. You can find a detailed explanation below.
For those who are yet unfamiliar with Connector, let me give a brief introduction:
Sinytra Connector is a translation/compatibility layer that allows running Fabric mods on NeoForge. Its goal is to bring the two platforms closer together, saving developers time and effort maintaining their mods for multiple platforms at once, as well as allowing players to play all their favourite mods in one modpack.
If you have any questions, please check our FAQ first, there's a good chance they've already been answered there.
🎉 Happy 1-year anniversary!
Exactly one year ago, I've announced the initial release of Connector for Forge on 1.20.1, and it's safe to say it quickly gained a lot of users. However, it lacked a automatic patching system and was barely compatible with any mods at all. One could've even considered it a PoC rather than a fully-fletched release. We've come a long way since then, and a lot of things changed - we expanded our team, resolved over 600 issues related to mod compatibility and in-game bugs, released 3 new accompanying mods (Connector Extras, Lazurite and MixinBooster) to broaden compatibility even further - and most importantly, built a new community of both players and developers.
We've also got a fancy website and documentation now, make sure to check them out!
Happy first anniversary to Connector! For the following years to come, we, Sinytra, will continue in our mission to make cross platform modding easier and more accessible to everyone.
✨ The new
We've got lots of news and lots of things to be excited for!
NeoForge
Connector now runs exclusively on NeoForge - the brand new modloader based on MinecraftForge, which comes with various kinds of improvements that make maintaining Connector a lot easier.
For starters, it ships the Fabric fork of Mixin, which is more powerful than the stock variant, and on the other hand, eliminates any possibility of Fabric mixins using "unsupported" features or crashing as a result of differences in the used Mixin version. For a detailed overview, see The state of Mixins on (Neo)Forge. Note that Mixin 0.8.6 has since been released, which addresses some of these issues. However, Fabric's fork syncs with upstream, it is actively maintained and I'd consider it the more future proof option.
Next are runtime Mojmaps! This is a big highlight for developers, as we no longer have to worry about mapping jars on every build. As I've mentioned in FFAPI's 1.21 release blog post, we used to run into all sorts of issues related to mappings failures previously. In FFAPI's case it was mostly due to it using Yarn in dev on Forge, whereas Connector suffered from refmaps not being included in its jar unless I cleaned compiled classes beforehand. This was especially annoying for running test in prod after applying changes in dev and having to wait for longer to build a production-ready jar.
Last but not least - mod tags between Fabric and NeoForge have been unified! We won't have to manually try and match them together anymore, so expect item compatibility from Fabric to be greatly improved. (and not having diamonds mistakenly fall into
forge:tools/diamond
hehe)Improvements to Adapter
Adapter is our dynamic auto-patching framework for fixing Fabric mixin conflicts on Neo where we try to recognize common conflict patterns and then implement a dynamic patch that can detect and fix them. Previously, a lot of Connector's patches were hardcoded for specific classes, methods points in code, which resulted in many repeated crashes as we made changes to Adapter over time. They also couldn't account for changes in Forge, and we knew those would become a pain once we'd start updating it regularly in 1.21. Just to get an idea, you can compare the size of our
MixinPatches
class in 1.20.1 vs 1.21, with even more patches scheduled to be automated. All of the removed patches were moved to Adapter and implemented via dynamic transformers so that we no longer need to hardcode them. Additionally, we made sure to add tests for these patches, ensuring that none of them break again as we make changes to the library.To summarize: Our focus with the 1.21 release is on stability - we want to ensure that compatible mods are patched in the most precise way possible without altering their behavior. We also want to prevent them from breaking again due to changes in our code. That said, it's possible some of the mods that had previously worked on Connector will not yet work with this release. Please open mod compatibility issues for them on our repository, and we should be able to get them running again.
On Geckolib compatibility
Perhaps one of the most frequent issues on 1.20.1 were conflicts between mods that relied on the Forge build of Geckolib and those that relied on the Fabric version. Differences in the two's code made it near-impossible to properly patch them, which is why many of them were left unfixed. However, that has now changed. Starting version 4.5, Geckolib itself has been restructured into a multiloader layout, which means the majority of code is shared between platforms. This should eliminate most if not all previous issues. That said, we recommend everyone to always use the NeoForge build of Geckolib in their modpacks, even when using Fabric mods. There should be no need to install the Fabric version for use with Connector anymore.
🖼️ Showcase!
🔍 Get help
If you're having trouble running a mod on Connector, the best way to get help is by joining our community on Discord. Make sure to provide as many details as possible so that we can resolve your issue faster.
If you'd like to report an incompatible mods, please open an issue on our GitHub. Please note that your issue should include a the bare minimum amount of mods required to reproduce it.
📦 Download
Connector is available for download on all major platforms:
Make sure you also download the Forgified Fabric API, which is required to play Fabric mods.
ℹ️ About support
Due to our limited manpower, we have to make a clear choice of which version to focus on going forward. This means the latest version will always be our primary focus, whereas older versions might still receive critical bugfixes. Please keep in mind that Connector is open source and should you want to update and older version yourself, you're more than welcome to do so. We won't be blocking any pull requests to older branches either.
✅ 1.21 (soon to be 1.21.1) will be our primary supported version. This is the one that will receive new fixes and compatibility improvements. We will also try to regularly keep up with the latest version of NeoForge instead of recommending a specific one to use as was the case in 1.20.1.
🛠️ For mod authors
Connector's modid has changed from
connectormod
to simplyconnector
.If you're a Fabric developer looking to bring your mod to NeoForge, yet you don't want to spend precious time rewriting your mod from scratch, the Forgified Fabric API comes to the rescue! Along with our implementation of the Fabric Loader's APIs, you'll be able to keep the vast majority of your code unchanged and still provide a native version of your mod built for NeoForge.
Learn more about the Forgified Fabric API for NeoForge here.
🙏 Credits
My gratitude also goes to everyone else who have contributed to Connector or otherwise helped us improve it.
Beta Was this translation helpful? Give feedback.
All reactions