Hello and welcome to the Fabric 1.16 Snapshot, Pre-Release & Release Discussion Thread!
This thread will cover:
-Fabric & Forge mod posts DAILY! (well, every 1-3 days at least)
-How to install Fabric (For Vanilla & MultiMC [Old Twitch install method I'll skip due to Jumploader allowing Fabric Twitch support now])
-A modlist stating all mods for Fabric 1.16 snapshot, Pre-Release and Release.
-Major things required/optional but useful in a Fabric environment (Fabric API, Mod Menu, REI, OptiFabric, etc.)
-Additional things for mods (Resource Packs)
-And maybe more additions, changes/improvements over time to the thread itself (like this point list your reading now. I like to change them up ever so slightly. From exclusive mod lists to compressing it into one spoiler compared to the two separate in the past, to adding a 'this thread will cover' section to make explaining easier. That and it makes creating these threads for fun instead of a copy paste job all the time and allows me to be more creative with them each time).
If your unfamiliar with Fabric it is a modloader like Forge, Liteloader, Rift or Risugami's Modloader is. Fabric is intended to be lightweight, this makes it suitable for players so low end computers can run mods and this makes coding for it suitable, great for updating mods to snapshots (as long as snapshots don't break things) and more.
There is also two Fabric terms to get used to, Fabric Loader/Installer & Fabric API:
-Fabric Loader/Installer is your method to install Fabric into the Vanilla or MultiMC launchers like you would Forge, Rift or Liteloader. You can find it here or under the Fabric requirements spoiler of this first post: https://fabricmc.net/use/
Fabric is not a competitor to Forge or out there to split the community, it is another option for players and developers to use.
If you want to use Fabric & Forge mods, well the thing is Fabric & Forge are not compatible yet. (Patchwork is in the works as a way to make them compatible) so best to look out for a Fabric icon on mod pages or check the mod posts I post every 1-3 days to know the difference between if a mod is for Forge, Fabric or both.
If you have any feedback about the forum or want to post a comment go for it.
For a look at my past threads/works try the following below:
I'm curious as to how it is possible that a modloader, much less anything more than the most basic of mods, can possibly be updated within hours of the release of a snapshot, and for a new update at that (until 1.13 I used to maintain an "old caves" mod which reverted the changes to caves in 1.7 so they generated exactly the same as before and I could update it within 10 minutes but all I had to do was use JD-GUI to decompile the jar, then search for a particular string, then use a bytecode editor to change a couple values, then make a custom version (adding the modified class to the jar, no modloader) and test it).
@MasterCaver Sorry for the 2-3 hour late response, was updating the 1.15 thread for about an hour.
I have wondered that, I have seen an interview and looked at the Fabric Discord a few times but yeah it is surprising how they have done it so lightweight, and update friendly to snapshots within the hour or so. I've not properly made a Fabric mod, only looking at a few tutorials so I don't really know what goes into it besides hearing mixin (not using asm) and other things being thrown around. But I assume they just really made their tools/apis and more really flexible.
I'd recommend watching this interview here which is the best public response I find besides asking the devs and getting varying answers:
Updating actually takes minutes. The reason is that fabric only has 2 hooks into the game and doesn't need recompilation. It uses a framework that allows you to inject directly into the bytecode called mixins(https://github.com/SpongePowered/Mixin). The decompiled source is only there as a reference and will contain errors. Additionally, the mappings provided by yarn(https://github.com/FabricMC/yarn) are free of use and any community member can PR to it, making deobfuscation extremely fast.