Nucleus - The Ultimate Essentials Plugin


#163

You are, and this thread is made for that. I am simply stating here that the reason for 1.10.2’s end of life support is because Sponge itself is dropping an outdated, year-old version.


#164

Yes, but you’re acting like it’ll stop working. It won’t. If your environment doesn’t update, the plugin you’re using now won’t break. If your environment does update, then you’ll have an updated version to use. And I’d imagine a sufficiently important bugfix would get backported even so. In Bukkit, where they never break anything, there are many popular plugins which haven’t been updated since like 1.5 but people still use because they still work.
If you have an alternative, which is in active development, lined up, then I’d say switch, but if you’d be looking for one, you’re unlikely to find one, and Nucleus won’t ever just up and stop working on you.


#165

I’ll point out that the message that Nucleus prints out on startup is a warning, it doesn’t mean it’ll stop working on the 1st January. It means I stop supporting it officially.

As for the many of you that are using 1.12.2 and Nucleus 1.2.0-PR4, I’ve been getting many reports of people being vanished on login. This is because, as it states in the release notes:

You need to ensure this permission is denied, or that the vanish module is disabled. You should never give nucleus or * permissions out, even if you are the owner or supreme admin - here, you’ve given yourself permission to log in vanished which is not always what you want.

Please read https://nucleuspowered.org/docs/faqs.html#lots-of-permissions for a bit more of an explanation as to why the wildcard should be avoided.


#166

A new version has been released for Nucleus, it is available for download here.


Nucleus 1.2 Pre-release 5

This build is for Minecraft 1.12.2+ (Sponge API 7) ONLY

Nucleus 1.1.8 LTS is available for 1.10.2 and 1.11.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 possible 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/A9QHG5H

Important Changes & Notices

Are you upgrading from Nucleus 0.x? Upgrade to 1.0.1 first.

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.

[PR5] Using the permission wildcard?

There were a lot of admins who give themselves the * or nucleus permission wildcard, we were getting issues and support requests saying it was a bug that you were vanished on login. It’s not a bug, it’s a feature - the permission nucleus.vanish.onlogin causes this. We recommend that you don’t do it, please read this for an explanation why.

[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 PR3.

[PR2] Removal of config key admin.separate-gamemode-permissions

If this config key was set to false, you should now grant the players in question the nucleus.gamemode.modes permission.

New Features

[PR5] Added tab list support for vanish

Now, vanish, and you disappear from the tab list of standard players.

[PR5] Add -c flag for a compact /serverstat

Adding the -c flag to /serverstat will omit the world information, which is useful for those running this command on the console.

[PR5] Add many flags to /repair fo repairing specific inventories.

Mohron added flags and permissions to the repair command to make it more versatile:

  • Add repair blacklist/whitelist functionality - see the main config, under item
  • Add new repair messages
  • Add exemption check for repair restriction

Flag permissions to start with nucleus.repair.flag

[PR4] Add gamerules alias & suggest command click actions

Thanks to Mohron, you can now run /gamerules as an alias to /world gamerule. Clicking on a gamerule will suggest a command to alter it.

[PR4] Add force flag for /spawn

Now, you can run /spawn -f to force yourself to the set spawn, even if it’s not safe.

[PR4] Added invulnerability module

Previous, invulnerability was in the misc module. It is now in its own separate module as the featureset got large enough for it to be in its own module.

Those who are invulnerable through Nucleus’ mechanisms should not be targeted by mobs any longer.

[PR4] Added way to track potential world UUID changes.

On each startup, Nucleus determines the mapping of world name -> UUID. If a world doesn’t match the UUID on subsequent startups, Nucleus whitelists the server and offers the /repairuuid command, which will correct it and shutdown the server if it can find the right methods.

This does not fix world UUIDs changing, but it alerts you and offers to fix the problem if it ever is detected.

[PR4] Added vanish on login permission

Players with the permission nucleus.vanish.onlogin will now log in and vanish immediately.

[PR3] Added /trash

Now, a new way to dispose of your items! Brings up an inventory window, put your items in, close the inventory, and they are digital history!

[PR3] Added warning messages on startup in some scenarioes

Nucleus works best with a permission plugin and an economy plugin - it doesn’t provide these functions itself. If you don’t have these, Nucleus will warn you on startup.

Also, if Nucleus can’t take a command name, it will now warn you on startup too.

[PR3] More world commands

You can now copy and rename worlds using /world clone and /world rename

[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.

[PR2] /workbench, /anvil and /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
  • Added -f flag 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.

New aliases for /time set and /warp set: /settime and /setwarp

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!

New commands for kits: /kit info and /kit view

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.

Prevent players from accessing no-go worlds with world access permissions!

@Mohron has added per-world access permissions. By setting world.separate-permissions in main.conf to true, server owners can prevent players from warping to certain worlds by denying the permission nucleus.worlds.[worldname].

Added a way to prevent homes being used/modified if too many are set.

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 main.conf, homes.prevent-home-count-overhang - set this to false to retain the existing behaviour.

Developers - API updates

Repository: ‘http://repo.drnaylor.co.uk/artifactory/list/minecraft’.
Dependency (1.12.2): ‘io.github.nucleuspowered:nucleus-api:1.2.0-PR5-S7.0’

[PR5] Expanded AFK events

The AFK events now allow you to alter the messages that are displayed when someone changes their AFK status.

[PR2] Updates for the Sponge Cause Stack Manager (CSM)

There are a few things to be aware of:

  • We’ve kept the Cause parameter 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 Cause.builder())
  • 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_SIMULATED key for the GameProfile of the simulated player. Nucleus will look for this context too.
  • Nucleus will add the (Nucleus) EventContexts.SHOULD_FORMAT_CHANNEL context 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 nucleus:should_format_channel.

Addition of NucleusInvulnerabilityService

Developers can now inspect and change a player’s invulnerability status (often referred to as “god mode”)

Large update to the Kit service

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.

Minor Changes & Enhancements

  • Update message reloading so that /nucleus update-messages works
  • Updates to /rtp to use Sponge API 7 features
  • The Kits subsystem has been improved
  • Added configurable /unstuck radius 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
  • Removed admin.separate-gamemode-permissions
  • Bumped QSML to 0.9.0

Bugfixes

  • Fix kit info showing the number of stacks for the number of commands
  • Fix command spy not working in some scenarios.
  • Try to support arrays in kits.
  • Fix always requiring separate permissions for /kit list
  • 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
  • Fix ClassCastException in some cases when using /tp
  • 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.dat when it should be modifying level.dat
  • 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
  • Fixed home overhang message to output the numbers the correct way around
  • Updated saving/loading to be more robust
  • Work around issues with /back
  • Fixed null MOTD permission check
  • Prevent stack traces on startup if the server is pinged
  • Fixed nicknames ignoring style/colour permissions
  • Fixed weird teleport issues when warping when riding a vehicle
  • Added extra check to try to place someone a block above a solid block in rare cases
  • Fixed /list not reporting the correct number of players when some are vanished
  • API 7 compatibility changes

Known Issues

  • 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.2 builds.

Commit History


#167

For world pre-gen is it possible to gen past the border? i.e by 1-2k extra, i’m using terraincontrol and its causing slow downs even with the world pre-gened, so I want to remove it, but before I do I would like to generate some extra chunks before removing it


#168

A new version has been released for Nucleus, it is available for download here.


Nucleus 1.1.9.1 LTS

This build is for Minecraft 1.10.2 (Sponge API 5.1)

Nucleus 1.1.9.1 LTS is also available for 1.11.2

Nucleus 1.2 pre-release 6 is available for 1.12.2


Release Notes

This is a bug fix release for Nucleus 1.1.x LTS

If you’re having trouble, visit our Discord channel: https://discord.gg/A9QHG5H

IMPORTANT: Upcoming End of Life for Nucleus 1.1.x LTS

Nucleus 1.1.x LTS for 1.10.2 and 1.11.2 will not be officially supported or updated from the 1st January 2018. It has had a good life, but as Sponge API 7 is due to be released soon and Nucleus 1.2 will have many structural improvements, API 5.1 and 6 builds will become increasingly difficult to maintain.

PRs will be accepted, a release will occur if there are enough fixes.

Nucleus 1.1.x will continue to receive support throughout the rest of 2017.

Release Notes

Important Note about Nucleus Mixins: Nucleus Mixins is a mod not a plugin, that can be used on SpongeForge and SpongeVanilla servers. It MUST be in your MODS directory, NOT any other plugin directory.

New Features

  • Added compact server stats (/serverstat -c)

Bugfixes

  • Fix nickname colour issue when no prefix is used
  • Try to be more robust with data saving

Known Issues

  • Sometimes, an incorrect custom prefix might be selected. Nucleus uses whatever the permission plugin hands back, check your inheritance with the permissions plugin.

Commit History


#169

A new version has been released for Nucleus, it is available for download here.


Nucleus 1.1.9.1 LTS

This build is for Minecraft 1.11.2 (Sponge API 6)

Nucleus 1.1.9.1 LTS is also available for 1.10.2

Nucleus 1.2 pre-release 6 is available for 1.12.2


Release Notes

This is a bug fix release for Nucleus 1.1.x LTS

If you’re having trouble, visit our Discord channel: https://discord.gg/A9QHG5H

IMPORTANT: Upcoming End of Life for Nucleus 1.1.x LTS

Nucleus 1.1.x LTS for 1.10.2 and 1.11.2 will not be officially supported or updated from the 1st January 2018. It has had a good life, but as Sponge API 7 is due to be released soon and Nucleus 1.2 will have many structural improvements, API 5.1 and 6 builds will become increasingly difficult to maintain.

PRs will be accepted, a release will occur if there are enough fixes.

Nucleus 1.1.x will continue to receive support throughout the rest of 2017.

Release Notes

Important Note about Nucleus Mixins: Nucleus Mixins is a mod not a plugin, that can be used on SpongeForge and SpongeVanilla servers. It MUST be in your MODS directory, NOT any other plugin directory.

New Features

  • Added compact server stats (/serverstat -c)

Bugfixes

  • Fix nickname colour issue when no prefix is used
  • Try to be more robust with data saving

Known Issues

  • Sometimes, an incorrect custom prefix might be selected. Nucleus uses whatever the permission plugin hands back, check your inheritance with the permissions plugin.

Commit History


#170

A new version has been released for Nucleus, it is available for download here.


Nucleus 1.2 Pre-release 6

This build is for Minecraft 1.12.2+ (Sponge API 7) ONLY

Nucleus 1.1.9.1 LTS is available for 1.10.2 and 1.11.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 possible 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/A9QHG5H

Changes from PR5

  • Added /rocket
  • Added options to RTP, including min radius and player centred rtp
  • Added /craft alias to /workbench
  • Lots of bug fixes

Important Changes & Notices

Are you upgrading from Nucleus 0.x? Upgrade to 1.0.1 first.

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.

[PR5] Using the permission wildcard?

There were a lot of admins who give themselves the * or nucleus permission wildcard, we were getting issues and support requests saying it was a bug that you were vanished on login. It’s not a bug, it’s a feature - the permission nucleus.vanish.onlogin causes this. We recommend that you don’t do it, please read this for an explanation why.

[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 PR3.

[PR2] Removal of config key admin.separate-gamemode-permissions

If this config key was set to false, you should now grant the players in question the nucleus.gamemode.modes permission.

New Features

[PR6] Added /rocket

Someone mentioned that they missed putting a rocket up someones… avatar and making them jump for miles with EssentialCmds. It’s back! Plus, with the -e flag, you can make your unsuspecting victim go up with a bang too!

[PR6] Added min/max RTP with option for player centred RTP.

You can now set a minimum radius for RTP, and set up the command to be player centred, rather than spawn centred.

[PR6] Added /craft as an alias to /workbench

'Nuff said.

[PR5] Added tab list support for vanish

Now, vanish, and you disappear from the tab list of standard players.

[PR5] Add -c flag for a compact /serverstat

Adding the -c flag to /serverstat will omit the world information, which is useful for those running this command on the console.

[PR5] Add many flags to /repair fo repairing specific inventories.

@Mohron added flags and permissions to the repair command to make it more versatile:

  • Add repair blacklist/whitelist functionality - see the main config, under item
  • Add new repair messages
  • Add exemption check for repair restriction

Flag permissions to start with nucleus.repair.flag

[PR4] Add gamerules alias & suggest command click actions

Thanks to Mohron, you can now run /gamerules as an alias to /world gamerule. Clicking on a gamerule will suggest a command to alter it.

[PR4] Add force flag for /spawn

Now, you can run /spawn -f to force yourself to the set spawn, even if it’s not safe.

[PR4] Added invulnerability module

Previous, invulnerability was in the misc module. It is now in its own separate module as the featureset got large enough for it to be in its own module.

Those who are invulnerable through Nucleus’ mechanisms should not be targeted by mobs any longer.

[PR4] Added way to track potential world UUID changes.

On each startup, Nucleus determines the mapping of world name -> UUID. If a world doesn’t match the UUID on subsequent startups, Nucleus whitelists the server and offers the /repairuuid command, which will correct it and shutdown the server if it can find the right methods.

This does not fix world UUIDs changing, but it alerts you and offers to fix the problem if it ever is detected.

[PR4] Added vanish on login permission

Players with the permission nucleus.vanish.onlogin will now log in and vanish immediately.

[PR3] Added /trash

Now, a new way to dispose of your items! Brings up an inventory window, put your items in, close the inventory, and they are digital history!

[PR3] Added warning messages on startup in some scenarioes

Nucleus works best with a permission plugin and an economy plugin - it doesn’t provide these functions itself. If you don’t have these, Nucleus will warn you on startup.

Also, if Nucleus can’t take a command name, it will now warn you on startup too.

[PR3] More world commands

You can now copy and rename worlds using /world clone and /world rename

[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.

[PR2] /workbench, /anvil and /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
  • Added -f flag 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.

New aliases for /time set and /warp set: /settime and /setwarp

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!

New commands for kits: /kit info and /kit view

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.

Prevent players from accessing no-go worlds with world access permissions!

@Mohron has added per-world access permissions. By setting world.separate-permissions in main.conf to true, server owners can prevent players from warping to certain worlds by denying the permission nucleus.worlds.[worldname].

Added a way to prevent homes being used/modified if too many are set.

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 main.conf, homes.prevent-home-count-overhang - set this to false to retain the existing behaviour.

Developers - API updates

Repository: ‘http://repo.drnaylor.co.uk/artifactory/list/minecraft’.
Dependency (1.12.2): ‘io.github.nucleuspowered:nucleus-api:1.2.0-PR6-S7.0’

[PR6] Expanded ChangeNicknameEvent

This event has changed drastically, but now returns the old and new nicknames and fires when the nickname is removed.

[PR5] Expanded AFK events

The AFK events now allow you to alter the messages that are displayed when someone changes their AFK status.

[PR2] Updates for the Sponge Cause Stack Manager (CSM)

There are a few things to be aware of:

  • We’ve kept the Cause parameter 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 Cause.builder())
  • 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_SIMULATED key for the GameProfile of the simulated player. Nucleus will look for this context too.
  • Nucleus will add the (Nucleus) EventContexts.SHOULD_FORMAT_CHANNEL context 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 nucleus:should_format_channel.

Addition of NucleusInvulnerabilityService

Developers can now inspect and change a player’s invulnerability status (often referred to as “god mode”)

Large update to the Kit service

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.

Minor Changes & Enhancements

  • Update message reloading so that /nucleus update-messages works
  • Updates to /rtp to use Sponge API 7 features
  • The Kits subsystem has been improved
  • Added configurable /unstuck radius 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
  • Removed admin.separate-gamemode-permissions
  • Bumped QSML to 0.9.0

Bugfixes

  • Fix kit info showing the number of stacks for the number of commands
  • Fix command spy not working in some scenarios.
  • Try to support arrays in kits.
  • Fix always requiring separate permissions for /kit list
  • 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
  • Fix ClassCastException in some cases when using /tp
  • 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.dat when it should be modifying level.dat
  • 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
  • Fixed home overhang message to output the numbers the correct way around
  • Updated saving/loading to be more robust
  • Work around issues with /back
  • Fixed null MOTD permission check
  • Prevent stack traces on startup if the server is pinged
  • Fixed nicknames ignoring style/colour permissions
  • Fixed weird teleport issues when warping when riding a vehicle
  • Added extra check to try to place someone a block above a solid block in rare cases
  • Fixed /list not reporting the correct number of players when some are vanished
  • Fixed /vanish not working without a name
  • Fixed RTP doing surface teleports in worlds where the sky cannot be seen
  • Add extra code to try to prevent nicknames resetting
  • Fix incorrect regex for colour parsing, resulting in some colour codes not being translated
  • Fix nickname colours when no prefix is used
  • API 7 compatibility changes

Known Issues

  • 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.2 builds.

Commit History


#171

Hi there! I recently installed your plugin and was wondering if there was a way for me to set a permission for certain warps. Simply put, I’m creating a pixelmon server and I want to emulate flying from the original games. I’d like players to visit a town, press a button linked to a command block, then be able to teleport there only after the command has run. Is this possible? Thank you!


#172

A new version has been released for Nucleus, it is available for download here.


Nucleus 1.2.0

This build is for MC 1.12.2. Click here for 1.10.2, or here for 1.11.2

This is the first official release for Sponge API 7 (Minecraft 1.12.2). This should work on any Sponge 7.x release.

Please note that 1.1.x is no longer supported, along with Minecraft 1.10.2/1.11.2 fixes. PRs are welcome for these branches, but no official work will be done on these branches in the future.

If you’re having trouble, visit our Discord channel: https://discord.gg/A9QHG5H

Important Changes & Notices

Are you upgrading from Nucleus 0.x? Upgrade to 1.0.1 first.

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.

Upgrading from Nucleus 1.1.x? 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.

Using the permission wildcard?

There were a lot of admins who give themselves the * or nucleus permission wildcard, we were getting issues and support requests saying it was a bug that you were vanished on login. It’s not a bug, it’s a feature - the permission nucleus.vanish.onlogin causes this. We recommend that you don’t do it, please read this for an explanation why.

Removal of config key admin.separate-gamemode-permissions

If this config key was set to false, you should now grant the players in question the nucleus.gamemode.modes permission.

New Features since 1.1.x LTS

Added /rocket

Someone mentioned that they missed putting a rocket up someones… avatar and making them jump for miles with EssentialCmds. It’s back! Plus, with the -e flag, you can make your unsuspecting victim go up with a bang too!

Added min/max RTP with option for player centred RTP.

You can now set a minimum radius for RTP, and set up the command to be player centred, rather than spawn centred.

Added tab list support for vanish

Now, vanish, and you disappear from the tab list of standard players.

Add many flags to /repair fo repairing specific inventories.

@Mohron added flags and permissions to the repair command to make it more versatile:

  • Add repair blacklist/whitelist functionality - see the main config, under item
  • Add new repair messages
  • Add exemption check for repair restriction

Flag permissions to start with nucleus.repair.flag

Add force flag for /spawn

Now, you can run /spawn -f to force yourself to the set spawn, even if it’s not safe.

Added invulnerability module

Previous, invulnerability was in the misc module. It is now in its own separate module as the featureset got large enough for it to be in its own module.

Those who are invulnerable through Nucleus’ mechanisms should not be targeted by mobs any longer.

Added way to track potential world UUID changes.

On each startup, Nucleus determines the mapping of world name -> UUID. If a world doesn’t match the UUID on subsequent startups, Nucleus whitelists the server and offers the /repairuuid command, which will correct it and shutdown the server if it can find the right methods.

This does not fix world UUIDs changing, but it alerts you and offers to fix the problem if it ever is detected.

Added vanish on login permission

Players with the permission nucleus.vanish.onlogin will now log in and vanish immediately.

Added /trash

Now, a new way to dispose of your items! Brings up an inventory window, put your items in, close the inventory, and they are digital history!

Added warning messages on startup in some scenarioes

Nucleus works best with a permission plugin and an economy plugin - it doesn’t provide these functions itself. If you don’t have these, Nucleus will warn you on startup.

Also, if Nucleus can’t take a command name, it will now warn you on startup too.

More world commands

You can now copy and rename worlds using /world clone and /world rename

/workbench, /anvil and /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.

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
  • Added -f flag 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.

New commands for kits: /kit info and /kit view

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.

Prevent players from accessing no-go worlds with world access permissions!

@Mohron has added per-world access permissions. By setting world.separate-permissions in main.conf to true, server owners can prevent players from warping to certain worlds by denying the permission nucleus.worlds.[worldname].

Developers - API updates

Repository: ‘http://repo.drnaylor.co.uk/artifactory/list/minecraft’.
Dependency (1.12.2): ‘io.github.nucleuspowered:nucleus-api:1.2.0-S7.0’

Expanded ChangeNicknameEvent

This event has changed drastically, but now returns the old and new nicknames and fires when the nickname is removed.

Expanded AFK events

The AFK events now allow you to alter the messages that are displayed when someone changes their AFK status.

Updates for the Sponge Cause Stack Manager (CSM)

There are a few things to be aware of:

  • We’ve kept the Cause parameter 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 Cause.builder())
  • 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_SIMULATED key for the GameProfile of the simulated player. Nucleus will look for this context too.
  • Nucleus will add the (Nucleus) EventContexts.SHOULD_FORMAT_CHANNEL context 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 nucleus:should_format_channel.

Addition of NucleusInvulnerabilityService

Developers can now inspect and change a player’s invulnerability status (often referred to as “god mode”)

Large update to the Kit service

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.

Minor Changes & Enhancements

  • Update message reloading so that /nucleus update-messages works
  • Updates to /rtp to use Sponge API 7 features
  • The Kits subsystem has been improved
  • Added configurable /unstuck radius 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
  • Removed admin.separate-gamemode-permissions
  • Bumped QSML to 0.9.0

Bugfixes

  • Fix kit info showing the number of stacks for the number of commands
  • Fix command spy not working in some scenarios.
  • Try to support arrays in kits.
  • Fix always requiring separate permissions for /kit list
  • 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
  • Fix ClassCastException in some cases when using /tp
  • 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.dat when it should be modifying level.dat
  • 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
  • Fixed home overhang message to output the numbers the correct way around
  • Updated saving/loading to be more robust
  • Work around issues with /back
  • Fixed null MOTD permission check
  • Prevent stack traces on startup if the server is pinged
  • Fixed nicknames ignoring style/colour permissions
  • Fixed weird teleport issues when warping when riding a vehicle
  • Added extra check to try to place someone a block above a solid block in rare cases
  • Fixed /list not reporting the correct number of players when some are vanished
  • Fixed /vanish not working without a name
  • Fixed RTP doing surface teleports in worlds where the sky cannot be seen
  • Add extra code to try to prevent nicknames resetting
  • Fix incorrect regex for colour parsing, resulting in some colour codes not being translated
  • Fix nickname colours when no prefix is used
  • API 7 compatibility changes

Known Issues

  • 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.

Commit History


#173

@YachtCrafter Hello! Yep. It’s documented at https://nucleuspowered.org/docs/modules/warp.html - set warp.separate-permissions to true in main.conf, then the permission is nucleus.warps.[warpname]


#174

How can I prevent a player from placing or picking up a block?
The EssentialCmds have /blacklist before, now I don’t know how to ban an item.


#175

@bunSakurAing

Nucleus doesn’t have the function to ban items, you’ll need to use another plugin for that.


#176

Latest version Chat names are gone. Prefix etc is still there, but the player name iss missing.


#177

You may want to make a detailed bug report on Github - https://github.com/NucleusPowered/Nucleus/issues


#178

A new version has been released for Nucleus, it is available for download here.


This is an URGENT bug fix release for Nucleus 1.2.x.

An Apology

I’m sorry that 1.2.0 exposed a nasty issue which caused player IGNs to not always be correct, and prevented skins from downloading. I’m not sure why this is - but it’s related to the tab list, and I suspect it has possibly exposed a Sponge issue - investigation is ongoing. I’ve disabled the feature for now, rather than making people wait for an update this is the better course of action as it stands.

Again, my apologies.

Release Notes

If you’re having trouble, visit our Discord channel: https://discord.gg/A9QHG5H

Bugfixes

  • Disable vanish tab list modifications as it was messing with skins and names
  • Fix error when using /kit command edit

Known Issues

  • Sometimes, an incorrect custom prefix might be selected. Nucleus uses whatever the permission plugin hands back, check your inheritance with the permissions plugin.

Commit History


#179

Thank you very much for the help!


#180

A new version has been released for Nucleus, it is available for download here.


This is a bug fix and minor feature release for Nucleus 1.2.x.

Release Notes

If you’re having trouble, visit our Discord channel: https://discord.gg/A9QHG5H

New features

  • Added option to disable PvP for invulnerable players
  • Added permission context nucleus-invulnerability=true for invulnerable players

Bugfixes

  • Fix player names not appearing when namecolouris in use under certain conditions
  • Fix invulnerability service being registered in the wrong module

Known Issues

  • Sometimes, an incorrect custom prefix might be selected. Nucleus uses whatever the permission plugin hands back, check your inheritance with the permissions plugin.

Commit History

What do I need to download?

  • Download Nucleus-1.2.2-S7.0-MC1.12.2-plugin.jar

I’m also using PlaceholderAPI 4.0 or above

In addition, download NucleusGluon-1.0.3.jar


#181

Amazing work. I would also like to see an analogue of /near command from Essentials.


#182

Can I make player change their gamemode when they tp to other world . This is an important feature to protect my world while players can take the pokechest.