0 of 0

File information

Last updated

Original upload

Created by

Mjjstral aka MetaIdea and Wbertro aka TheBossBoy

Uploaded by

Mjjstral

Virus scan

Safe to use

About this mod

Revolutionary No Man's Sky auto modbuilder and updater with lua script mod definition system.
Fully automatic mod builder that automates every step of nms modding and provides an easy to use lua script mod definition system.

Permissions and credits
Revolutionary No Man's Sky auto modbuilder and updater with lua script mod definition system
Fully automatic mod builder that automates every step of nms modding and provides an easy to use lua script mod definition system.

What does this tool do ?
1. Downloads the latest MBINCompiler from github (needs Internet connection)
2. Reads especially made mod script lua files (NMS version independent modding)
3. Extracts the necessary .pak files from your NMS game folder
4. Decompiles the needed MBIN files 
5. Applies the changes defined in the lua mod script files to the decompiled .exml files 
6. Compresses the .exml files back to .pak (all *.MBIN,*.BIN,*.H,*.DDS,*.PC,*.WEM,*.TTF,*.TTC,*.TXT,*.XML files)
7. Copies the mods to: A) NMS mods folder (optional), B) the root folder of this tool C) MODBUILDER/Builds folder 
8. Creates incremental builds in numbered order (MODBUILDER/Builds/IncrementalBuilds)

How to use:
1. Put your No Man's Sky game folder path into NMS_FOLDER.txt
2. Choose a script from the ModScriptCollection folder or from anywhere else
3. Paste it into the ModScript folder
4. Start BuildMod.bat 
5. On creation finish you can decide [y/n] if the mod file gets installed too
6. Copy the mod that gets created in THIS folder to your game folder if you haven't
7. If not in SIMPLE mode, you can combine multiple mods, just delete the SIMPLE.txt file and choose one of the options when asked

What are the possibilities for modders ?

     See the Learningexamples and Commented folders included.

You have many convenient ways to change, replace or add values or code. E.g. you can multiply all values of a certain type with ease, replace all values that match a certain type or value and much more. You can also add code, add new files either by defining the code in the lua script file itself or by external source.
See the learning examples

MODLIST:
(Note: Some Mods here are for demonstration purposes only, they may require changes to values or even logic of what is changed.
            But most are perfectly functional.  Test them on a new save when in doubt!)

AllShipsMaxSlots
AllShipsMaxSlots+SClass
AlwaysDay
AmbientGameMode
BetterFlight-LOW+FAST+REVERSE+10xPulseSpeed+ZeroPulseDelay
BiomeForceType
BiomePerStarTypeChange
BuildEverythingEverywhere
BuildEverythingEverywhereNoCollision
BuildingsOnPlanetsRemoved
CostReduction
CreatureSizeAndSpawnRateIncrease
DenserForests
DisableSaving
EqualyDistributedBiomes
ForceVRMode
ForestDensityAndSizeIncrease
GodMode
IntroLogoSkip
JetpackWalkSwimSpeed
LearnMoreWords (updated for 1.35W)
LodDistanceScale
LongerAndThickerGalaxyLines
MoreScreenFilters
MoreWeaponDamage
NaturalFlight
NoChargePortal
NoHazardDamage
NoPirates
NoPirates_Extended
NoPirates+NoRandomSentinels
NoPirates+NoRandomSentinels_Extended
NoRandomSentinels
NoRandomSentinels_Extended
NoShipsOnPlanet
NoWarpCameraShake
OnlyLushBiomes
PlanetGenerationModTemplate (UNFINISHED, TEMPLATE)
PlantSizeIncreaseCompact
PlantSizeIncreaseScaleEdition
PlantSizeIncreaseScaleEditionMinMax
PortalOnSpacestation
Reverse+Hover+Underwater+10xPulseSpeed
RewardPercentage100
ScanTimesAndRangeImprove
ShipGunTerrainDamage
ShipRangeIncrease
SpeedIncreaseActions
SpeedIncreaseAnalysis
SpeedIncreaseGrowthAndHarvest
SpeedIncreaseRefiners
SpeedIncreaseVehicles
StackMultiplier
SuperformulaSuperTerrainExperiment (demo only, experimental)
TerrainEditorMod
TorchImprovement
TradeCostReduction
UnlimitedHyperDriveDistance_UnlimitedJetPack_ZeroLaunchCost
UnlimitedPhotoMode+NoClip+Speed3x
WeatherDisabled (see updated file)

How to create your own lua mod definition scripts ?
It is self explanatory if you look at the scripts in the
ModScriptCollection folder. Just copy one of them and adapt it for your mod.
For mods that depend on multiple pak sources and MBINs see
Multi_PAK_Multi_MBIN_Example_Mod.lua to see how to do the correct nesting.
Note multiple {...} entries need to be separated with a comma.

The real revolution is the mod script lua definition system that enables every modder to easily convert their mods to these scripts and
finally become independent of manual mod updates by hand.

How to Create a Patch for an existing MOD PAK ?
Background:
Mods in NMS are loaded from top to bottom (when listed in alphabetical order).
Lower mods that modify the same file in any above mod will win all changes to that file

So, to make a Patch for a mod PAK, you could do:
  1. Extract from that mod PAK the file you want to change, it gives you a .MBIN
  2. Decompile the .MBIN to .EXML format using the appropriate MBINCompiler version
  3. Find what you want to change and make these changes to the .EXML file
  4. Recompile the .EXML file to .MBIN using the "latest" MBINCompiler version
  5. Pack this new .MBIN file to a .PAK (name it as you like as "Patch_xyz.pak")
  6. Make sure the name is lower than the original PAK file in alphabetical order
  7. Place both files into your NMS MODS folder
  8. Verify that the DISABLEMODS.TXT file in PCBANKS folder is still deleted
  9. Enjoy

Using the .EXML file from the mod PAK ensure that most if not all of the changes made by the MOD
will be saved and the MOD will continue to work as intended.
In using the Patch, only if you change something that affects that MOD, will that change how the MOD works
otherwise the MOD AND YOUR CHANGES will work as planned by you.

MODBUILDER can help in creating the "Patch_xyz.pak":
A. Create a simple script with the changes you want to an .EXML file (steps 1, 2 and 3 above)
B. Copy the Script AND the MOD PAK you want to patch in the ModScript folder (steps 4, 5, 6, 7, 8 are handled by MODBUILDER)
C. MODBUILDER will attempt to use your MBIN_FILE_SOURCE name in the mod PAK if found
  *** That will preserve the mod PAK changes unless you change the same exact values with your patch ***
D. A new mod PAK will be created in the CreatedModPAKs folder
E. Use that PAK in 6- above (if you did not let MODBUILDER do it for you)

How to distribute you mod script lua definition file ?
1. Upload it plain to nomansskymods.com or nexusmods with a link to a download of this tool or
2. Make a pull request on github, adding your script to the ModScriptCollection folder
3. Upload your mod in to the NMS modding discord server (mod releases
    channel or mod discussion), mention @Mjjstral if you want that I add it
    to the project for future releases
4. Post a link to the commentary section on nexus

Many thanks to monkeyman192 for his huge efforts toward the NMS community and his work on the MBIN compiler.
Many thanks to Wbertro (aka TheBossBoy) for further improvements.
Made by Mjjstral aka MetaIdea
Copyright MIT license
GITHUB: https://github.com/MetaIdea/nms-auto-modbuilder-updater-modscript-system
Contact: [email protected] or [email protected]
Top