This update contains some
breaking changes, as well as many other major additions, changes, and bug fixes.
Breaking changes:
- Removed the script dependency system. Scripts are now assigned a load priority in the script_options.yml file. Scripts with higher load priority load earlier than scripts with a lower load priority.
- The suppress-update-messages value in the config.yml has been changed to show-update-messages, and the default value is now true instead of false.
- The reloadConfig function in the config manager has been deprecated in favor of the reload function inside of the script config object. See the documentation for more information.
Other changes:
- Using print in a script now redirects the message to the script's logger and tags the message with the script's name when printing to the server console
- The script manager now returns a run result (RunResult.FAIL_SCRIPT_NOT_FOUND) instead of throwing a FileNotFoundException when attempting to load a script that doesn't exist
- With the new script plugin dependency system, scripts are now automatically unloaded if a plugin the script depends on is unloaded. This can be disabled by setting script-unload-on-plugin-disable to false in the config.yml
- Minor improvements in error logging
- Added additional aliases to some commands
- A lot of code cleanup/optimization
Additions:
- The plugin now official supports MC version 1.21
- Added the database manager to work with SQL and Mongo database servers
- Added the redis manager to work with redis servers
- Added a new SyncCallbackTask task type to the task manager
- Added support for creation of subfolders in the scripts and configs folders for better organization of scripts and config files
- Added doesConfigExist and deleteConfig functions to the config manager
- Added ability to specify script permissions in the script_options.yml
- Added ability to specify script plugin dependencies in the script_options.yml
- Added ability to specify default script options in the config.yml
Bug Fixes:
- Fixed a bug where the plugin would not display chat messages correctly on MC versions older than 1.16
- Fixed broken link when pinging Spigot for latest available plugin version
- Fix error when using /pyspigot info if ProtocolLib and/or PlaceholderAPI are not present on the server
- Fixed some dependencies not being properly relocated in the final pyspigot JAR file
- Fixed error when fetching config.yml default values
- Fixed broken Minecraft version parsing for versions newer than 1.20
- Fixed an error that would occur if attempting to unload active objects from a manager class in the stop function of a script
- Fixed an endless loop that would occur if an exception was thrown inside of a script's event listener when listening to ScriptExceptionEvent
- Fixed a bug where changes to a config upon using the set function were not reflected unless if a config was reloaded manually
For complete descriptions of these changes and additions, see the latest version of the documentation:
https://pyspigot-docs.magicmq.dev
For the complete changelog, see GitHub:
https://github.com/magicmq/pyspigot/releases/tag/v0.7.0