Taking Questions about Mixintos and Overrides

well, i was all set to unleash my guide, aptly titled Steve’s Super Simple Mixins and Overrides Guide, or SSSMOG… however, after confirming that my simple concept was working, i found a scenario that i havent been able to explain yet…

so, let me just post what works, and then get into the confusing part:


create your mod folder


1) locate your mods folder (in this case, in the Steam directory)

  • C:\Program Files (x86)\Steam\SteamApps\common\Stonehearth\mods

2) create a new folder for your mod (in my example, i’m adding new journal entries, so i’ve added the “journals” folder)

  • C:\Program Files (x86)\Steam\SteamApps\common\Stonehearth\mods\journals

add your manifest.json file and mixintos folder


1) open notepad and paste in the following:

{
   "info" : {
      "name" : "Journals"
   },
   "mixintos" : {
      "stonehearth/data/personality/embarking.json" : [
         "file(/mixintos/embarking.json)"
      ]
   }
}
  • note: the two paths in the mixintos section… the first refers to the file you will be mixing “into”, while the second refers to the file you will be mixing “from”

2) navigate to the journals folder you just created, and save the file as manifest.json

3) while you are in the journals folder, create a new folder and call it mixintos


add your custom journal entries

1) open notepad and paste in the following:

{
   "activities" : [
      {
         "id" : "embarking",
         "trigger_policy" : [
            {
               "trigger_id" : "person_embarks",
               "probability" : 100
            }
         ],
         "text" : "On Arriving:",
         "type" : "random",
         "logs_by_personality" : {
            "belaguered_leader" : {
               "logs" : [
               "We've made a little contact with the Dwarves. Here's hoping he's not a big jerk."
               ]
            },
            "hopeless_optimist" : {
               "logs" : [
               "I'm sure they're working on getting us beds, right? It probably just takes time. I mean they can't be doing this to us on purpose...right?" 
               ]
            },
            "lovable_rogue" : {
               "logs" : [
               "One for the stockpile, and one for the black market! Who knew there was such a demand for illicit wooden chairs?"
               ]
            },
            "psychopathic_misanthrope" : {
               "logs" : [
               "A saw! They're giving me a saw! For making chairs, tables, doors and... I wonder if it can cut through bone..."
               ]
            },
            "insufferable_academic" : {
               "logs" : [
               "Hmph, I would be the only one here that knows how to use a saw."
               ]
            },
            "diligent_sweetheart" : {
               "logs" : [
               "I kind of feel bad about shearing all the poor sheep here, but their fluffy coats WERE starting to become a threat to my own cuteness level..."
               ]
            }
         }
      }
   ]
}

2) navigate to the mixintos folder inside the journals folder, and save the file as embarking.json

  • note: this is creating the file that is referenced from the manifest.json - file(/mixintos/embarking.json)

3) launch the game and enjoy your new journal entries!


ok, this is where im breaking it off, as i had quite a bit more mapped out, but my tests started to go a bit haywire…

i wanted to confirm that my mixintos werent overwriting the original embarking.json file entirely, so i stripped out all but one from the original, and confirmed that my new journal entries were showing up… success!

i then restored the original journal entries, and reloaded the game several times to make sure there was a blend of old and new journal entries… success!

however, i then started messing with the personality types and once again stripped out all the original journal entries (but one)… upon reload, i was still getting original journal entries (and not even the single entry that i left)…

i thought perhaps this was some off side effect of the new call to personality types in my manifest.json file, so i stripped that out… i was then left with my new custom embarking.json (with all new journal entries) and the original embarking.json (with only one entry)…

reload the game and im still getting original embarking journal entries… ?

im too tired now, but i’ll keep digging… suffice it to say that i now at least understand how mixintos are supposed to work (thanks @RepeatPan), and can confirm that original and new content can work together… i just need to figure out where these phantom entries are coming from! :smile:

1 Like