Stupid Modding Question


#1

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?


#2

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.


#3

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: .


#4

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.


#5

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.


#6

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:

[quote]{
“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”: [
“file(cloth_padded_vest.qb)”
]
},
“female” : {
“layer”: “clothing”,
“models”: [
“file(cloth_padded_vest_female.qb)”
]
}
},
“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”
}
}
}[/quote]
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.


#7

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


#8

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#.


#9

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!


#10

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)