Mod Manager
I wrote a Python script which should make applying and reverting mods a lot easier. It doesn’t have a GUI and you will need to install Python to run it, but it’s a start!
Grab it here:
https://drive.google.com/drive/folders/1FiK0az5AAe1UBodclrZ_EVh-ZghV8CQs?usp=sharing
Drop the entire mods
folder into your Boundless directory, which should be located somewhere like C:\Program Files (x86)\Steam\steamapps\common\Boundless
. All the files should now be located in \Steam\steamapps\common\Boundless\mods
.
Each mod can be managed in a simple JSON file that gives the tool all the info it needs to make changes to the game files.
_mods.json
contains the list of said JSON mod files the script looks for:
"revert": false,
"files": {
"mod_Compass_Higher_Cardinal": true,
"mod_Compass_Icons": false,
"mod_Faster_Forging_Animations": true,
"mod_Longer_Logs": false,
"mod_Meteor_Box_Farsight": false,
"mod_More_Transparent_Water": false,
"mod_Protection_Info": true,
"mod_Quirk_Icon_Fix": true,
"mod_Tint_Code_Tool_Tips": true,
"mod_World_Info": true
}
Set which mods you want to apply (more details below) by changing the value to true
.
Run applyMods.py
in this folder or simply double click applyMods.bat
.
The console that popped up should look something like this:
And that’s it! Start or restart Boundless and enjoy!
For reverting mods, set revert
to true
and run the script again. But keep in mind that now it will also skip reverting mods that are set to false
. When in doubt, be ready to go to Boundless -> Properties -> Local Files -> Verify Integrity Of Game Files via Steam to undo any changes.
Mod Collection
I converted a bunch of existing mods into the format the script uses, extended some of them and added a few of my own. I tried to give credit as best as I could in the config files!
Compass Higher Cardinal Directions by Onni
Compass Icons by Pfiffel
More players, more creatures, and smaller icons.
It takes some getting used to and can get a bit cluttered, but it’s especially handy for finding people who need a revive or that typical one creature stuck somewhere to get to the next meteor wave.
Faster Forging Animations by schasm
Increases animation speed when forging.
Longer Logs by Pfiffel
Chat, gain and combat logs last longer, combat log is more condensed and has twice as many entries.
Meteor Box Farsight by Fallon
See active and dormant meteors from much further away.
More Transparent Water by daddyskitten
Water surface is less reflective and can more easily be seen through.
I tried changing the value from the original mod to make it a bit less extreme.
Protection Info by Pfiffel
Adds world types and relevant worlds to protection skill tool tips.
Quirk Icon Fix by Pfiffel
Tint Code Tool Tips by Onni, Tonezone and Pfiffel
Adds tint color code index to tool tips for all languages.
Onni and Tonezone both had the same great idea! I went ahead and extended it to cover all languages. Special thanks to Tonezone’s Python snippet which got this project started.
World Info by Onni and Pfiffel
Adds best slingbows and needed protection to world info.
So We Can Make Mods More Easily?
Yes! The intent is that it will be less of a hassle to create and share mods. As you can see above, I converted a bunch of existing mods to the format as examples. Feel free to dig through the files to see what’s going on. The syntax should be pretty straightforward.
Let’s look at my compass mod; each entry is the key path towards the game value you want to change. If a key is numeric it will treat it as a JSON array index. The value is an array with the original game value at [0] (for reverting) and the value the mod will change it to at [1].
"changes": {
"assets/archetypes/compass.json": {
"RangeDataTypes.TOKEN.0.iconSize": [16,12],
"RangeDataTypes.TOKEN.1.iconSize": [13,10],
"RangeDataTypes.TOKEN.2.iconSize": [10,8],
"RangeDataTypes.TOKEN.3.iconSize": [5,5],
"CompassEntries.CREATURE.maxNumEntries": [10,100],
"CompassEntries.PLAYERS_FRIENDS.maxNumEntries": [20,100],
"CompassEntries.PLAYERS_GUILD_MATES.maxNumEntries": [20,100],
"CompassEntries.PLAYERS.maxNumEntries": [10,100],
"CompassEntries.PLAYERS.ranges.3": [1000,10000]
}
}
Another example is Onni’s cardinal directions mod. In some cases you might not want to use the array index but find an entry with a certain property value, for that I implemented this syntax:
"changes": {
"assets/gui/layouts/common/compass.json": {
"templates.hudCompassTpl.[name:compassCoords].scope.gunitTransY": [3, 20]
}
}
Now it will look for the object within the hudCompassTpl
array that has the key name
and value compassCoords
. "templates.hudCompassTpl.7.scope.gunitTransY"
would work too in this case, but is less reliable in case the order ever changes.
To add your own mods, simply add the JSON file to the folder and add it to the list in _mods.json
. Make sure to follow the JSON specifications, look online for a JSON evaluator when in doubt.
Of course mods might become outdated as the game values may change, which means that reverting might not work as intended once the mod becomes outdated. Structure changes may break the mod entirely and as a fair warning; I didn’t add much error handling yet.
Have fun modding and I hope you enjoy this collection!