Stupid Modding Question

I’m sorry stupid question, probably already answered, but I’m was away from the SH community for a while.

So, is there an actual way of adding new blocks and functionality into the game right now? Without Overrides and mixinots? Like adding complete new design stuff? without inventing forge for stonehearth?

What’s a “block”? You can modify stuff perfectly fine by doing a little rewrite here and there, but there is, for the most part, no real API. It’s still mostly hard coded and if I’m honest, I wouldn’t expect the modding API this year.

I think @Nicedude80’s on about in-game objects when he mentions blocks. Anyway, there’s two ways to add things to SH at the moment:

  1. Mixintos & overrides. Updates may (probably will) break this though, at least for now.
  2. Directly editing the core game files. Whenever there’s an update though, this is broken.

Anyway, @sdee et al have promised us a modding API, but things are still very much in flux right now - I mean look, we’ve got a mere 6 classes on a fixed-size map, and a veritable locust swarm of bugs (welcome to alpha versions of software I guess :smiley: ). I don’t think we’ll need anything like Minecraft’s Forge API (unless it’s to add features Radiant didn’t include, at least) though.

I mixi, I mixinot. I mixi, I mixinot…

Sorry, couldn’t resist :smiley: .


Part three, at least lua-side, would be to just overload, hook and hijack the hell out of the code - basically, what I did with my mods back then. Then again, I did write my own kind of Forge so I’m not sure if that qualifies.

Without at least a minor amount of trial and error and some uncertainty, you won’t come far.

See the one thing I don’t like about moddable games is you don’t get to pick what language it is modded in,inthis case.json and LUA. Idon’t know LUA. So I can’t mod. If it was in Javascript, C++ or C# then i’d be fine, but the last to aren’t very pheasable. Sorry for any grammer mistakes btw, I wentfrom little laptop keys to a desktop keyboard.

To be honest… tough luck then. Radiant aren’t making Stonehearth to accommodate any one person’s preferred coding language (well, except their own I guess :stuck_out_tongue: ), so I guess you either learn or do something else. Now last I checked, LUA isn’t a particularly difficult language to use, and the JSON stuff… well, look at cloth armour .json file for example:

“type”: “entity”,
“mixins” : “stonehearth:mixins:item_properties”,
“components” : {
“unit_info” : {
“name”: “Padded Vest”,
“description”: “Provides light protection in a fight.”,
“icon” : “file(padded_vest.png)”
“model_variants”: {
“default”: {
“layer”: “clothing”,
“models”: [
“female” : {
“layer”: “clothing”,
“models”: [
“stonehearth:entity_forms” : {
“iconic_form” : “file(cloth_padded_vest_iconic.json)”
“stonehearth:equipment_piece” : {
“render_type” : “merge_with_model”,
“slot” : “outfit”,
“ilevel” : 2,
“roles” : “combat”,
“equip_effect” : “/stonehearth/data/effects/level_up”
Honestly, I’m not sure how much easier Radiant could make it.

You say you can use JavaScript, C++ or C#… frankly I think you’ll do just fine with Stonehearth modding - doubly so as the game gets more complex and Radiant give us more and more (and more) examples in the code for how to do things.

Ya but I have to learn a whole new language (LUA) to do that, Btw, Ièm not syaing they should change it for me, that would be quite igorant, Ièm just saying,stuff. Thinking out loud. Wishing I new everything about everything. But eh, too bad XD

In theory, nothing really stops you from writing a (binary) lua module that offers the game’s API to a third language party, including C++ and C#.

The amount I know about coding could be written on a postage stamp, in crayon.

However, it’s quite easy to reverse engineer radiants stuff - if I managed, anyone can!

1 Like

You can do a large amount without any Lua. This includes:

  • New items (resources, furniture, plants, animals, crops, etc.)
  • New crafter classes
  • Re-skins
  • New static scenarios (plants etc.)
  • Changing current items’ properties (stacks, recipes, etc.)

P.S. It is “Lua” not “LUA” (this page explains why)
1 Like