Repository navigation
Compatibility
📚 Documentation of Golem v0.7.0, the latest release · Other versions
Your plugin rarely runs alone. Another plugin can take one of your commands, cancel the events you
listen to, or change what players see. golem compat runs your tests alone, then again with other
plugins loaded next to yours, and shows what changes:
vendor/bin/golem compat EssentialsMP libs/MyEconomy.phar ../my-other-plugin Migration report alone → with HealPlus
✗ passed → failed 1 test
· HealCommandTest › operators can heal themselves
expected 20.0 actual 4.0
Tests: 1 behave the same, 1 break, 0 get fixed, 0 other changes
! /heal of HelloWorld is taken by HealPlus: typing /heal runs HealPlus's, the other is only /helloworld:heal
HelloWorld does not work the same with HealPlus.
The other plugins can be phars, plugin folders, or names of plugins of the Poggit archive, downloaded once into Golem's cache. A plugin that cannot load (an API version it does not support, a missing dependency) is reported with the reason the server gave.
The exit code is 1 when a test breaks or a new command conflict appears, so it can run in CI to
keep working with the plugins your users install alongside yours.
Warning
Plugins downloaded from Poggit run on your machine like any plugin you install: only name plugins you trust.
When two plugins register the same command, the first one keeps it and the other is only
reachable as /plugin:command. Golem checks this on every run, not only with golem compat:
HelloWorld 1.0.0 · PocketMine-MP 5.44.3 · 35 tests
! /heal of HelloWorld is taken by HealPlus: typing /heal runs HealPlus's, the other is only /helloworld:heal
--with loads other plugins for a single golem run, for example a dependency you test against:
vendor/bin/golem --with=libs/MyEconomy.phar,../my-other-pluginPlugins your tests always need belong in extra.golem.plugins
instead.