Kir-Antipov / sync-fabric

One mind. Many bodies.
MIT License
18 stars 15 forks source link

[Feature Request] 1.21.1 Port #48

Open skycatminepokie opened 2 weeks ago

skycatminepokie commented 2 weeks ago

Problem

There's no 1.21.1 version.

Feature

A 1.21.1 version

Other Solutions

No response

Additional Information

Here's what I can see as a to-do from face value:

This is not a small job, but it's also a cool mod

Kir-Antipov commented 1 week ago

I'm surely glad that I invested my time into setting up the forms, as now I get to see gems like this :D

Problem

There's no 1.21.1 version.

Feature

A 1.21.1 version

Anyways, yes, I want to update this mod. However, as you mentioned, there's a lot of work to be done to achieve that, not even considering all the refactoring needed to clean up some of the... questionable design decisions I made along the way. At the moment, I just don't have the time or energy to take on such a daunting task. That doesn't mean I won't, though. I think I'm going to skip a few versions and update the mod directly to 1.21.x or whichever version Mojang settles on after their internal mega-refactoring.

Crowdin needs to be dropped

Why tho?

Smart recipes needs to be ported, it's on 1.20.4

I think I'm going to drop that mod entirely. With all the recent changes Mojang introduced to items, crafting, and other relevant game mechanics, updating it would require significant efforts. Besides, almost nobody but me really uses it. So, while I still like the concept, I only have so many hours in a day, and I'd rather not spend them on something no one needs.

Energy and Satin need to be checked for compat - they both have 1.21 versions, but no 1.21.1

teamreborn:energy shouldn't be an issue, as it rarely changes (if at all). So unless it's been completely deprecated while I was away, everything should work fine.

As for ladysnake:satin, I'm just going to remove it. I had working shaders before I brought it in, hoping that using a specialized library would help with compatibility issues. However, it turned out to cause much, much more problems than my simple, homebrewed approach. Thankfully, it's just a matter of reverting a couple of commits.

Compatibility - I haven't researched the five compat mods yet

Honestly, everything except trinkets and origins will be dropped. I won't be adding and even accepting compatibility layers for non-library mods on my side anymore since they don't offer any semblance of a stable API to rely on, whereas this mod did from the very start.

skycatminepokie commented 1 week ago

Awesome! I thought crowdin needed to be dropped because it's deprecated. IMS212's fork is updated to 1.20.4. @cassiancc and I have ported from there to 1.21.1, working out the kinks at the moment. Not sure who I should put the PR into tbh xD

We've dropped hema and requiem as they're not updated, and IMS212 dropped crowdin, but just by commenting it out as far as I can tell. It wouldn't be hard to restore.

The branch is currently very much in an in-dev state, since I haven't figured out how to get origins and its deps properly, and smart recipes is via a file rn (Cassian updated it, I don't know how much testing has been done). Also origins is crashing a lot :P.

Oh, and satin and energy do seem to "just work".

Kir-Antipov commented 1 week ago

I thought crowdin needed to be dropped because it's deprecated

Oh, I remember now. Crowdin integration has two parts to it: a Gradle plugin that downloads updated translations during compile-time, and a mod that can update them during runtime. Honestly, the latter hasn't proven to be particularly useful, so I wouldn't mind if it's gone.

The branch is currently very much in an in-dev state, since I haven't figured out how to get origins and its deps properly

Yeah, I remember spending quite a bit of time getting Origins to work as well. Also, Origins doesn't really have a built-in functionality to store and restore traits separately from the player, so the whole integration thing has been shaky - to say the least - from the very beginning. I'd love to drop support for it too, but it's a library mod and quite a popular one, so unfortunately, that's not an option.

and smart recipes is via a file rn (Cassian updated it, I don't know how much testing has been done)

Props to them! :D That said, as I've mentioned before, it might be better to let smart-recipes rest in peace. Even here, it only manages one recipe at this point, so what's the real benefit there? Since Minecraft is so data-driven nowadays, a more sensible approach might be to abandon the original built-in auto-switcheroo to a more demanding recipe idea for Hardcore players. Many casual players (why are they playing Hardcore, tho?) have requested to revert this behavior, and I provided a datapack for them. So, perhaps we should consider doing a complete 180 and offer a datapack for more involved players instead.

cassiancc commented 1 week ago

A few notes from my work on the port:

Satin

I would love to see Satin removed, personally. I've been hoping to do an Architectury port of this at some point, as I need a version of Sync on Forge/NeoForge (version dependent, really), and not having to work with/port Satin would make my life easier.

Origins

I've just fixed the issue with the Origins deps, and will continue to try and fix that integration as much as I can in the meantime.

Smart Recipes

My testing has been pretty limited, but the port definitely isn't fully finished, as its failing to load the hardcore recipe at all. I believe it has issues with the new 1.21 data paths, and if we're dropping it anyway, it may not be worth the time to fix.

Kir-Antipov commented 6 days ago

I've been hoping to do an Architectury port of this at some point

Same here! There are already a lot of things that need changing, along with plenty of player feedback that needs to be addressed. All of this would likely lead to a major refactoring or even a complete rewrite of the mod, so why not make it multiplatform along the way? I'm not sure how I feel about Forge, but I definitely wouldn't mind supporting NeoForge. I just need a bit more free time and/or to get my medication sorted, which will hopefully bring my productivity back from the level of a depressed turtle stuck in a sloth's body xD

as its failing to load the hardcore recipe at all

Welp, this means the mod doesn't work at all since the hardcore recipe is super basic.

I believe it has issues with the new 1.21 data paths

It does. That's why I said porting it would be a pain in the arse - it's heavily entangled with Minecraft’s crafting system, and Mojang has completely overhauled that in recent updates. Basically, the old implementation has been thrown out the window, so smart-recipes obviously no longer work.