# Need help modding

**URL:** <https://discourse.stonehearth.net/t/need-help-modding/12158>\
**Category:** Modding\
**Created:** [May 4, 2015, 1:14am UTC](https://discourse.stonehearth.net/t/need-help-modding/12158 "2015-05-04T01:14:37Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Oldra](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.stonehearth.net/oldra/32/45032_2.png) [@Oldra](https://discourse.stonehearth.net/u/Oldra)\
**Post date:** [May 4, 2015, 1:14am UTC](https://discourse.stonehearth.net/t/need-help-modding/12158/1 "2015-05-04T01:14:38Z")

</div>

Hi I’m in the process of making a mod. I know some basic C++, and I think I can make it work by editing the stonehearth.smod file.  
But is there a way to have a separate file from stonehearth.smod that I can drop next to it and that it will still work. So I don’t have to redo all my work every time an update comes out. And that it will be easier to update and share.

I searched the discourse only I couldn’t find out how to do this. Most topics are tutorials on how to edit the stonehearth.smod file. But this I already know.  
Can someone point me in the right direction or explain how to do this.

Thanks in advance

---

<div class="post-metadata">

**Author:** ![coasterspaul](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.stonehearth.net/coasterspaul/32/47876_2.png) [@coasterspaul](https://discourse.stonehearth.net/u/coasterspaul)\
**Post date:** [May 4, 2015, 2:06am UTC](https://discourse.stonehearth.net/t/need-help-modding/12158/2 "2015-05-04T02:06:03Z")

</div>

I don’t know exactly how to explain this, but here goes:

- The base engine is written in C++, but almost all gameplay is written in Lua. Mods are no different. 
- For simple items, you may not need code. You do still need data. Data is stored in JSON, so go read the super-short documentation for it if you’re not familiar with it.  
[http://www.json.org](http://www.json.org)  
It’s a simple format, but make sure to validate it always.
- Yes, mods are supposed to be in a seperate file. You use mixins / mixintos [help, modders! I have no clue what I'm saying here] to add stuff from your mod into the game. 
- You can also use overrides to change some built-in stuff, but this may cause compatibility issues - also, apparently never override Lua. [@RepeatPan, could you tell me why again?]
- Manifests, aliases, and file structures are very important for some reason, though I can't remember how or why. The answers given [here](http://discourse.stonehearth.net/t/question-how-do-you-add-objects-to-r188/9235) by @honestabelink explain it better.

---

<div class="post-metadata">

**Author:** ![RepeatPan](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.stonehearth.net/repeatpan/32/46418_2.png) [@RepeatPan](https://discourse.stonehearth.net/u/RepeatPan)\
**Post date:** [May 4, 2015, 7:13am UTC](https://discourse.stonehearth.net/t/need-help-modding/12158/3 "2015-05-04T07:13:53Z")

</div>

> [@coasterspaul](#):
>
> [@RepeatPan, could you tell me why again?]

> [@Is it possible to override a Service?](http://discourse.stonehearth.net/t/is-it-possible-to-override-a-service/10447/2):
>
> Overriding lua files is officially frowned upon (while I can’t cite any public source, let me tell you that I’ve had a pretty clear response from Radiant in a PM stating that there will be no proper support for overriding lua files… the fact that it works right now is more or less an “accident”). Because I usually just tell people that it’s bad but never go in an in-depth explanation, let’s do that. Why overrides-ing lua files is bad Lua files have no fixed URI. They have no aliases attached …

---

<div class="post-metadata">

**Author:** ![Oldra](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.stonehearth.net/oldra/32/45032_2.png) [@Oldra](https://discourse.stonehearth.net/u/Oldra)\
**Post date:** [May 4, 2015, 3:04pm UTC](https://discourse.stonehearth.net/t/need-help-modding/12158/4 "2015-05-04T15:04:37Z")

</div>

Thanks for the help guys!

I think ill manage from here.  
I googled mixintos and found this development blog post that also helped.  
ill link it should other see this post and want it too.

[http://stonehearth.net/2014/01/14/desktop-tuesday-a-peek-inside-the-modding-api/](http://stonehearth.net/2014/01/14/desktop-tuesday-a-peek-inside-the-modding-api/)

---

<div class="post-metadata">

**Author:** ![Relyss](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.stonehearth.net/relyss/32/41785_2.png) [@Relyss](https://discourse.stonehearth.net/u/Relyss)\
**Post date:** [May 5, 2015, 6:59pm UTC](https://discourse.stonehearth.net/t/need-help-modding/12158/5 "2015-05-05T18:59:28Z")

</div>

Also this one!  
[http://stonehearth.net/2014/03/18/desktop-tuesday-farming-and-other-mysteries/](http://stonehearth.net/2014/03/18/desktop-tuesday-farming-and-other-mysteries/)

---

<div class="post-metadata">

**Author:** ![artifus](https://avatars.discourse-cdn.com/v4/letter/a/3ec8ea/32.png) [@artifus](https://discourse.stonehearth.net/u/artifus)\
**Post date:** [May 11, 2017, 5:17am UTC](https://discourse.stonehearth.net/t/need-help-modding/12158/6 "2017-05-11T05:17:57Z")

</div>

> [@Relyss](#):
>
> Desktop Tuesday: Farming and Other Mysteries

now : [http://www.stonehearth.net/desktop-tuesday-farming-and-other-mysteries/](http://www.stonehearth.net/desktop-tuesday-farming-and-other-mysteries/)
