Skip to content

Breaking Changes

Darkly77 edited this page Feb 27, 2023 · 16 revisions

This page lists any breaking changes that occur with ModLoader releases.

New validation may make existing mods invalid:

  • #71 - Disallow leading zeros and overly long versions
  • #91 - Mod IDs listed in a mod manifest's dependencies and incompatibilities are now validated
  • ModLoader has been moved to the res://addons/ directory.
    • The new location is autoloaded in the same way the old one was, with the same file (mod_loader.gd).
    • Nothing else needs to change in your autoloads. There are other new classes, but they'll be loaded automatically.
  • Logging in mods is now handled via the ModLoaderUtils class, which provides a host of new logging options. See Renamed Methods below.
    • ModLoader.mod_log -> ModLoaderUtils.log_info
    • ModLoader.dev_log -> ModLoaderUtils.log_debug

Renamed Methods

Old New
ModLoader.mod_log ModLoaderUtils.log_info
ModLoader.dev_log ModLoaderUtils.log_debug
  • All funcs have been converted to snake_case (see table below, and PR #32 for more info)
  • meta.json is renamed to manifest.json, and its required keys have changed
    • See the example manifest.json for the current structure.
    • See also: REQUIRED_MANIFEST_KEYS_ROOT and REQUIRED_MANIFEST_KEYS_EXTRA in mod_manifest.gd

Renamed Methods

Old New
installScriptExtension install_script_extension
addTranslationFromResource add_translation_from_resource
appendNodeInScene append_node_in_scene
saveScene save_scene
  • Two files have been renamed:
    • ModMain.gd -> mod_main.gd
    • _meta.json -> manifest.json
  • The structure of the manifest JSON has changed.
    • See README.md for an example.
    • This file was previously named _meta.json