This is a Sponge API tracking pre-release for Nucleus 1.2.
This is a preview release. Not all the testing that you would come to expect has been performed on this build for a very specific reason - this is a build for Sponge bleeding, and changes are expected that will break this build. A full 1.2 release will be made when Sponge API 7 is declared stable.
If you’re having trouble, visit our Discord channel: https://discord.gg/MC2mAuS
Nucleus 1.1 removes a lot of old migration code that has been in the codebase since the very early days. 1.0.1 is the last version that contains this migration code, anyone updating directly from 0.x to 1.1 may not get a smooth migration.
PR2 Backup your data! Codebase cleanup!
Nucleus 1.2 has undergone a lot of changes to remove a lot of redundant code. While this should make the plugin more stable, there may be minor issues that have arisen. Nothing should break, but please keep a backup of your data before installing 1.2 PR2.
PR2 Removal of config key
If this config key was set to
false, you should now grant the players in question the
PR2 Changes due to the Sponge Cause Refactor
Nucleus now supports the Sponge CauseStackManager and will fail to run on older builds. This should not affect the general player, but there are developer centric things to keep in mind. These will be documented in the Developers section of these notes.
/enchanttable (with caveats)
You can now, thanks to advances in the Sponge API, call a virtual workbench and anvil. You can also call an enchantment table, but there is no way to set its power right now - it will be a very low power table! We hope to be able to add this to Sponge and bring this in a future update.
PR2 Added blacklist for command spy
Now, you can specify either commands to be able to spy on, or commands NOT to spy on, bring this up to parity with the command logger.
PR2 Updated World pre-gen code
We’ve made a few quality of life changes to the world gen system:
- Remove a lot of the spam caused by world generation by default, replacing with a more friendly notification, timed with the general player notification frequency
- Add option to re-add spam (if you’re really into that sort of thing)
- Decoupled save interval and player notification interval
-fflag to control the tick interval for pre-gen (how often the pre-gen code runs, number of ticks between generations - defaults to Sponge default)
There has also been some cleanup of the code.
Not really much more to say than that, but now you won’t have to worry about getting that command wrong all the time!
As a related note, if a small change like this will help you with using the plugin, please tell us. This plugin is for the community!
Server admins can now view at a glance info about kits by running
/kit info [kit]. Servers can also give the
/kit view command to players, which will allow them to look at a kit without redeeming it.
@Mohron has added per-world access permissions. By setting
true, server owners can prevent players from warping to certain worlds by denying the permission
There was an exploit where if a player’s home count was reduced, the player could still overwrite homes and keep the higher number. By default, in this scenario now, Nucleus will not allow players with too many homes from modifying and warping to homes until some are deleted, but for the scenario that servers might want to keep this behaviour, there is a new option in
homes.prevent-home-count-overhang - set this to
false to retain the existing behaviour.
- Repository: ‘http://repo.drnaylor.co.uk/artifactory/list/minecraft’.
- Dependency (1.12.2): ‘io.github.nucleuspowered:nucleus-api:1.2.0-PR2-S7.0’
PR2 Updates for the Sponge Cause Stack Manager (CSM)
There are a few things to be aware of:
- We’ve kept the
Causeparameter on API methods where the API method can be called async. The Sponge CSM only works on the main thread. Read the Sponge Javadocs for API 7 for how to create causes off the main thread (look at
- If a player’s chat is caused by
sudo, note that the root cause will NOT be the
sudo’d player, but the player who caused the chat (who ran the sudo command). Check for the
EventContexts.PLAYER_SIMULATEDkey for the
GameProfileof the simulated player. Nucleus will look for this context too.
- Nucleus will add the (Nucleus)
EventContexts.SHOULD_FORMAT_CHANNELcontext when Nucleus will not format chat. Your plugins can also add this context when you send a chat message that you don’t want Nucleus to format the chat - if you want to use the ID, it’s
Developers can now inspect and change a player’s invulnerability status (often referred to as “god mode”)
Kits now contain the name of the kit, and back end changes now affect how kits should be saved. Existing integrations will still work, but note that there are a fair few deprecations. Such methods will be removed in Nucleus 2.0, when that comes to be.
- The Kits subsystem has been improved
- Added configurable
/unstuckradius and height
- Removal of the Permission Cache system, permission plugins now should be intelligently caching permissions
- Internal cleanup of inconsistent systems
- Reasons are now coloured in text that is displayed
- Added message to startup if the version of Sponge is too old
- Bumped QSML to 0.8.2
- Fix world import sometimes appearing to exist, but then pointing to an existing world
- Fix players not spawning on the centre of a block when logging in with the relavent options set
ClassCastExceptionin some cases when using
- Unset the spectatee when setting a player’s location.
- Fixed /world import throwing up debug messages when they shouldn’t be thrown
- Fixed /world import attempting to modifiy the
level_sponge.datwhen it should be modifying
- Fixed isAFK checks sometimes throwing a null exception
- Fixed kits with only commands in not redeeming
- Fixed missing translation key when a world could not be loaded
- API 7 compatibility changes
- Kits may fail to save if your kit contains modded items that use arrays to store data. This will be addressed in a future release.
- Sometimes, an incorrect custom prefix might be selected. Nucleus uses whatever the permission plugin hands back, check your inheritance with the permissions plugin.
- This version of Nucleus targets an unstable version of the Sponge API. Nucleus may break, without warning, with newer version of the API and 1.12.1 builds.