Neoloader NPLME - Version 5.3.0 -beta

Neoloader June 2023 Public Beta

Neoloader Changes:
major: 5
minor: 3
patch: 0

CHANGED default lib.error_handle setting
CHANGED command cleaning
CHANGED neomgr options
NEW Neoloader load-state enforcement

API Changes:
API Version 3
minor level 7
patch level 0

NEW lib.set_load
NEW lib.find_file
CHANGED lib.resolve_file
CHANGED lib.unlock_class

QoL changes to Neoloader itself
The devs mostly fixed the issue that neccesitated command cleaning, so it is now an optional feature instead of a required step. The default setting is to have this feature disabled.

the default setting for lib.error_handle was to error() out - the opposite is now true, as normal pilots want to reduce *visible* errors. This is a mod developer-intended setting, as the intention is to REDUCE error popups for pilots, especially during initial game load.

neomgr is now CCD1-compliant. it is NOT a CCD1 provider, though. Implementation is minimal, as usual. The utility now has buttons that will open the user's web browser to check for updates on VOUPR and NexusMods

lib.unlock_class accepts the Neoloader auth_key now
Any authorized-by-the-user plugins can now forcefully unlock a class by providing their authorization key. If a class successfully unlocks, the key that was used to lock it is returned (to reduce destructively unlocking things)

lib.set_load provides an official method to set a mod's load state
load states are restricted to valid ones, and an authorization key must be provided. future LME implementations may obscure load states in the config.ini (and Neoloader MIGHT do that in the future too), and this function allows compliant and authorized plugins to change states as neccessary.

lib.find_file looks for if a file exists and returns a valid path
This improves on the old locator used in lib.resolve_file (which now uses lib.find_file instead); any number of paths may be provided as arguments. All valid locations are returned in a table. This will allow plugin developers to handle their own file loading (for instance, using loadfile() and passing arguments to the result), or finding non-lua files.

lib.resolve_file now accepts any number of path arguments
it just passes them off to lib.find_file, though it does still check the resulting table. Do note that the first valid result is used, so don't pass multiple folders that may contain the same file name.

Neoloader now overwrites load-states when a reload is triggered
plugins *can* change load-states by just writing to the config.ini, but they should instead use the LME implementation agnostic lib.set_load function instead. To this end, Neoloader will now save known load states when the interface unloads.

Plugin: Neoloader NPLME
Version: 5.3.0 -beta / 6.1.1
Release Date: June 15th, 2023
Download: neoloader-5.3.0
Vendetta Online
Hosting Provider (
Contact Admin