Skip to content

Instantly share code, notes, and snippets.

@MerchantPug
Last active April 3, 2024 21:07
Show Gist options
  • Save MerchantPug/f71b4d89272f8dc3757f4cec723617c0 to your computer and use it in GitHub Desktop.
Save MerchantPug/f71b4d89272f8dc3757f4cec723617c0 to your computer and use it in GitHub Desktop.
Differences between the three Farmer's Delight versions we currently have.

Some Starting Notes

  • If something is in all three versions, it will not be mentioned here.
  • I'm not going to be mentioning bugs as differences, mainly because I feel it is unfair to compare unintended behaviour.
  • I will also not be mentioning Farmer's Delight Refabricated's Skillet flipping here, because this is moreso a comparison to the original mod, I'll include this when the original has it.

To also note, the Decomposition REI integration in Farmer's Delight Fabric is bugged, it supports a block tag, however, it only shows one item from said block tag.

* means that it was introduced by Farmer's Delight 1.2.2 or above, which Farmer's Delight Fabric has not gotten upstream for.

Content

Feature Farmer's Delight Farmer's Delight Fabric Farmer's Delight Refabricated
Bamboo/Cherry Cabinets*
Canvas Hanging Signs*
Cheaper Rope and New Rope/Straw Recipes*

Gameplay

Feature Farmer's Delight Farmer's Delight Fabric Farmer's Delight Refabricated
Cooking Pot Serving Bar*

Recipe Viewers

Feature Farmer's Delight Farmer's Delight Fabric Farmer's Delight Refabricated
Vanilla Recipe Book
JEI
REI **
EMI ***

** Supported through JEI compat layer on Forge

*** Supported through JEI compat layer, some stuff may be missing.

Visual Changes

Feature Farmer's Delight Farmer's Delight Fabric Farmer's Delight Refabricated
Basket 1.20 Bamboo Consistency*
Cooking Pot Meal Slot to Output Slot Arrow*
Experience In Modded Recipe Viewer(s)*
Skillet Model Contains Items
Vanilla Consistent Cake Slice Texture*

Codebase Compared to Farmer's Delight

Farmer's Delight Farmer's Delight Fabric Farmer's Delight Refabricated
The original. Rewritten from scratch. Only uses minor necessary rewrites compared to the original Farmer's Delight.

Pug Notes on This.

Keep in mind that I worked on Farmer's Delight Refabricated, which will impact my outlook on this subject, however, this'll serve as an explanation as to why it's best to work with minimal codebases when porting.

Having the minimal codebase for Farmer's Delight Refabricated is pretty much a result of making sure that we're always able to pull directly from the Forge version of the mod, this allows for far easier changes than Farmer's Delight Fabric, which had to reimplement Farmer's Delight's content, Farmer's Delight Fabric's approach lead to a lot of technical debt, and a lot more work when it came to actually updating, leading to the maintainers entirely burning out on the project.

@MehVahdJukaar
Copy link

MehVahdJukaar commented Apr 3, 2024

@Allexio As for your comment its as follows:

  • I did not contact the fabric author because i thoguth nothing good could come out of it. Usualy contacting authors in cases like this is a matter of courtesy but in this case, giving we would be basically asking "Hey is it ok for you if we make a new port for FD which could potentially make your one irrelevant" would not be taken kindly by any author, even ones who are not actively working on the project. So for this reason i only contacted Vectorwing as i thoguht contacting Fabric author would have only stirred up fighting and whatnot in the worst case and in the best case bee seen as almost disrespecting. Sure i am aware that this is similar to how its now, to me both options were somewhat the same as with a new and outdated port we would be some sort of "competitors" to that port which would put us in a negative light to fabric author.

  • Yes you are right. I only contacted people after the port was done. This that happens often with my project. I decide to prioritize haste of development rather than perfections when it comes to update. In other words it means that this made me gain the reputation of one that is able to quickly update mods instantly by pushing an update (which many thing its an advantage as i've often added content to mods right after its been suggested for example) out as soon as a bug is fixed, rather than waiting for more of them to come as I dont see the value of hilding back updates. This incremental constant approach is often done in the software industry aswell when it comes to non vital software. Obviously as a side effect side issues might arise but those are quickly fixes shotly thereafter.
    Also the modpage clearly states that all addons could break so people that would have read that would obviously bother us rather than the addon makers so i saw no problem in taking such approach. That addon would break was inevitable for the very nature of the port.

  • For this same asnwer as above. Main page only had a shrot overview of the changes and admittedly it was aimed more at modders rather than mod users. Still any avid FD fan that has played both fabric and forge version would immediately know what features we were talking about. Infact tracking them down was a bit of an issue too as thery were more than the one listeed here as many are small minor changes that might not amount to much and are all due to the completely different internal structure of the mod. Kudors to Pug that took the time to make a nice list of them.

  • I wrote the description as objectively as possible, to the best of my capabilities. Obviously I had to talk about the missing features and incompletness of the original port. Missing features and open unfixed bug was one of the thing that brought me here as i saw that the community was often mentioning them. If you believe some of my phrasing could be misinterpreted please let me know.

  • This point, the way you write it, implies that "this whole situation" started because i replied to your passive aggressive message in a provocatory way. If thats indeed whats this about you could have just told me and spared me to waste my time writing this. The only people that i've seen agains this port are just a few while we did receive praise from many more others for giving some love and future stability to this mod. As for my answer once again had you not came forth with such a clearly hostile question I would have given you all the answer im now giving you here, expalining in detil how this port differs from the original and why it was made like that. Believe me I've dealt with many people like this and when one starts a conversation in a semi hostile manner like you did it always ends up in the same way. If you wanted a better reply you could have asked me nicely "how does this port differ from the original? What advantages will players have?" or soething similar instead. You shouldnt advocate for people being nice when you are the first that starts off like that you know.

  • Finally here as i've stated before I didnt really see any positive outcome from me contacting fabric author. The port is fundamentally different, its not like we could just find a "middleground". What would that even be? Us making a pull request to the original fabric version? Trust me if that would hae been possible we would have done but the main goal of this port is to be future proof. THe code base is ENTIRELY different. This was done so that we can pull changes from forge in a matter of mere seconds no effort needed guaranteeing future support for this port basically indefinitely instead of having to rewrite everything from scratch like it was done in the fabric version.
    If you are suggesting that we should have just handed over a complete port to the fabric author and share the project us 3 I dont think thats fair as if that was the case we would have been basically just be handing it over to them while we did all the work. Moreover this would have still created an issue with addons breaking and infact would have been even worse as they would be forced to update or choose an old version of the mod instead of a different mod entirely.

Seems to me that your only valid point, or the only one you really kept from your first comment was the one of wanting me to give a heads up to fabric author and its a fair one. I told my reasoning tho, i didnt want to just message somebody saying "hey we are maiking a new port of the mod that you also have a port of, well be competitor basically" as that would be an awkward and almost direspectful conversation. Same reason i'm only arguing with you here and not on FD discord as it would be disrespectful to discord owner.

Finally for your last 2 points i really dont get it as both users and modpack makers would have HAD to look on the FD refabricated page to install the mod or add it to their pack and if they did they WOULD have known what the mod was about and what would have happened if they installed. Only people that would randomly install mods without reading anything on the modpage would be "caught offguard"

Also this is almost irrelevant now as the compat layer that i've added now takes care of most addons.

@EduardoJauch
Copy link

@MehVahdJukaar So:

  1. There is already a port of Farmers Delight for Fabric.
  2. This port is lacking behind in features.

What a normal, ethical person would do:

  1. "Hey Zifiv, look, your mod is getting behind. I look at the code and think one of the reasons is that the structure is too different from the original one. I would love to help changing the internal code so it would be easier to update it. What you think?"
    He could or not accept. If he didn't accept, a normal person would say: "ok, so I will make a new port of it". And you would have done your new Fabric port of Farmers Delight, everybody would be happy, no one would have the right to complain. Not even Zifiv. Case closed.

What MehVahdJukaar does:

  1. "Look! A mod! It has lot's of people using it, but it's not updated regularly. What should I do? Talk to the mod owner and offer help? Nah... Why would I do that? Let me just make a new port, without telling him or his mod users, and then I will update all my mods to be compatible with my version only, and then I will launch it. Fuck Zifiv! He should have been keeping his mod better!"

Yeah, that's what you are really saying.

But it seems you are not able to see the real problem with what you did. Like when you messed up the dependency on a Mod that was not even yours.
The fact you are pissing off so many people and even so you insist you are right and the others are wrong shows more about you than you think.

But whatever. I will not bother you anymore. I will not gain anything by talking to wall, anyway.
So, be happy and enjoy your life.

@MehVahdJukaar
Copy link

MehVahdJukaar commented Apr 3, 2024

Yes but you are missing the point.
Feautures missing were not the main concern here. Having a mod that can be easily used cross loader and could be easily updated is.
This intrinsically means that any PR or changes to the original port was NOT on the table as the only way this could be achieved is with a complete and total re port of the mod. Meaning the entirety of the code would be different. First option you listed would have not allowed for this.
Sure we could have "just" made a PR that adds the most pressing feaetures the mod was missing but it would have not ahcieved the main goal of the mod and next time vector updates we would have to go through all the same pain again instead of pressing a merge button and publishng an update instantly like this port allows to do.
A compromise solution would have NOT achieved this.
Only way this could have been done would have been with a total rewrite and tat that point what is the point to contact an author that would have literally 0 of its code in his mod. Would it even still be his mod? Thats why we decided to make a new one.
Not to mention the fact that having a diferct update to the main FD mod will still break all addons but be even worse as that would essentially foce modpack and addons makers to chose not between 2 different MODS but between 2 different mod VESIONS which is way more foncusing for users.

What i do:
Hearing that many people are distressed about the state of the mod. many issues opening on github, half a year long missing features and constantly lacking behind due to a lack of developer time. Not judjing anybody here just stating the facts.
Many were upset, I asked many times in discord if people were interested in such a port and everybody I heard was on board that such a beloved mod would get some love.

As for my mods none of my mods are incompatible with the old port (if they are its a bug). I also feel like you havent tested it yourself.
And even if they were they would have one (1) version that works with the new port and god knows how many that do with the old. People could just coose the version that suits them. I am giving them a choice, not forcing anybody.

They just wont have the old integratio code as i moved all the FD code in common so i only have 1 class that handles both forge and fabric.
I'm currently in contact with 2 other addons makers that are too looking to do the same with their FD addon cone. THIS is what this port was set out to do.

Honestly i did not expect these kind of reactions for something that people can just out out not to use, something that many people have asked for a long time, totally uncalled for. Luckily its just you two that ive heard.

Finally I feel the need to remind you to be civil. We are arguing here, I'm listening to your opinion and taking my time to write these reply where I got in depth as i feel its necessary to get my point across, showing why decisions were made, yet you seem to be against me only by prejudice.

@EduardoJauch
Copy link

@MehVahdJukaar

This is my last comment, as I already waste too much time with this topic.

Doesn't matter if you came up with the most beautiful, efficient and maintainable mod in the world. This. Is. I-R-R-E-L-E-V-A-N-T.
Because I don't care. That's not my point.

My point is simple. You did it in the WRONG way. Not only wrong, but in an absolutely UNETHICAL way.

The only thing you said, remotely related to this, was that you didn't talked to Zifiv because you "know" he would have not accept your ideas, or that he would make you do all the work.

The reality is that you don't know. Because you didn't talk to them.

But it very clear you don't see this as a problem (how you don't see this as a problem is beyond me though).

I made my case.
You don't care.
It's fine.
It's life.
But life is too short.
So, like I said before (and I was sincere), be happy and enjoy yours.

@MehVahdJukaar
Copy link

MehVahdJukaar commented Apr 3, 2024

You can continue to believe what you want, I've debated all your points in detail.
So many points were brough up, I discussed all of the and it seems like the only real one that remains is me not contacting fabric author beforehand. As I've said before i didnt do it for a reason as i thought that just saying "hey we have a competitor mod" would have had the same effect of not saying anything at all really.
And yes it could have been done I'm not arguing against this. Just dont think it would have made much of a difference thats all.
It could have been a sign of courtesy or taken as a sign of disrespect. I choose to take the neutral route and not say anything at all.
And i'll repeat once more if this is your only valid point its a fair one. However given the nature of the port such contacts would have not amounted to much other than a litte heads up onto the upcoming situation since, as I've said working with the dev to modify the existing port was not on the table for the very nature of the port.

Also i dont really care what you care. I care about what most users care and for them this will be a breath of fresh air since we now have a port thats easy to port to, on pair with forge and with indefinite an easy path to future updates. Most addons now work too. This is what people wanted.

That said If you wrote all that text just to tell me "it would have been nice for you to contact them" yes thats a fair point but definitely not proportionate to how big you make this issue seem as we have clearly seen that all your other points are minute things or just not factually correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment