Alpha 20 modding changes

Notice to all the modders out there:

We’ve seen that some modders have already fixed compatibility with Alpha 20. There aren’t many changes in this version but they are worth mentioning. Please review your existing mods and move the threads to #modding:outdated-mods if you’re not going to update them soon (or, if you notice that a mod is broken and the author doesn’t answer, feel free to ping moderators to change the category to outdated).

Alpha 20 has brought some interesting changes.
1) Hearthlings now have toes. This means that if your mod adds new outfits to the game, you might want to cut extra pieces for the toes. Take a look at the existing models on Alpha 20 to see the exact change.

Also, the folder structure inside stonehearth/data/rigs has changed a little, be careful if you were adding or reusing animations on your mod, as they will look broken on A20. Make sure to verify your paths, rigs and animations.

2) Rayya’s Children critters have a reskin! If you haven’t noticed yet, Alpha 20 includes different models for the fox, varanus and poyos. We still haven’t hooked the new models for the rest of monsters.

This is done via the biome file:

{
   "type": "biome",
   "alias": "stonehearth:biome:desert",
   "display_name": "i18n(stonehearth:data.biome.desert.display_name)",
   "description": "i18n(stonehearth:data.biome.desert.description)",
   "random_location_names": [
      "i18n(stonehearth:data.biome.desert.random_location_names.000)"
   ],
   "image": "file(images/desert_400x300.png)",
   "story_board_image": "file(images/desert_story_board.png)",
   "game_mode_images": {
      "stonehearth:game_mode:normal": "file(images/desert_story_normal.png)",
      "stonehearth:game_mode:hard": "file(images/desert_story_normal.png)"
    },
    "mining_loot_table": "file(desert_mining_loot_table.json)",
    "applied_manifests": {
       "desert": "file(desert/manifest.json)"
    },
    "generation_file": "file(desert_generation_data.json)"
 }

Notice the “applied_manifests” section. It references a manifest with deferred_load that contains overrides for the critters models.
This is useful to load things based on which biome you selected.

3) Rayya’s Children UI mod is no longer a separate mod. This is done with the client script. Instead of hotloading a mod, now we use:
_radiant.res.apply_manifest("/rayyas_children/ui/manifest.json")
to apply a different manifest when Rayya’s Children faction is chosen.

This system might change in the future, but in the meantime, it adds new possibilities. No need to create more than one smod file for the same mod!

Important! : If you haven’t done it yet, your main mod “name” inside the manifest’s “info” section must be the same name as the mod folder. This is due to this new tech. For applied manifests it’s not needed.

4) The biome files have undergone some refactoring to eliminate some hardcoded variables and fix some minor bugs. If your mod adds a new biome, you might need to check if your files are still valid. Take a look at the differences on temperate_generation_data.json.

5) Chrome CEF debugging tools have been fixed. You can debug UI elements with Chrome again.

6) Food now has quality. It is added to the serving json file. Food quality currently goes from 1 to 6, but you can probably use higher / lower values. Hearthlings will prioritize eating food with higher quality.

8 Likes

Thanks for the update @Relyss !
I believe the Balista mod is not part of the affected changes, does this mean i don’t have to like, i dunno, verify it? I could do it no problem there, but y’know

Bet there’s gonna be some mod updates rolling in though! Gotta be on the lookout to catch the mods i use!

1 Like

Unless your mod “name” inside the manifest doesn’t match the folder’s / .smod name it shouldn’t affect you.
We always encourage to check compatibility when we switch Alphas anyway, sometimes there can be bugs or the modder might want to update a separate version for those who are running the unstable branch, if there’s any change.

5 Likes