Starbound Race Traits Mod Patch Guide

This handy guide will show you how to properly patch your race into the “Race Traits” mod!

What does this mod do?

It adds subtle differences to your playthrough, depending on the race – such as attribute bonuses, resistance bonuses, immunities, etc.

Warning: This mod expects you to understand basic patching, JSON editing, and file creation.

Prelude

Before we get started, I want to say…

Thank you for being interested in my mod, “Race Traits”! It means a lot to me!

Before you check out this guide in its entirety, I want you to consider something. I am an active developer/modder right now, so if you really wanted to patch stats in for your/a specific race, you really could just ask me to!

Please visit this forum for more information on requesting race support.

Thank you again!

Otherwise, let’s get started…

Mod Basics

Creating a Folder/Metadata

Before we can patch anything, we need a place for our patch mod. Let’s put it in a simple folder first!

Starbound Race Traits Mod Patch Guide

Then, we need a _metadata in our folder. The metadata is usually created when you try to upload the mod to the Workshop, but I prefer creating mine early.

{

  “author” : “Omeruin”,

  “description” : “WIP!”,

  “friendlyName” : “My Patch Mod”,

  “includes” : [“OmRaceTraits”, “DenelaunRace”],

  “link” : “”,

  “name” : “MyPatchMod”,

  “steamContentId” : “”,

  “tags” : “”,

  “version” : “1.0”

}

This is what’s gonna be in our _metadata. Our metadata needs to stay outside of any folders.

We place the Race Trait’s actual name/ID in the “includes” section, as well as the ID of the race mod we want to include with Race Traits.

To find out a race mod’s name ID, you need to unpack the mod or ask the author. This guide does not cover unpacking. Please look for other guides online!

Starbound Race Traits Mod Patch Guide

You can also have a “requires” section, but that can be done when uploading the mod and selecting “Add/Remove Required Items”. It’ll be added to the metadata automatically.

Patching the Custom Stats

Let’s get to the actual patching part.

First, let’s patch the actual status effect in the Race Traits mod that applies the custom stats!

Create this path in your mod:

Starbound Race Traits Mod Patch Guide

Then, let’s create a patch file named om_racetraits.statuseffect.patch.

Starbound Race Traits Mod Patch Guide

Inside this file, paste this:

[

  {

      “op”: “add”, “path”: “/effectConfig/0/racenamehere”,

      “value”: {

          “stats”: [

              {“stat”: “maxHealth”,”effectiveMultiplier”: 1.0},

              {“stat”: “maxEnergy”,”effectiveMultiplier”: 1.0},

              {“stat”: “energyRegenPercentageRate”,”effectiveMultiplier”: 1.0},

              {“stat”: “powerMultiplier”,”effectiveMultiplier”: 1.0},

              {“stat”: “protection”,”effectiveMultiplier”: 1.0},

              {“stat”: “fireResistance”,”amount”: 0.0},

              {“stat”: “fireStatusImmunity”,”amount”: 0.0},

              {“stat”: “electricResistance”,”amount”: 0.0},

              {“stat”: “electricStatusImmunity”,”amount”: 0.0},

              {“stat”: “poisonResistance”,”amount”: 0.0},

              {“stat”: “poisonStatusImmunity”,”amount”: 0.0},

              {“stat”: “iceResistance”,”amount”: 0.0},

              {“stat”: “iceStatusImmunity”,”amount”: 0.0},

              {“stat”: “physicalResistance”,”amount”: 0.0}

          ],

          “benefits”: [

          ],

          “controlModifiers”: {

          }

      }

  }

]

Replace racenamehere with the ID or internal name of the race you want to add. NOT THE SAME ID FROM THE METADATA. In this case, for me, that’d be simply “denelaun”!

Now, you can edit the values!

Attributes

Keep in mind that maxHealth, maxEnergy, energyRegenPercentageRate, powerMultiplier and protection all work off of multipliers.

So, an effectiveMultiplier of 1.25 would be multiplying a stat by +25%! Make sense?

This also is true for the reverse.

An effectiveMultiplier of 0.85 means you are decreasing that attribute by -15%. Yikes!

Resistances and Immunities

As for the Resistances and Immunities, they’re a bit different.

Resistances work a similar, but without multiplying. They add an absolute value to the resistance stat. So, {“stat”: “fireResistance”,”amount”: 0.35} would mean you are giving your race +35% Fire Resistance!

If you decrease that value, you’re decreasing/taking away resistance. So {“stat”: “physicalResistance”,”amount”: -0.15} means -15% phys. resistance! Oh no!

However, for the Immunities, all you need is either 1.0 or 0. An Amount of 1.0 means “true” essentially, while “0” means “false”.

So, {“stat”: “iceStatusImmunity”,”amount”: 0.0} essentially means this race is not immune to getting the Frost debuff. While {“stat”: “poisonStatusImmunity”,”amount”: 1.0} means this race is immune to getting the Poisoned or Food Poisoning debuffs! Nice!

Benefits and controlModifiers

Benefits don’t have integer values. Instead, it requires a simple string. They require the ID of the status effect that you want to apply to the race. If you’ve ever unpacked the game’s assets, you’ll know these well.

Starbound Race Traits Mod Patch Guide

{

  “name” : “regeneration1”,

  “blockingStat” : “healingStatusImmunity”,

  “effectConfig” : {

    “healTime” : 60

  },

  “defaultDuration” : 5,

  “scripts” : [

    “regeneration.lua”

  ],

  “animationConfig” : “regeneration.animation”,

  “label” : “Regeneration”,

  “icon” : “/interface/statuses/heal.png”

}

Inside this vanilla status effect, we are looking for the name. In this case, that would be regeneration1.

To add the status effect your race, simply put the status’ name in the benefits table, like so!

          “benefits”: [

            “regeneration1”

          ],

That’s it! Adding status effects is completely optional.

If you do not want any status effects, simply leave the benefits table empty, with nothing in it.

          “benefits”: [

          ],

controlModifiers work similarly to the attributes and resistances from before. However, there are only two options. (As of right now.)

speedModifier and airJumpModifier.

speedModifier increases your race’s movement speed, while airJumpModifier increases their jump height.

Since they are modifiers, they work like the attributes from before.

          “controlModifiers”: {

            “speedModifier” : 1.0,

            “airJumpModifier” : 1.0

          }

If you change the speedModifier to 1.5, you’re increasing the race’s movement speed by +50%! Yowza! That’s really fast! The same thing for airJumpModifier.

Final Result

Alright, these are the stats I want for my race!

[

  {

      “op”: “add”, “path”: “/effectConfig/0/denelaun”,

      “value”: {

          “stats”: [

              {“stat”: “maxHealth”,”effectiveMultiplier”: 0.85},

              {“stat”: “maxEnergy”,”effectiveMultiplier”: 0.9},

              {“stat”: “energyRegenPercentageRate”,”effectiveMultiplier”: 1},

              {“stat”: “powerMultiplier”,”effectiveMultiplier”: 1},

              {“stat”: “protection”,”effectiveMultiplier”: 1},

              {“stat”: “fireResistance”,”amount”: 0},

              {“stat”: “fireStatusImmunity”,”amount”: 0},

              {“stat”: “electricResistance”,”amount”: 0.1},

              {“stat”: “electricStatusImmunity”,”amount”: 0},

              {“stat”: “poisonResistance”,”amount”: 0.25},

              {“stat”: “poisonStatusImmunity”,”amount”: 0},

              {“stat”: “iceResistance”,”amount”: 0.15},

              {“stat”: “iceStatusImmunity”,”amount”: 0},

              {“stat”: “physicalResistance”,”amount”: 0},

              {“stat”: “om_rtfoodpoisonImmunity”,”amount”: 1},

              {“stat”: “foodDelta”,”amount”: -0.0729}

          ],

          “benefits”: [

          ],

          “controlModifiers”: {

            “speedModifier”: 1.25

          }

      }

  }

]

There are even more values that you can change, so please look at the Extras section to learn more!

Patching the Species File

Well, now we have given our modded race the stats we want! But what if we also want to patch the CC menu (character creator) menu?

Let’s do that as well!

Most race’s species file path is as follows:

Starbound Race Traits Mod Patch Guide

But it’s good to unpack or look at your mod and make sure.

After making sure where the species file is located, let’s go back to our patch mod and create the same path.

Starbound Race Traits Mod Patch Guide

In this folder, let’s patch our species file.

Starbound Race Traits Mod Patch Guide

Since I am patching the De’nelaun, the file is called “denelaun.species.patch”, since the internal race name for them is denelaun, NOT de’nelaun.

Put this content in your patch:

[

  {

    “op”: “replace”, “path”: “/charCreationTooltip/description”, “value”:

    “Race description here.

    ^yellow;Attributes^reset;

Max Health: –

Max Energy: –

Energy Regen: –

Attack Multiplier: –

Defense: –

    ^yellow;Resistances^reset;

Fire Resistance: –

Electric Resistance: –

Poison Resistance: –

Ice Resistance^reset;: –

Physical Resistance: –

    ^yellow;Immunities^reset;

    ^yellow;Racial Benefits^reset;

    ^yellow;Extra Stats^reset;

    “

  }

]

Looks pretty boring right now, huh? Well, for the first part, we need the original mod’s species description. We can pull that directly from the original species file.

Starbound Race Traits Mod Patch Guide

Aha, right here! We take that description and replace Race description here. with those lines.

The rest of those values? They have to be manually inputted by you! Depending on what stats you chose for your race, you can manually write down the percentages or changes. Want an example? Here’s mine!

[

  {

    “op”: “replace”, “path”: “/charCreationTooltip/description”, “value”:

    “The De’nelaun are the result of eons of evolution. They originate from the planet Na’zrifron, which has been long gone. Their fidgety, worrying personalities and nomadic culture means they are always on the move for a new home.

    ^yellow;Attributes^reset;

^cyan;Max Health^reset;: ^red;-15%^reset;

^cyan;Max Energy^reset;: ^red;-10%^reset;

Energy Regen: –

Attack Multiplier: –

Defense: –

    ^yellow;Resistances^reset;

Fire Resistance^reset;: –

^cyan;Electric Resistance^reset;: ^green;+10%^reset;

^cyan;Poison Resistance^reset;: ^green;+25%^reset;

^cyan;Ice Resistance^reset;: ^green;+15%^reset;

Physical Resistance: –

    ^yellow;Immunities^reset;

^green;Food Poisoning^reset;

    ^yellow;Racial Benefits^reset;

    ^yellow;Extra Stats^reset;

^cyan;Hunger Rate^reset; ^red;+25%^reset;

    “

  }

]

Starbound Race Traits Mod Patch Guide

Pretty cool, huh?

It’s recommended to follow the colour codes previewed here, but you are allowed to do other things if you want to.

Testing the Patch

Before going any further, let’s test our patch so far.

First, we’ll go to the CC menu.

Hover over your race, and see if the custom stats patch shows up!

Starbound Race Traits Mod Patch Guide

Awesome, there it is!

Next, let’s create a character of that species.

After immediately getting into the game, you should get the Race Traits Viewer item.

Starbound Race Traits Mod Patch Guide

If you do not see the item, try any of these methods!

Enable /admin and then do this: /spawnitem om_rthelper

Enable /admin and craft the item at hand

If neither of those work, try using the custom button for Quickbar.

Starbound Race Traits Mod Patch Guide

If none of these solutions work, please go to the bug forum for the mod and report it!

Once you have the item, or button, simply use it or click on it!

Starbound Race Traits Mod Patch Guide

This interface should show up!

Starbound Race Traits Mod Patch Guide

If the patch was made correctly, your race’s stats that you’ve chosen, along with immunities and benefits, should all show up here in the various categories!

Super awesome!

If you crash while trying to open the interface, please check your Starbound log or check your patch to make sure it’s clean!

There are plenty of websites that can check patches and lint them. I recommend this site[helmet.kafuka.org] for doing so!

Extras

These are extra values you do not have to include with your race’s stats, but they can be added or modified if you so choose!

More Stats

Knockback Resistance

{“stat”: “knockbackThreshold”, “amount”: 9.00}

Food Delta – Hunger Rate

{“stat”: “foodDelta”, “amount”: -0.0583}

Max Breath

{“stat”: “maxBreath”, “amount”: 100.0}

Breath Depletion Rate

{“stat”: “breathDepletionRate”, “amount”: 4.0}

Fall Damage Multiplier

{“stat”: “fallDamageMultiplier”, “effectiveMultiplier”: 1.0}

Here’s a good example of some of those unique stats being modified!

      “nebulac” : {

      “stats” : [

        // Attributes

        {“stat”: “maxHealth”, “effectiveMultiplier”: 0.75},

        {“stat”: “maxEnergy”, “effectiveMultiplier”: 1.35},

        {“stat”: “energyRegenPercentageRate”, “effectiveMultiplier”: 1.15},

        {“stat”: “powerMultiplier”, “effectiveMultiplier”: 0.95},

        {“stat”: “protection”, “effectiveMultiplier”: 1.0},

        // Resistances

        {“stat”: “fireResistance”, “amount”: 0.25},

        {“stat”: “fireStatusImmunity”, “amount”: 0.0},

        {“stat”: “electricResistance”, “amount”: 0.10},

        {“stat”: “electricStatusImmunity”, “amount”: 1.0},

        {“stat”: “poisonResistance”, “amount”: -0.10},

        {“stat”: “poisonStatusImmunity”, “amount”: 1.0},

        {“stat”: “iceResistance”, “amount”: -0.35},

        {“stat”: “iceStatusImmunity”, “amount”: 0.0},

        {“stat”: “physicalResistance”, “amount”: 0.0},

        // No Breathing

        {“stat”: “breathProtection”, “amount”: 1.0},

        // Food Delta – Hunger Rate

        {“stat”: “foodDelta”, “amount”: -0.0670},

        // Breath Depletion Rate

        {“stat”: “breathDepletionRate”, “effectiveMultiplier”: 0}

      ],

      “benefits” : [

        “om_rtglow”

      ],

      “controlModifiers” : {

      }

    }

More Immunities

If you want more unique immunities, there are some vanilla ones as well as custom-made ones from this mod!

Slowness Immunity

{“stat”: “om_slowImmunity”, “amount”: 1.0}

No Breathing

{“stat”: “breathProtection”, “amount”: 1.0}

Slime Immunity

{“stat”: “slimeImmunity”, “amount”: 1.0}

Tar Immunity

{“stat”: “tarStatusImmunity”, “amount”: 1.0}

Wet Immunity

{“stat”: “wetImmunity”, “amount”: 1.0}

Melting – Lava Immunity

{“stat”: “lavaImmunity”, “amount”: 1.0}

Hunger Immunity

{“stat”: “om_rthungerImmunity”, “amount”: 1.0}

Starving Immunity

{“stat”: “om_rtstarvingImmunity”, “amount”: 1.0}

Food Poisoning Immunity

{“stat”: “om_rtfoodpoisonImmunity”, “amount”: 1.0}

More Benefits

There’s even more benefits your race can have, whether vanilla or custom!

Bouncy (bouncy)

Breathe Underwater – But Not in Space (om_rtbreath)

Don’t Starve (dontstarve)

Electric Aura (electricaura)

Electrified (electrified)

Fire Aura (fireaura)

Ghostly Glow (ghostlyglow)

Glow (glow)

Glow – Without Border (om_rtglow)

Head Light (headlamp)

Health Regen (regeneration1, regeneration2, regeneration3, regeneration4)

Health Regen – Only Heal When Out of Combat (om_rtregeneration)

Ice Aura (iceaura)

Levitation (levitation)

Light (lowgrav)

Liquid Immunity (liquidimmunity)

Nova (nova)

Nova – Without Border (om_rtnova)

Poison Aura (poisonaura)

Pure Immunity (Status Immunity)

Rage (enemyrage, rage, rageweak)

Rage – Without Particles (om_rtrage)

Swim Boost (swimboost)

Swim Boost – Less Insane Jumping (om_rtswimboost)

Conclusion

That’s it! That’s all it takes to patch your race and create stats for them! Awesome!

Stay tuned, for more sections relating to patching “Race Traits” may appear here soon.

.png]

Thank you so much for reading!

Note: I am a busy person, so if you have any questions, it may take me a while to answer or get to them.

This is it guys!! I am sure that you will love Starbound Race Traits Mod Patch Guide that we have shared with you. We are always open to discussion and suggestions from you. Just let us what you thought about the guide in the comment section.

Also, we would like to thank Oмεяυıп. He is the one behind this wonderful guide.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.