This update contains key bug fixes and performance improvements, as well as some minor additions/changes.
Additions:
- Script start and stop functions now optionally accept one parameter, the script object, which is passed to the functions by PySpigot when they are called
- Added support for relational placeholders in script PlaceholderAPI expansions
- Added a new function.py helper module, bundled into the PySpigot JAR file, that wraps Java functional inferfaces in a Python-friendly format
- Added Jython-specific options to the config.yml, including options for initialization on startup, Jython properties, and args/sys.argv
Changes:
- The pyspigot.py helper library is now precompiled and bundled into the /Lib folder within the PySpigot JAR file. It is no longer copied into the `python-libs` folder. You can safely delete the pyspigot.py and corresponding pyspigot$py.class files from the python-libs folder.
- The auto-pyspigot-lib-update-enabled config option was removed
- Jython is now initialized on server startup/plugin load by default, rather than when loading the first script, which increases performance in most cases
- Reformatted and removed some redudancy from script error messages in console
- A lot of code cleanup and miscellaneous improvements
- Updated several dependencies to their latest versions
Bug Fixes:
- Fixed an issue where the Paper server software was unnecessarily relocating Jython internals, which resulted in diminished performance
- Fixed an issue where PySpigot managers were being shut down if they weren't initialized first
- The database manager now specifies default HikariCP properties if none are explicitly defined
This release also contains a preliminary release for a BungeeCord-compatible version of PySpigot. This is not an official release because I have not comprehensively tested it.
Download it here. Feel free to test it out and report issues on GitHub or Discord.
See the complete change log for this update here:
https://github.com/magicmq/pyspigot/releases/tag/v0.8.0