You have been working on conversions too, do you have any idea how to handle the ja products? Because now my animals work perfectly, but they all drop error signs instead of the specific products
Hey there! I've been doing some testing myself on how to convert the products and I think I got it.
Under each animal entry you'll find the items they produce:
"ItemId": "Name of animal product" (only change it if it has a name. If it has a number, it's referring to a vanilla asset)
Change it to something like this:
"ItemId": "(UniqueID from the Manifest)_(Item name with no spaces)"
example: "ItemId": "sakialyn.BFAVconversion_SuperAwesomeItem"
Then at the very bottom, after the animal sprites, add the below. This will give CP the specifics of the item:
{
"LogName": "Load data for (Item name with spaces)",
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"(UniqueID from the Manifest)_(Item name with no spaces)": {
"Name": "(UniqueID from the Manifest)_(Item name with no spaces)",
"DisplayName": "(Item name with spaces)",
"Description": "(Copy the description over, you can find this in the object.json for each product)",
"Type": "objects",
"Category": (Honestly, I do not know which numbers correspond to which categories, so this might require some trial and error to find the right one.)
"Price": (Price for the product),
"Texture": "(UniqueID from the Manifest)/(Item name with no spaces)",
"SpriteIndex": 0,
"Edibility": (You can find this in the object.json for each product),
"IsDrink": false,
"Buffs": null,
"GeodeDropsDefaultItems": false,
"GeodeDrops": null,
"ArtifactSpotChances": null,
"ExcludeFromFishingCollection": false,
"ExcludeFromShippingCollection": false,
"ExcludeFromRandomSale": false,
"ContextTags":null,
"CustomFields": null
}
}
},
I've been adding in each product this way, and once you have them all, underneath you will add the below. This will tell CP where to load the sprites:
{
"LogName": "Load Object Sprites for (Item name with spaces)",
"Action": "Load",
"Target": "(UniqueID from the Manifest)/(Item name with no spaces)",
"FromFile": "assets/(whatever you named the sprite).png"
},
As an example:
{
"LogName": "Load data for Super Awesome Item",
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"sakialyn.BFAVconversion_SuperAwesomeItem": {
"Name": "sakialyn.BFAVconversion_SuperAwesomeItem",
"DisplayName": "Super Awesome Item",
"Description": "Item is so awesome, it's a game breaker.",
"Type": "objects",
"Category": -18
"Price": 9000,
"Texture": "sakialyn.BFAVconversion/SuperAwesomeItem",
"SpriteIndex": 0,
"Edibility": 50,
"IsDrink": false,
"Buffs": null,
"GeodeDropsDefaultItems": false,
"GeodeDrops": null,
"ArtifactSpotChances": null,
"ExcludeFromFishingCollection": false,
"ExcludeFromShippingCollection": false,
"ExcludeFromRandomSale": false,
"ContextTags":null,
"CustomFields": null
}
}
},
{
"LogName": "Load Object Sprites for Super Awesome Item",
"Action": "Load",
"Target": "sakialyn.BFAVconversion/SuperAwesomeItem",
"FromFile": "assets/SuperAwesomeItem.png"
}
Make sure to rename each item and throw them into the 'assets' folder and that should do it.