I am attempting to make a mod which expands on the “fine items” system. For my first item, I pretty much made a slight recolor of the Stone Garden Lantern. I’ve figured out quite a bit of how things work with JSON, MagicaVoxel, the Debug Mod, and using vanilla and sample mod assets as a guide.
As a result I have an actual lantern that I can cheat into the game. The iconic and ghost versions work just fine. So here are the issues I’ve come across:
I’ve attempted to use a locales en.json file for names and descriptions. The idea is that should the mod “catch on”, then it could easily be updated to other languages. However the names in game all display as “long.name.with.a.lot.of.dots.in.them” How do I link the item json to the locales json?
The item (icon, ghost, and actual) all align and place correctly. Thank you to the debug tools I was able to ensure everything centered properly. However, when I designate the item to be picked up or moved, the arrows are floating off to the side of the item.
Finally, the whole purpose of this mod would be to add fine items to existing items. When I try to mixinto the recipes, I merely get an error. Is there a way to add an item to or replace an existing recipe? An example of this would be the Wooden Garden Lantern recipe with lists both the normal and fine version in the produces section.
I’ve done some work on this to figure things out a bit.
I fixed the centering issue by switching to Voxel Shop and correcting the model there. This has worked for both the iconic and placed/ghost models with very minor mob values to adjust for fine tuning.
I’ve given up on the locales files. Instead I’ll just put the names and descriptions in the item jsons.
I haven’t been able to get the item to appear as a fine version of the lantern. Still looking to replace the original recipe or somehow amend it.
Also, my icon displays in the “all Inventory” list, but it does not in the placeables items list. Instead I show a larger than normal blank area with a number below it in the list.
What problems are you having with locales?
Do you add the en.json file to your manifest?
Are you sure you have the right string calling the correct text?
Adding text should be really simple. What exactly happens when you try?
if the fine version is for an already existing stonehearth recipe, you’ll need to override the old recipe, overrides go in the manifest much like mixintos,
the first line is the path to the stonehearth file you want to override, the second is the path to your mods file that you want to override the original with.
Note: you might not need to override the original, but i never found a way to do it otherwise when i last made fine items for stonehearth items
Couldn’t you make this using mixinto? For example, with my biomes, I need to insert the biome into the list of biomes that the game will read from, like this:
If it didn’t work, maybe it is because of the array? (square bracket) In that case we would need that “mixintype_given_names”:“override” as explained here: [A17-3008] Overrides in mixintos
To maybe help clarify:
A straight mixinto (using your code example) would add the fine entry to the recipe; Using "mixintype_produces" : "override" would replace whatever is currently in the produces section with only the fine entry. Which route depends on what you’re trying to accomplish.