
Fabric support
bziemons opened this issue ยท 12 comments
Mainly said that because I've switched all my projects to use Fabric, but here's some of the reasons why I prefer it over Forge:
- I've only had problems with Forge's dev env for 1.13+. Breakpoints not working sometimes, hotswapping being kinda wonky (and having to run
gradle build
to swap assets instead of just being able to hit ctrl+f9). This comes mainly due to the fact that the game needs to be run through gradle since the new FML doesn't like appending mods to the classpath, like running from the IDE does it (I've tried fixing that for the mod I was writing code for, but didn't succeed because something else broke, yay)
Meanwhile, Fabric's dev plugin, while definitely not perfect (for example, you need to still decompile the game source manually if you want it (which you probably want since you can't do stuff such as looking up usages for compiled files), and then attach it through the IDE manually each time you update your mappings), has been a way better experience than both ForgeGradle 2.0 and 3.0- It has really nice rendering extensions [documentation], which means we could ditch CCL depending on what it's used for outside of model loading (well, we'd have to anyway).
- Builtin mixin support, which is not as tedious to use as ASM if you need it
- It updates pretty fast to every game release, and updating to snapshots means you have more time to adjust to changes instead of having to adjust to every change between major versions at once
- The project is open source and community driven, and not as incredibly strict when it comes to PRs
Originally posted by @therealfarfetchd in #1252 (comment)
I am several months late to this comment thread but thought I would add a couple cents... I am very thankful for the LP and Forge crews for keeping the good fight going and I've enjoyed LP for many years (since before 1.7.10). No one can truly predict what the "numbers" will be in the future, we can only speculate. If one waits until the numbers say that the time is right you might just miss the mark or be a party to the numbers never reaching the heights they could. I've been reading the forums and have read many mod makers suggesting that the fabric API system allows for more flexibility and the environment more inclusive; I've been a party to helping some mods update to the various forge releases and understand the strength and challenges that come with it. At the end of the day mod makers (such as davboeki, thezorro266, and therealfarfetched) are the ones that put in their creativity and work; I'd want them to work in an environment that supports them and gives them the flexibility to bring out the best in their works whether that be Fabric or Forge. Someone has to trailblaze, otherwise we're status quo.
This all being said; isn't there a third option to be considered; maybe abstracting LP to where it could adapt easily to Fabric and Forge? Then the choice could be made by the end-user or mod-pack maker which setup they want to move forward with and LP would benefit numbers-wise from both Fabric and Forge.
Thanks for listening.
This all being said; isn't there a third option to be considered; maybe abstracting LP to where it could adapt easily to Fabric and Forge? Then the choice could be made by the end-user or mod-pack maker which setup they want to move forward with and LP would benefit numbers-wise from both Fabric and Forge.
That is the point I made. Effectively it comes down to the active contributors though.
just reread your comment and yes, I am restating your point. Apologies, please consider it my support then. :) When I first read it (albeit it was 2am) the message didn't read that way. I'll step off my soap-box now. :D
This all being said; isn't there a third option to be considered; maybe abstracting LP to where it could adapt easily to Fabric and Forge? Then the choice could be made by the end-user or mod-pack maker which setup they want to move forward with and LP would benefit numbers-wise from both Fabric and Forge.
This is definitely possible, the biggest problem is probably making Forge use Yarn mappings (or making Fabric use MCP mappings, but I'd really rather not), because abstracting LP out so far that it doesn't depend on any MC code at all is not feasible. Everything else should be somewhat trivial, there'd need to be a "common" codebase which contains API independent code, and a Fabric and Forge specific codebase which links to the common one, and provides the platform implementations.
I actually sort of agree on this since forge has always been very behind on the Minecraft version and so far Fabric has been mostly up to date but other than that I don't really have much of an opinion, I'll just agree with whatever is decided :)
It all depends on the implementation like of 1.12.2 isn't your focus go for it but otherwise you need to keep two separate workspaces. Personally I like 1.12 because it has a lot of mods right now, and from what I can gather it has the most modded players.
It all depends on the implementation like of 1.12.2 isn't your focus go for it but otherwise you need to keep two separate workspaces. Personally I like 1.12 because it has a lot of mods right now, and from what I can gather it has the most modded players.
This issue is for versions above 1.12 (specifically, 1.14.x, right now).
And yes, 1.12 has the most mods and players, since Forge 1.13+ is still in beta as far as I know, and Fabric is pretty new.
But at some point we have to update, don't we?
Warning: Private opinion!
I think Fabric is a very nice try to refresh the modding scene but it wasn't and will not hit as much people as it needed. Forge was the base of all of the mods and has a quite big amount and qualified developers working on it. It covers most areas that could or would be affected in MC. That's why they lagging behind the MC versions since it's a huge work to manage.
AsieKierka made a very good job to build the Fabric, but this API is the bare minimum, everything you need to do has to be on your mod side, or use some more API libraries for it that has variable quality. Even if this approach is very common in Java development community, Forge already teached out a generation of modders with its wide variety of features that they could rely on, I rather not bet they will change to Fabric. As soon as the Forge 1.14 will come out (is it released or still alpha/beta? I dunno) everyone will start to move to it, and Fabric will become an interesting alternative framework along with Forge.
Logistics Pipes is a very nice mod on its own, but not as useful on its own, without other mods. If you can support only vanilla furnaces and dispensers, Logistics Pipes will have far less reach that currently has. If most mods will base on forge (and no doubts, they will), LP should definitely support Forge regardless if it's lagging behind MC versions or has struggles in development environment. Players will not give a flint to this problems, they want they favorite mods working and working together.
Since currently LP has a nice but little development team, I do not see why do you want split up your forces even more. You still supporting 1.7.10, and 1.12. If you want to support 1.14.x with Fabric and 1.14.4 with Forge, it will eat up a lot of time with no real benefit.
Also, as I see Forge working hard to keep up with versions, currently there's a version for 1.14.2 and 1.14.3 too. I hope more updates (1.15, 1.16) will less groundbreaking and Forge will be able to keep up.
I'm not a developer, just a simple player. But I can count on my single hand how much popular modpack being made based on Fabric. Too few mods support it and it's does not increase even if Fabric is out at least for 6 months. It will just not hit.
From my perspective: sit back and wait 'til Forge team iron out bugs and inconviencies from Forge and ForgeGradle. If you run into it, they also do, but they have far more things to do with the basics than solving compilation issues. I'm pretty sure if you report it correctly, they will ship a solution sometime. Just be patient a little bit more.
I'm very excited about 1.14 and new mechanics and I hope LP will come out to it. Probably with Forge support.
@hron84 thanks for your opinion. It is very much true that switching to Fabric only would certainly be weird, although I disagree that LP in a world without tech/other mods would not work. Disabling the power usage, you could have some auto crafting (yes, with vanilla furnaces) and more importantly a good sorting system.
I also agree that splitting our forces to support Fabric alongside Forge doesn't sound good, but from a programmer's perspective it would make sense to go for it anyway: we can refine and refactor our code that is hard dependent on the Forge API and that would make it more generally portable. Also between Forge versions.
I am not saying this will happen, but since we will probably update to newer Forge versions and still support 1.12 for a good while, it might be a way to go forward.
Let me rephrase that. LP without tech/other mods will work, but will not be as much fun as with integrating with other mods. It would definitely hurt download numbers for newer versions if LP would support only vanilla blocks just because we lacking big tech/magic mods on Fabric. These numbers not just digits next to eachother, but a sign your work worth or not. You working so hard on this mod you definitely deserve very high download numbers!
These numbers (are) not just digits next to eachother [...]
But really those numbers are just digits next to each other ;) I am not gonna lie, seeing people play the mod generates motivation to work on it more. But it's not those numbers that matter to me personally. It's the people, who say thank you in the many messages and comments we get :)