# Mod Naming Conventions

**URL:** <https://discourse.stonehearth.net/t/mod-naming-conventions/7123>\
**Category:** Modding\
**Created:** [August 23, 2014, 3:11pm UTC](https://discourse.stonehearth.net/t/mod-naming-conventions/7123 "2014-08-23T15:11:37Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dwalus](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.stonehearth.net/dwalus/32/68929_2.png) [@Dwalus](https://discourse.stonehearth.net/u/Dwalus)\
**Post date:** [August 23, 2014, 3:11pm UTC](https://discourse.stonehearth.net/t/mod-naming-conventions/7123/1 "2014-08-23T15:11:37Z")

</div>

> [@Pandemic's Art and Modding Corner! Bringing Pretty Back since 2017!](https://discourse.stonehearth.net/t/pandemics-art-and-modding-corner-bringing-pretty-back-since-2017/5176/173):
>
> Yes, I was wrong, sorry. I used to think it mattered. What if two people release a mod named expansion\_furniture? The smods would be named the same. That’s my concern for the future =/  
> Maybe attach the mod’s author name at the end or something?

So we need to discuss a proper solution and decide on an official format for naming our mods.

---

<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:** [August 23, 2014, 4:06pm UTC](https://discourse.stonehearth.net/t/mod-naming-conventions/7123/2 "2014-08-23T16:06:41Z")

</div>

On the other hand, it could exist something like

```
"author":"Relyss"

```

but that way the conflict would still be there.

---

<div class="post-metadata">

**Author:** ![Avairian](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.stonehearth.net/avairian/32/47084_2.png) [@Avairian](https://discourse.stonehearth.net/u/Avairian)\
**Post date:** [August 23, 2014, 4:19pm UTC](https://discourse.stonehearth.net/t/mod-naming-conventions/7123/3 "2014-08-23T16:19:03Z")

</div>

> [@Dwalus](#):
>
> “name”: “betterfarming\_dwalus\_118#”

Like I said in the other topic, the problem with this is that the smod name is what all the paths and aliases are based off of. So adding a build name to the smod file will require you to completely update all of your paths and aliases every time you push a build.

I do agree with some sort of identifier, such as the authors name or something else however.

---

<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:** [August 23, 2014, 5:07pm UTC](https://discourse.stonehearth.net/t/mod-naming-conventions/7123/4 "2014-08-23T17:07:57Z")

</div>

I doubt that this will come any time soon. From what I’ve heard, the whole mod loading thing is still in discussion. Ideally, each manifest could define a namespace which would be used for aliases and the like. That way you would still have collisions if two people decide to name their mods the same thing - but here’s the fancy bit, maybe that namespace wouldn’t have the same restrictions files currently have, i.e. `rp:diy_trees:growable_component` could be a thing.

Until then, I would recommend doing a simple `prefix_modname` thing, as I’ve done with `rp`. Two to three characters sound reasonable enough.

---

<div class="post-metadata">

**Author:** ![Cannon0006](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.stonehearth.net/cannon0006/32/65613_2.png) [@Cannon0006](https://discourse.stonehearth.net/u/Cannon0006)\
**Post date:** [August 23, 2014, 7:47pm UTC](https://discourse.stonehearth.net/t/mod-naming-conventions/7123/5 "2014-08-23T19:47:12Z")

</div>

maybe the file could be a folder with the authors name on it? like /author/modname/file

---

<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:** [August 23, 2014, 8:15pm UTC](https://discourse.stonehearth.net/t/mod-naming-conventions/7123/6 "2014-08-23T20:15:16Z")

</div>

Authors don’t work well because projects tend to change. Another game that got me started with developing all these years ago had a simple system where each author could file for two digits that were assigned - and all his objects ended with that id (so 2/4 characters were these two). Such a system could easily be made here too - somebody make a table with author and his two letters and then the mods are named `[author_id]_[mod_name]` for now.

I’m calling dibs on `rp` on account of having stuff with that already.

---

<div class="post-metadata">

**Author:** ![SteveAdamo](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.stonehearth.net/steveadamo/32/13955_2.png) [@SteveAdamo](https://discourse.stonehearth.net/u/SteveAdamo)\
**Post date:** [August 23, 2014, 8:33pm UTC](https://discourse.stonehearth.net/t/mod-naming-conventions/7123/7 "2014-08-23T20:33:15Z")

</div>

my strong sense or order (and runaway OCD) compels me to comment here… having been a developer for ages, and working with shared code bases would require sensible conventions, so our fellow developers could easily determine what a particular function or procedure might do, simply by the provided name…

unfortunately I don’t have anything particularly helpful to offer here, as the concept of modding (and incorporating potentially dozens of different code files) is something I’m not overly familiar with…

still, I have to think that this is something Radiant has spent a fair amount of time conceptualizing (given that modding is such a fundamental part of the core game design)…
