It's now possible to add custom plants, objects, and items to Homegrown without having to edit any of the game files! Eventually I'd like to add full-blown mod support and this is the first small step on that journey. For now, the mod support simply allows you to provide the game with custom objects and items. The mods can't provide extra code yet unfortunately, so for now your creations are only able to make use of functionality that's already in the game.
I'll be aiming to make the whole process a lot more user friendly soon. Be aware, right now it's the absolute bare basics and a bit rough around the edges!
As an example, you can check out the mod made by Patreon supporter "LeBogo". He created a mod which adds strawberries and pumpkins to the game, along with their corresponding items. You can download the mod here.
To try it in the game, just unzip it, take the folder called "LeBogoMod" and pop it into your "mods" folder in the game files. Then just launch the game and the mod should be automatically loaded. Take a look in the seed shop in town and you should see strawberry and pumpkin seeds for sale!

If you'd like to make objects or plants for Homegrown, you'll first need to make the models for them. Here are some example Blender files for plants currently in the game.
The models don't use textures - you need to apply colour to them using materials. If you're making a plant with multiple model stages then each stage needs to be a separate object. The model should be centered on the origin. One tile in Blender is one tile in-game.
You can name your object in Object Properties to provide some extra info that will be used during model conversion. You can name them like this: fileName!xOffset!

fileName will end up being the name of the model file. xOffset is an offset that gets applied to the model's x position during conversion. This allows you to space out your model stages along the x axis if you want to, instead of having to stack them all on the origin.
You need to export your models as OBJ files. Here are the settings you should use when exporting:

You can export multiple models at once into a single OBJ file (useful for exporting all the model stages of a plant). Just make sure they are all selected before exporting.
Homegrown uses a different model format, so you'll need to convert from OBJ to Homegrown's format using the Model Converter Tool, which you can download here.
It's a very basic text based program. It will prompt you to enter the name of the Entity you want to create and will then allow you to add models to that entity. Make sure you put your OBJ files in the "ObjFiles" folder before starting. Check out the "Help" folder for more details and examples. There are also some test OBJ files provided in the ObjFiles folder. Let me know if you have any trouble with the program!
The newly created entity files end up in the "Entities" folder. The model converter tool outputs an entity folder for your entity, containing the model files and an empty info file (named EntityInfo_name.cba). You'll need to input the entity information into this text file, which unfortunately has to be done manually for now. I recommend just copying the entity info of a similar plant and changing the relevant fields. In the Model Converter Tool's "Entities" folder you'll find the entity info for the Carrot plant to use as a guide.

The data fields are mostly self explanatory but let me know if you have any questions! You'll definitely need to change the modelFile names in the RENDER component to match your model file names, and you may need to change the modelStages indices in the GROWTH component if your plant has a different number of stages. The seed stage always has to be the first model in the list, unless you specify otherwise.
In order to provide text such as entity names or item names, you'll need to first create a lang file. Name it en.csv and put it into your mod's lang folder. Check out LeBogo's mod for an example. Put any text strings that you want to use in this file. You can then reference them from the entity and item info files.
To link to text-strings, items, or entities you need to reference their ID in the following way: modName:itemID
For example, if you look in the pumpkin's entity info file in LeBogo's mod, in the HARVESTABLE component, the pumpkin item is referenced like this: LeBogoMod:pumpkin
"LeBogoMod" is the name of the mod, and "pumpkin" is the ID of the item. If for some reason you want to reference content from the main game you can simply leave out the mod name.
Let me know if you have any difficulties with this at all. And if you do get the chance to make a mod then please show me! I'd love to see your creations.
A big thank you to LeBogo for helping me with mod support and for creating Homegrown's first mod!
LeBogo
2024-01-18 19:46:21 +0000 UTCOliviaTheVampire
2024-01-18 16:52:07 +0000 UTCKC Oaks
2024-01-18 15:04:09 +0000 UTC