Fuck me, so I got into Stardew mods, right? On this my second modded run, I add LoveofCooking and pretty much the whole PPJA suite. Amongst others, but let’s focus here
BECAUSE I ENJOY COMPLETIONISM, I want to get Perfection from Qi, right? Requiring all shipped things, all cooked things, etc
There’s shit you CAN’T GET in the game but are REQUIRED for Perfection. When I say “can’t get” I mean either the recipe is broken, there ISN’T a recipe, or there isn’t a recipe AND you can’t buy the fucking thing. I don’t code yet, but I can adequately poke shit until it works, so I went into the various .jsons to figure it the fuck out. SUCCESSFULLY, much to my satisfaction
Buuuuuuut at least for the PPJA stuff, there’s no section I can find anywhere to post my solutions for whomever else is losing their mind? Maybe there’s a discord I’m ignoring, but on Nexus the mod authors took away the posts/bugs tabs, and I didn’t see any comment sections on any of the, like, five or eight semi-defunct wikis and githubs and everything. Love the PPJA stuff, it’s a massive endeavor. Probably stripped out the interaction options because they have enough to do, but it definitely leaves the users in a “figure it out or get fucked” situation
So anyway here’s some of my fuckin notes, added as I find and figure them out
”Broken” = recipe / producer rules exist in .json, but can’t be used in-game (for machines, sometimes because of duplicate InputIdentifiers)
”Missing” = recipe / producer rules straight don’t exist in .json, but item is required for Shipping or Cooking perfection. You can tell what these are by using LookUpAnything (or checking every Objects folder, if you hate yourself) (Updated w/ more fixes) PPJA - ARTISAN VALLEY
Sorbet Machine -- go into the PFM folder to the ProducerRules.json
BROKEN: Strawberry Dragon Fruit Fruit Sorbet, Dragon Fruit Sorbet
swap duplicate InputIdentifier and one of its AdditionalFuels. Make sure all InputIdentifiers are unique
MISSING: Mango Passion Fruit Fruit Sorbet
copy/paste one of the working rules and change out the InputIdentifier/AdditionalFuels. Use item description and/or culinary judgement for ingredients
Ice Cream Machine -- this ain’t the mod’s fault, but the 3rd party Documentation erroneously lists banana sapling as an ingredient for Banana Ice Cream, but you just need a damn banana. IQ of lots but that took me WAY too long to figure out
Keg / Still -- go into the PFM folder to the ProducerRules.json
BROKEN: Cauim
move this to Still section, change “Keg” to “Still” { "ProducerName": "Keg", "InputIdentifier": "Cassava", "InputStack": 1, "MinutesUntilReady": 2360, "OutputIdentifier": "Cauim", "Sounds": ["Ship"], },
Various -- go into the JA folder, Objects folder, relevant item folder, object.json items needed for the Shipping collection that don’t have a recipe BECAUSE THEIR INGREDIENTS DON’T EXIST YET.
MISSING: Carolina Reaper Extract, Ghost Pepper Extract, Poblano Extract, Scotch Bonnet Extract, Serrano Extract
add this to the line after recipe, adjusting From/Price as needed "CanPurchase": true, "PurchaseFrom": "Gus", "PurchasePrice": 1000,
PPJA - FRESH MEAT
DNA Sequencer -- go into the PFM folder to the ProducerRules.json
BROKEN: Chicken DNA, Duck DNA
either: change OutputProbability from 1 to .5
or: remove this from select Chicken/Duck input options, using a list of Vanilla item codes to figure out InputIdentifiers (I took it off duck feather & void egg): "AdditionalOutputs": [ { "OutputProbability": 1, "OutputIdentifier": "Bird DNA", }, ],
Recipes -- go into the JA folder, Objects folder, relevant item folder, object.json
BROKEN: Barbecue Sausage, Beast n’ Onion Handpie, Chicken Nuggets, Chippy Curry, Cottage Pie, Fish and Chips, Phoenix Au Vin, Schnitzel, Spaghetti Bolognese, Sweet and Sour Pork with Rice, Sweet n’ Sour Bites, Teriyaki, Venison Handpie,
either: add this line after PurchasePrice, adjusting requirements if needed "PurchaseRequirements": ["HasCookingRecipe Batter", "y 3",],
or: add missing comma after quotes in PurchaseRequirements (or at end of PurchaseRequirements line)
or: add this line above PurchaseFrom (if the IsDefault line is there, replace with this) "CanPurchase": true,
or: make sure the brackets above PurchaseFrom are }], not },],
BROKEN: Roasted Fowl
just replace all lines between Count and NameLocalization with this (it’s all sorts of fucked up) }], "PurchaseFrom": "Gus", "PurchasePrice": 2000, "PurchaseRequirements": ["HasCookingRecipe Batter", "y 3",], }, "NameLocalization": {
BROKEN: Tonkatsu
same as above, replace all lines between Count and NameLocalization with this }], "CanPurchase": true, "PurchaseFrom": "Gus", "PurchasePrice": 2000, "PurchaseRequirements": ["HasCookingRecipe Batter", "y 4",], },
FRESH MEAT FOR BUG NET
DNA Sequencer -- in ProducerRules.json
BROKEN: every single goddamn one
for each, replace “Critter Cage - ” with “Critter Cage: ”
fucking hell
MISSING: Critter DNA
where appropriate (I did everything except birds), add this after Sounds line "AdditionalOutputs": [ { "OutputProbability": .5, "OutputIdentifier": "Critter DNA", }, ],
PPJA - EVEN MORE RECIPES
Cooking - go into the JA folder, Objects folder, item folder, object.json
MISSING: Black Coffee, Milky Coffee, Milky Strawberry Juice, Peach Milk, Pathos Cookie, Cola can purchase product from Gus, but recipe itself doesn’t exist. Needed for Cooking perfection
replace Recipe line through PurchasePrice line with the following. Edit Ingredients/From/Price as needed (this was Pathos Cookie) "Recipe": { "ResultCount": 1, "Ingredients": [ { "Object": 246, "Count": 1, }, { "Object": 260, "Count": 1, }, { "Object": "Mint", "Count": 1, }, ], "CanPurchase": true, "PurchaseFrom": "Gus", "PurchasePrice": 700, },
BROKEN: Lemon Pie, Meuniere, Halloumi Burger, Salmon Fillet
either: add missing comma after quotes in PurchaseRequirements
or: add this line above PurchaseFrom (if the IsDefault line is there, replace with this) "CanPurchase": true,
**Halloumi Burger, might need to delete “Bread” from PurchaseRequirements, leaving just “Halloumi” (I edited several things, so not sure what all fixed it, but “Halloumi Bread” isn’t an actual recipe, so requiring it means you’ll never meet that requirement)
LOVE OF COOKING
Various -- go to assets --> (eg)NettlesPack --> Objects --> (eg)Nettle Tea --> object.json
MISSING: Nettle Tea, Cider, maybe others?
change “CanPurchase” to true (default.json in i18n folder says you learn how to brew Nettle Tea as a cooking skill level-up bonus, NO EFFING CLUE how to make that not glitched. Game currently requires it for Shipping, not Cooking)
FORAGE OF FERNGILL
Kombucha Jar -- go into the PFM folder to the ProducerRules.json
BROKEN: Salty Kombucha, Sour Kombucha
replace ContextTags in the InputIdentifiers with object names or vanilla Item IDs
duplicate entire entry w/ new InputIdentifier to have multiple possible inputs

















