About this mod
A one-stop solution for researching and creating NMS mods using C#.
View game and mod pak file items, without having to extract to disk or decompile, the app does it in-memory and on-demand.
Use C# to create scripts that query game and mod data, and|or modify game data to create new mod pak files.
- Requirements
- Permissions and credits
- Donations
MBINCompiler has to be updated when a new update is released for the game; this may take several weeks.
During that time most mods will be broken. Be patient.
Requires .NET 5 Desktop x64 for versions up to 3.82.1.
Requires .NET 6 Desktop x64 for versions 3.82.2.2 onwards.
Requires .NET 8 Desktop x64 for versions 4.64.0.0 onwards.
See GitHub project site for latest release and documentation, including install and startup instructions:
https://github.com/cmkushnir/NMSModBuilder
Features:
- Automatically detects normally installed Steam and GoG game instances.
- Optionally select game instance using folder browser dialog, for non-standard installs.
- Optionally select game instance using folder browser dialog, for non-standard installs.
- View MBINCompiler | libMBIN Enums, Classes, Fields. See parent classes, and mbin's for top-level classes.
- Select NMS language to view all language ID's and their localized values.
- View all substances, products, and technologies - ID, icon, localized names.
- View all refiner and cooking recipes - ID's, icons, localized names.
- View all game and mod pak items without having to unpack or decompile anything - it's all done on-demand in-memory.
- Specialized viewers for common pak item types e.g. .mbin, .dds, .spv, .xml, .cs, .lua, ... .
- Side-by-side views of game & mod pak items, with built-in differ for text-based views.
- Use C# to create query scripts that search game and mod pak items.
- Use C# to create mod scripts that modify pak items.
- Compile, enable, and execute mod scripts to create modified pak items, save the modified pak items in new mod pak files.
- Includes a number of query and mod scripts to get you started.
Some of the included mod scripts (easily adjustable values, easily enable only those you want to use):
- Increase base radius, wire lengths, extractor and power rates and storage limits, ...
- Adjust C,B,A,S class probabilities for poor, average, wealthy systems (e.g. ships, multitools).
- Enable all creatures to become pets, enable all creatures to be ridable.
- Adjust frequency of freighter battles.
- Adjust C,B,A,S class probabilities for freighter tech quality.
- Increase freighter warp distance.
- Reduce negative penalties for frigates.
- Remove camera shake effects.
- Adjust stack sizes, current script sets max stack size to 100,000 for everything.
- Make all upgrades install with maximum bonus'.
- Remove lower-right notifications, shorten display time for other notifications.
- Make all portal runes known, make portal buttons no-cost.
- Adjust reward locations and chances for star charts, add portal as possible ancient chart location.
- Make ship salvage terminals placeable anywhere e.g. in bases or right beside crashed ships.
- Auto-mark various locations e.g. crashed ships, portals, when you get within range.
- Remove bloom and star twinkle effect, make space darker.
- Increase interaction and teleport distance between player and ship.
- Make all ship weapons auto-aim.
- Ship hover.
- Increase spawn chance for royals, or increase number of royals per system.
- Adjust asteroid spacing.
- Make water clearer.
- Many adjustments when starting a new game:
- Random suit, ship, multitool.
- Specify min|max starting distance to ship.
- Specify starting units, nanites, quicksilver.
- Specify number of inventory slots for suit, ship, multitool.
- Easily add starting items to various inventories, many already defined.
- Specify known tech and products.
Dependencies:
- https://github.com/monkeyman192/MBINCompiler
MBINCompiler | libMBIN decompiles|recompiles mbin items to|from in-memory dom and exml text. - https://github.com/dotnet/roslyn
Microsoft .NET C# compiler, used to compile C# scripts. - https://github.com/icsharpcode/AvalonEdit
AvalonEdit view|edit items that can be converted to text. - https://github.com/nickbabcock/Pfim
Pfim converts (most) .dds items to bitmaps for viewing. - https://github.com/mmanela/diffplex
DiffPlex calculates diffferences between items that can be converted to text.