PySpigot
0.9.1A Python scripting engine (plugin) for Minecraft servers running Bukkit or one of its forks (Spigot, Paper, etc.).
0.9.1latestPySpigot 0.9.1Jul 27, 2025 Additions in this version:
- Added a newPluginMessageManagerto interface with Spigot's plugin messaging framework and send/listen for plugin messages - A notification is now sent when using a SNAPSHOT version as opposed to a release version - A warning message is now displayed if a tab complete function returns something other than a listChanges in this version:
- PySpigot is now compiled with Java 21. From this version onwards, PySpigot will only work on Java 21+ - PySpigot now uses the Kyori Adventure API for messaging - Improved the information displayed in the/pyspigot infocommand - Logging improvements - A lot of code cleanup, reorganization, and improvements - JavaDocs improvementsBugs fixed in this version:
- Fixed an issue where duplicate scripts/project could be loaded, or the same script/project could be loaded more than once, if case-variant names were passed - Fixed an issue where thescript_options.ymlfile was never loaded on the BungeeCord platform - Fixed an error that occurred when listeners, commands, etc. were registered from a utility module or a non-main project file - The main script displayed in the/pyspigot infocommand now show the correct script file for single-file scripts - Fixed a memory leak associated with fetching the latest plugin version from Spigot - Fixed issue where command registration parameters were not recognized - Fixed an issue where the configuration files were saved before the plugin folder was initialized/created - The version checking system now evaluates SNAPSHOT versions as older than release versions of the same number0.9.0PySpigot 0.9.0Apr 30, 2025 This update contains some major additions (including support for projects), as well as some key bug fixes.Additions in this version:
- Added support for multi-file script projects! For more information, [see the documentation](https://pyspigot-docs.magicmq.dev/projects/writingproject… - Callingsys.exitfrom within a script now works as intended.Changes in this version:
- Added back the option to specify default permissions inscript-option-defaultsin theconfig.yml- Major improvements to exception throwing and handling, including delegation of most exception handling to Jython - Miscellaneous code and JavaDocs improvements - Updated many dependencies to their latest versionsBugs fixed in this version:
- Fixed a bug where PySpigot would not load if the optional dependencies ProtocolLib and/or PlaceholderAPI were not running on the server - Fixed a bug where color codes were not printing correctly for/pyspigot listscriptscommand messages - Fixed a bug where scripts could desync from their own PySystemState when calling script code at a later time, such as event listeners, tasks, commands, etc. - Fixed a bug where PySpigot would attempt to shutdown before it was initialized - Fixed a bug where a script could access a manager before it was initialized - Fixed a bug where the main server thread would hang on script unload if the script accessed thethreadingmodule from an asynchronous context by patching the threading module on script unload. This can be disabled by settingdebug-options.patch-threadingtofalsein theconfig.ymlThis 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](https://github.com/magicmq/pyspigot/releases/download/v0.… Feel free to download, test it out, and report any issues here on GitHub or on Discord. See the complete change log for this update here: https://github.com/magicmq/pyspigot/releases/tag/v0.9.00.8.0PySpigot 0.8.0Mar 6, 2025 This update contains key bug fixes and performance improvements, as well as some minor additions/changes.Additions:
- Scriptstartandstopfunctions 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 newfunction.pyhelper module, bundled into the PySpigot JAR file, that wraps Java functional inferfaces in a Python-friendly format - Added Jython-specific options to theconfig.yml, including initialization on startup, Jython properties, and args/sys.argvChanges:
- Thepyspigot.pyhelper library is now precompiled and bundled into the/Libfolder within the PySpigot JAR file. It is no longer copied into thepython-libsfolder. You can safely delete the `pyspigot.py` and corresponding `pyspigot$py.class` files from the python-libs folder. - Theauto-pyspigot-lib-update-enabledwas 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 - Updated several example scripts to use the latest recommended PySpigot features - Reformatted and removed some redudancy from script error messages in console - The plugin prefix is now hard-coded (no longer defined in theconfig.yml), and the footer was removed from the/pyspigot helpcommand - Increased precision when reporting Java library load times - A lot of code cleanup and miscellaneous improvements - Updated several dependencies to their latest versionsBug Fixes:
- Fixed an issue where Paper 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.](https://github.com/magicmq/pyspigot/releases/download/v0.… 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.00.7.1PySpigot 0.7.1Dec 22, 2024 0.7.1 Update
This update is a minor release, and it only contains one new feature (custom script events) as well some minor bug fixes and code improvements. The bigger news with this update is that the new documentation site is live! Check it out [here](https://pyspigot-docs.magicmq.dev).Additions:
- Added aCustomEventthat an be created and called by scripts to signal a custom event to other scripts/plugins ([visit the docs](https://pyspigot-docs.magicmq.dev/scripts/customevents/) for more information) - Added another example scriptChanges:
- Updated all dependencies to latest versions (including Jython to 2.7.4) - Minor code improvements/cleanup - Minor improvements to config file comments and JavaDocsBug Fixes:
- Fixed an issue with log messages not being printed correctly when running regular Spigot server software - Fixed an issue with the library manager attempting to load non-JAR files and folders See the complete change log [here](https://github.com/magicmq/pyspigot/releases/tag/v0.7.1).
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta