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.

@Allexio
Copy link

Allexio commented Apr 3, 2024

For me it's not about the changes you made but how you made them:

  • Not contacting the original FD fabric author
  • Not contacting other FD fabric add-on authors
  • Not properly disclosing the change to users/modpack creators
  • Re-using the same mod ID
  • ...while also updating the version number to be "2.0" to make it seem like you updated the original mod when in fact you did something completely different
  • Making your other mods (supplementaries) incompatible with the original with no explanation
    • which resulted in multiple github issues about this as the error shown made no sense and referred to a mod that should not exist (fd fabric 2.0 when in fact it should have been FD refabricated 1.0)
    • without forgetting to include a shameless plug to your own new version
    • and not mentioning that other FD fabric add-ons would effectively break (or being purposefully vague on the subject) just to try and get people to update
  • Criticising the original work
  • When asked if the port was necessary, instead of providing this detailed description, MehVahdJukaar just replied with "is anything necessary" further escalating drama for no reason.
  • In fact, even this page still does not address the issue that is compatibility with all the FD fabric add-ons that people use...

As much as I am a firm believer in open source and the healthy community that is the modding scene, this goes against so much that I believe in that I can not in good conscience use this mod or any other mod from MehVahdJukaar.

@EduardoJauch
Copy link

I agree with everything Allexio said, and would like to point also that FD 'refabricated' is a clear attempt to highjack a very popular mod. The approach shows clearly the intent of the 'refabricated' mod developer is to gain something (popularity, as sense, paid support on platforms as patreon, etc), in an absolutely unhetical way.

@MehVahdJukaar
Copy link

MehVahdJukaar commented Apr 3, 2024

I'll go over all the points you made, hopefully clearing up some of this backlash that we seem have gotten.

  • We did contact the original author. Vectorwing that is and he was totally on board with the new port. As to why the fabric authors was not contacted is simply because it would have only stirred up arguments. See this port main goal was to be as close as possible as the forge version in terms of code so that, whenever vector decides to drop an update, it will take us mere seconds to pull in the changes instead of weeks or months. The fabric version internally is completely different from the forge one, all package names and class names are different and architecture itself is different. This is one of the reason why the fabric version started to lack behind so easily.
    For this very reason a full "rewwrite" was needed hence there was no need to contact the fabric authors as we would not have used any of their code whatsoever.
  • This one is false. We are already in contacts with some fabric addons and a few have already published updates.
  • As for the changes you ARE on the very page that is discussing them in detail. A brief overview is given in the modpage aswell
  • Same mod id has to be used to keep all existing integration datapacks working with this as well as allowing worlds to be opened with this version without loosing blocks and items. Had we not done this it would have been a dead port from the start. Moreover the main goal os this port is, as stated previously, to easily allow cross loader development with only 1 souce set, common to both loaders.
  • Now suppose we had kept the same exact version. First of all it would have not made sense since major changes were made so a major version number would have been appropriate. New features are added aswell. But most importantly if same version would have been kept issues would have flooded the Farmers Delight Fabric page as the game would have just crashed on load instead of giving a version mismatch error as mod id and version would have been the same but internal code would have not. This would have been extremely confusing for users. Having a separate version is NEEDED since the mod ID is the same. New versions even include a "refabricated" string to the version for this very reason, to make it even cleared that its a different thing.
    Now as for the "others addons would break" thats clearly stated on the page and theres not much we can do now beside expanding the compat layer (which at the time im writing this already works for most of FD existing fabric addon so this point is pretty much invalid)
  • There was no criticism. All thatwas written was plainly facts of what this port does and what it does not. It is faithfull as it uses the exact same code and has the exact same features instead of being a rewrite that is missing some features.
  • And i will say it again. Nothing is necessary and that was the right asnwer to give on such a passive aggressive question. Gave you that answer as i already know you had your mind set and this prooves it.
  • Discussed in the points above. Page states that not all addons will work. I'll make that Q&A bigger and add soe explicit message telling userts to report issues to us so its even more clear just to be sure.
  • Not sure what this woud go against. Vectorwing license allows for forks and there were more than enough reasons for this one in particular. Technical internal debht leading in difficulties in updating, impossibility to have shared common code, missing features and unfixed bugs. Not to mention we explicitily asked the author itself for explicit permissions.

This took me a white to write so I would appreciate if you two would read carefully.
If you have any more questions or feel like some of your points still hold up please reply here

@EduardoJauch
Copy link

All your "arguments" as to why your port, that you say was not necessary, was necessary, are absolutely irrelevant.

Irrelevant because the only thing really important you said in your answer was: "As to why the fabric authors was not contacted is simply because it would have only stirred up arguments."

So, you didn't even TRIED to talk to the original FABRIC PORT owner, because you THINK he would CREATE PROBLEMS.

That is not the most ridiculous reason I ever heard in my life, but is a hard contender.

I don't know if you are just excusing yourself cause you were trying to highjack, in Fabric, a very popular mod, and didn't want to risk the owner actually saying "yes, I would love help", or if you are just a bad person as you think the others are, but either way, that is really enlightening.

Thanks.

@Allexio
Copy link

Allexio commented Apr 3, 2024

I don't think your post (@MehVahdJukaar) deserves a reply but here I go:

  • "We did contact the original author" You know very well that is not what I meant. You should have contacted the original port author. What you wanted with this port is completely irrelevant to the matter at hand.
  • "This one is false" Your reply is extremely misleading. You had not contacted anyone until you actually released. Which is the whole problem. You have only started contacting people now after the massive backlash you received
  • "As for the changes you ARE on the very page" Once again this page did not exist on release.
  • This was a mistake on my part and I will admit that I lacked the technical knowledge to know you had to keep the same ID.
  • "There was no criticism." errr yeah there was. The implications of the description is that the previous port was messy and unfinished. It doesn't matter if it's true. It's all about how you say it and being diplomatic.
  • "Nothing is necessary" - You doubling down on this just goes to show that at the moment when you could have completely defused this whole situation and avoided the backlash with a well placed apology and some damage control, you instead decided to rile up people more, same as with your "You guys still don't understand that I love drama" comment.
  • "Not sure what this woud go against. Licence blabla" - You still don't understand that we aren't talking about legality but ethics, something you seem to have very little of.

All in all a very disappointing answer without even a single shred of remorse concerning the consequences of your actions which were honestly entirely avoidable.

If you had just apologised we could have moved on, but instead you are defending your position, even when the outcome is plain to see.
Outcome which is the following:

  • Users were left extremely confused about what was happening and where to go for support, with games suddenly crashing with little to no guidance, telling them to update their farmer's delight fabric when the mod version doesn't go that high on the original port.
  • Mod authors were taken completely by surprise and had to deal with support for mods that they do not manage, and are now pressured to update their mods for compatibility with another version of a port that works perfectly well.

"This took me a while to write so I would appreciate if you could read carefully"

@MehVahdJukaar
Copy link

Alright so @EduardoJauch to reply to your question, expanding on why I didnt contact fabric author.
Lets suppose I had asked something that would essentially convey something like "Hey we are planning to publish a separate and updated fork of the original fabric mod that could possibly make your one irreletant. Are you ok with that?". Any author would obviously not be ok with that, even if its authors that dont have time to work on their things anymore.
Poingt being that even to contacting could have started as a sign of courtesy, the intent surely wouldnt have been and theres really no way around that since no autor would like to have a competitor fork and its not like we could have just made a PR to the origiinal one for how fundamentally different the internal structure is.

I'll reply to the one below aswell after carefully reading it, dont worry. Just busy now.

@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