Skip to content
Andre Issa edited this page May 11, 2020 · 5 revisions

This is not a tutorial on how to install mods, for that see Installing Mods | The Mods Folder

Advantages
Limitations

This is a page discussing the methods and motivations behind the format and its advantages and limitations
to be expanded upon

Advantages

  1. Base lua files do not need to be overwritten aside from the one import statement
  2. ^ Multiple mods can edit the same base file without needing to be merged
  3. Mods are encouraged to be built in a way that makes them more customisable using standard configs.
  4. Feature Control means that compatibility issues can be partially resolved in a modular way.
  5. Updates will not force reinstallation of mods (may only mean that the import statement needs to be added back)
  6. Updates will not force mods to update as often
  7. Mods do not need to include all the things that they did not edit from the base
  8. Mods can edit eachother
  9. The loader can map sjson and xml files so many of the advantages for lua scripts also apply to that too:
    • Same capabilities as mapping data tables
    • Don't need to include things not edited from the base
    • Mods can edit eachother
    • Re-installation is simple (but not as simple as for lua files)

Limitations

There are limitations to this format:

  1. It is not possible to delete specific hook calls from the base files or other mod files
    (or overwrite/replace/modify specific hook calls)
  2. Changes to other asset files cannot be incorporated into this format directly
    (sjson and xml are among incorporable asset files)
  3. It is not possible to add your own code to the middle of an existing function without overwriting it entirely
    (use feature control and store the old reference to better manage this)
  4. Raw (umnergable) assets like images/audio/font seemingly can't be imported/swapped from within the code so would need to be swapped by a loader

It remains a priority to eliminate/mitigate them as soon as possible, however they will probably require intervention by the devs or patching the game executables.

Clone this wiki locally