Nucleus - The Ultimate Essentials Plugin


#41


What should I do?


#42

It should be safe on your part, all it's preventing is saving an empty file, but shouldn't be scaring you like that! I'll make sure the message doesn't appear in the next release.


#43

Oh.Thanks.So,player data shouldn't lose?


#44

No, it shouldn't be lost. If, however, it is a problem, I need to know about it, so please check and let me know if that's the case.


#45

OK.I have a problem.For example I have a world.It name is "spawn".The normal world name is "world".
I want to let player teleport the "spawn" when they use /spawn.
I use /setspawn but they are teleport to "world".No "spawn".
English no well.I hope you can read my scribble.:disappointed_relieved:


#46

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


Nucleus 0.24.0 is available for Sponge API 5.1 and Sponge API 6-SNAPSHOT. Documentation can be found at http://nucleuspowered.org/docs (command and permission references should already be up to date).

Note that there are now two builds for Nucleus. Use S5.1 for 1.10.2 servers, S6 for 1.11.2 servers. This is the build for 1.11.2

NucleusMixins, an optional companion plugin for Nucleus, is available for Sponge API 5 (Minecraft 1.10.2) servers, and will provide a workaround for /invsee not working as intended, and enhanced world generation by hooking into Minecraft internals (known as "NMS" to some players). It is entirely optional, and may not work on heavily modded servers. If you wish to turn off either the /invsee or enhanced world generation mixins, you can do so by setting the relavent option in mixins.conf.

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

Important Changes & Notices

Changes to the text parsing system

The big change for 0.24 is the way Text is parsed. This allows for a wealth of oppotunities, and the ability to cache messages more effectively. We no longer have to build complex text up from scratch.

Bear in mind there might be the odd formatting error. Please report them if you see them.

/invsee, addition of permission nucleus.invsee.modify.

This new permission allows server owners to set their staff to only being able to view an inventory. However, because this is a new permission, no-one (unless you've wildcarded) will have it, and you will need to add nucleus.invsee.modify to the appropriate groups.

Tightening of jails

So, something I hadn't realised is that I wasn't really protecting against jailed players being teleported out by /tphere. So, I've fixed that, and added a new Teleport event system to the API.

If you want to be able to teleport to jailed players, you now need the permission nucleus.jail.teleporttojailed. If you want to teleport players out but keep them jailed, you need the permission nucleus.jail.teleportjailed. Requests will never work against jailed players.

New Features

/broadcast and /plainbroadcast now accept tokens

Thanks to the new Text system, we can now do more powerful things with these commands. Adding a token (such as {{displayname}} or {{name}} to the message will now show each player a personalised message - the tokens will be parsed based on each player rather than the sender. The sender's name is accessible through the {{sender}} token.

This does not affect how the tokens for the prefix/suffix work - they will still be based on the sender.

Ability to turn more command aliases on/off in commands.conf

Until now, only some aliases for some commands could be switched on or off. This has been improved, so now nearly all secondary command aliases are controllable.

/invsee can now look but not touch!

This was covered in the important notices above, but to reiterate, /invsee now requires an extra permission nucleus.invsee.modify to change someone's inventory.

Inline warp descriptions

If you prefer, you can now display warp descriptions inline, rather than on hover. If you choose to do so (set warps.show-warp-description-in-list to true and reload), then the location and cost (if any) will be displayed in the hover instead.

/warps

Refreshed /jails and added /jails tp

The /jails list had not seen much work since the early days. It's now functionally equivelent to /warps, and a new command, /jails tp, has been introduced to warp to a jail.

/jails info no longer has any use as /jails holds all the information. It has been removed.

PlaceholderAPI integration (with a new plugin, Gluon)

Nucleus, with the help of a companion plugin, Gluon, will be able to hook into PlaceholderAPI and vice-versa. By installing Gluon, the tag {%placeholder%} will become available where placeholder is any PlaceholderAPI expression, and will be parsed by PlaceholderAPI. Similarly, with any plugin that uses PlaceholderAPI, the tag %nucleus_[id]% will become available, where [id] could be anything that would normally go in {{ }} tokens, such as displayname and o:rank, etc.

A 1.0.2 release of Gluon will be released to Ore shortly. It requires this version of Nucleus or higher, and PlaceholderAPI 3.5+ to run.

Refreshing players in the user cache

Occasionally, the Minecraft username cache gets out of sync with the rest of the system, and some commands that require a user fail. /nucleus getuser <UUID|Name> allows you to request updated information about a user from Mojangs server (via either a UUID or a current user name) and adds them to the cache - making them accessible again

New Permission contexts for jailed players

If a player is jailed, they will now have two extra contexts in their context set:

  • The nucleus_jailed context simply exists with value "true" if the player has been jailed.
  • The nucleus_jail context exists with the name of the jail they are in if they are jailed.

These contexts can be used to setup specialised permissions for when a player is in jail when using a compatable permissions plugin.

Developers - API updates

Repository: 'http://repo.drnaylor.co.uk/artifactory/list/minecraft'.
Dependency (1.10.2): 'io.github.nucleuspowered:nucleus-api:0.24.0-S5.1'
Dependency (1.11.2): 'io.github.nucleuspowered:nucleus-api:0.24.0-S6.0'

NucleusTextTemplates

NucleusTextTemplates is the basic object of how Nucleus now parses text. Other plugins can take advantage of them too, just create a template from the NucleusMessageTokenService. When you want to build the text using Nucleus tokens, you can call getForCommandSource(CommandSource) and Nucleus will put in all the tokens for you. There is also an overload to offer your own tokens for that message alone.

More Text Token API updates

In order to support Gluon, there are some new methods available for use:

  • getPrimaryTokens gets all primary tokens available
  • parseToken parses a token, regardless of whether it's a primary token or a plugin token
  • registerTokenFormat allows plugins to register their own token delimiters, like Gluon does for {% %}. This method basically allows for a translation from (in the Gluon example) {%token%} to something like {{pl:nucleus-gluon:token}}.

Read the JavaDocs for more information.

Added NucleusAPIMetaService

This service simply allows you to get the version of Nucleus this API was built for.

NucleusHomeService

A convenience method, modifyOrCreateHome, was added, which will update a home's location whether it has been created or not. Thanks to Mohron for his contribution!

NucleusTeleportEvent

Plugins can now prevent most teleportations and associated requests that Nucleus initiates, including the requests made by /tpa and /tpahere commands.

Minor Changes & Enhancements

  • Add ability to remove blue underlines from messages.
  • Add UUID to /world list
  • Make Nucleus fail more obviously if a module fails to load - as we reach 1.0 we now need stricter checks.

Bugfixes

  • Players can no longer teleport jailed players out of jail.
  • /warp now lets admins warp to warps that have names that are subsets of currently logged on players.
  • Enchantment data is now read correctly for items in kits.
  • Fix home service not registering.
  • Fix broken tab completion with /warp category * commands

Known Issues

  • /invsee does not work unless you are within 8 blocks of the target player. Use NucleusMixins to workaround this - though this currently doesn't work for some heavily modded servers. If you have more information, please add it there.
  • Some players are finding that enhanced pre-generation isn't giving output. This will work fine in 1.11.x.
  • There is an API, but this is subject to change.
  • 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


#47

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


Nucleus 0.24.0 is available for Sponge API 5.1 and Sponge API 6-SNAPSHOT. Documentation can be found at http://nucleuspowered.org/docs (command and permission references should already be up to date).

Note that there are now two builds for Nucleus. Use S5.1 for 1.10.2 servers, S6 for 1.11.2 servers. This is the build for 1.10.2

NucleusMixins, an optional companion plugin for Nucleus, is available for Sponge API 5 (Minecraft 1.10.2) servers, and will provide a workaround for /invsee not working as intended, and enhanced world generation by hooking into Minecraft internals (known as "NMS" to some players). It is entirely optional, and may not work on heavily modded servers. If you wish to turn off either the /invsee or enhanced world generation mixins, you can do so by setting the relavent option in mixins.conf.

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

Important Changes & Notices

Changes to the text parsing system

The big change for 0.24 is the way Text is parsed. This allows for a wealth of oppotunities, and the ability to cache messages more effectively. We no longer have to build complex text up from scratch.

Bear in mind there might be the odd formatting error. Please report them if you see them.

/invsee, addition of permission nucleus.invsee.modify.

This new permission allows server owners to set their staff to only being able to view an inventory. However, because this is a new permission, no-one (unless you've wildcarded) will have it, and you will need to add nucleus.invsee.modify to the appropriate groups.

Tightening of jails

So, something I hadn't realised is that I wasn't really protecting against jailed players being teleported out by /tphere. So, I've fixed that, and added a new Teleport event system to the API.

If you want to be able to teleport to jailed players, you now need the permission nucleus.jail.teleporttojailed. If you want to teleport players out but keep them jailed, you need the permission nucleus.jail.teleportjailed. Requests will never work against jailed players.

New Features

/broadcast and /plainbroadcast now accept tokens

Thanks to the new Text system, we can now do more powerful things with these commands. Adding a token (such as {{displayname}} or {{name}} to the message will now show each player a personalised message - the tokens will be parsed based on each player rather than the sender. The sender's name is accessible through the {{sender}} token.

This does not affect how the tokens for the prefix/suffix work - they will still be based on the sender.

Ability to turn more command aliases on/off in commands.conf

Until now, only some aliases for some commands could be switched on or off. This has been improved, so now nearly all secondary command aliases are controllable.

/invsee can now look but not touch!

This was covered in the important notices above, but to reiterate, /invsee now requires an extra permission nucleus.invsee.modify to change someone's inventory.

Inline warp descriptions

If you prefer, you can now display warp descriptions inline, rather than on hover. If you choose to do so (set warps.show-warp-description-in-list to true and reload), then the location and cost (if any) will be displayed in the hover instead.

/warps

Refreshed /jails and added /jails tp

The /jails list had not seen much work since the early days. It's now functionally equivelent to /warps, and a new command, /jails tp, has been introduced to warp to a jail.

/jails info no longer has any use as /jails holds all the information. It has been removed.

PlaceholderAPI integration (with a new plugin, Gluon)

Nucleus, with the help of a companion plugin, Gluon, will be able to hook into PlaceholderAPI and vice-versa. By installing Gluon, the tag {%placeholder%} will become available where placeholder is any PlaceholderAPI expression, and will be parsed by PlaceholderAPI. Similarly, with any plugin that uses PlaceholderAPI, the tag %nucleus_[id]% will become available, where [id] could be anything that would normally go in {{ }} tokens, such as displayname and o:rank, etc.

A 1.0.2 release of Gluon will be released to Ore shortly. It requires this version of Nucleus or higher, and PlaceholderAPI 3.5+ to run.

Refreshing players in the user cache

Occasionally, the Minecraft username cache gets out of sync with the rest of the system, and some commands that require a user fail. /nucleus getuser <UUID|Name> allows you to request updated information about a user from Mojangs server (via either a UUID or a current user name) and adds them to the cache - making them accessible again

New Permission contexts for jailed players

If a player is jailed, they will now have two extra contexts in their context set:

  • The nucleus_jailed context simply exists with value "true" if the player has been jailed.
  • The nucleus_jail context exists with the name of the jail they are in if they are jailed.

These contexts can be used to setup specialised permissions for when a player is in jail when using a compatable permissions plugin.

Developers - API updates

Repository: 'http://repo.drnaylor.co.uk/artifactory/list/minecraft'.
Dependency (1.10.2): 'io.github.nucleuspowered:nucleus-api:0.24.0-S5.1'
Dependency (1.11.2): 'io.github.nucleuspowered:nucleus-api:0.24.0-S6.0'

NucleusTextTemplates

NucleusTextTemplates is the basic object of how Nucleus now parses text. Other plugins can take advantage of them too, just create a template from the NucleusMessageTokenService. When you want to build the text using Nucleus tokens, you can call getForCommandSource(CommandSource) and Nucleus will put in all the tokens for you. There is also an overload to offer your own tokens for that message alone.

More Text Token API updates

In order to support Gluon, there are some new methods available for use:

  • getPrimaryTokens gets all primary tokens available
  • parseToken parses a token, regardless of whether it's a primary token or a plugin token
  • registerTokenFormat allows plugins to register their own token delimiters, like Gluon does for {% %}. This method basically allows for a translation from (in the Gluon example) {%token%} to something like {{pl:nucleus-gluon:token}}.

Read the JavaDocs for more information.

Added NucleusAPIMetaService

This service simply allows you to get the version of Nucleus this API was built for.

NucleusHomeService

A convenience method, modifyOrCreateHome, was added, which will update a home's location whether it has been created or not. Thanks to Mohron for his contribution!

NucleusTeleportEvent

Plugins can now prevent most teleportations and associated requests that Nucleus initiates, including the requests made by /tpa and /tpahere commands.

Minor Changes & Enhancements

  • Add ability to remove blue underlines from messages.
  • Add UUID to /world list
  • Make Nucleus fail more obviously if a module fails to load - as we reach 1.0 we now need stricter checks.

Bugfixes

  • Players can no longer teleport jailed players out of jail.
  • /warp now lets admins warp to warps that have names that are subsets of currently logged on players.
  • Enchantment data is now read correctly for items in kits.
  • Fix home service not registering.
  • Fix broken tab completion with /warp category * commands

Known Issues

  • /invsee does not work unless you are within 8 blocks of the target player. Use NucleusMixins to workaround this - though this currently doesn't work for some heavily modded servers. If you have more information, please add it there.
  • Some players are finding that enhanced pre-generation isn't giving output. This will work fine in 1.11.x.
  • There is an API, but this is subject to change.
  • 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


#48

For ease:

If you use Nucleus and PlaceholderAPI:


#49

I'm having multiple errors.

1). The join message is busted. It shows the default join message and the config even has a custom one set.

2). When banning, kicking, muting, & jailing/unjailing throws an error. No error shows in console though.

Forge 2221
SpongeForge 2160 (API 5.1.0)
Nucleus 0.24.0 (S5.1)


#50

Can you either post or screenshot this error?


#51


#52

The join message will be fixed, about to post an update.

Go to main.conf, turn debug mode on (core.debug-mode to true) and /nucleus reload, then try again. Console will probably spit something out this time.


#53

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


This is a bug fix release for Nucleus. For the new features in the 0.24.x series, please read the 0.24.0 release notes.

No APIs have been changed. Developers can continue to use any 0.24 version to build against.

  • Fixed error where some broadcast templates used the server, rather than the viewing player, as the context for a token.
  • Fixes issue where the join message was not replaced correctly
  • Fixes breakage due to Sponge 5.1(!) and 6 breakages.

This is the build for 1.11.2


#54

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


This is a bug fix release for Nucleus. For the new features in the 0.24.x series, please read the 0.24.0 release notes.

No APIs have been changed. Developers can continue to use any 0.24 version to build against.

  • Fixed error where some broadcast templates used the server, rather than the viewing player, as the context for a token.
  • Fixes issue where the join message was not replaced correctly
  • Fixes breakage due to Sponge 5.1(!) and 6 breakages.

This is the build for 1.10.2


#55

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


This is a bug fix release for Nucleus. For the new features in the 0.24.x series, please read the 0.24.0 release notes.

No APIs have been changed. Developers can continue to use any 0.24 version to build against.

  • Fixed error where kits could not be saved or redeemed when they have enchantments or other metadata.
  • Fixes issue where first join actions don't execute on a player who has never joined before, but was trying to log in under whitelist conditions.
  • Typographical fixes

This is the build for 1.11.2


#56

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


This is a bug fix release for Nucleus. For the new features in the 0.24.x series, please read the 0.24.0 release notes.

No APIs have been changed. Developers can continue to use any 0.24 version to build against.

  • Fixed error where kits could not be saved or redeemed when they have enchantments or other metadata.
  • Fixes issue where first join actions don't execute on a player who has never joined before, but was trying to log in under whitelist conditions.
  • Typographical fixes

This is the build for 1.10.2


#57

Greetings everyone.

Just wanted to let you know that there's currently an issue with /kits in the version 0.24.2. I would suggest going back to version 0.23.2 if you have enchanted kits, or 0.24.1 if you don't. @dualspiral is currently at work, but he will be fixing this later tonight. Please wait for 0.24.3 Thanks!

Join us on discord btw for quicker updates: https://discord.gg/MC2mAuS43


#58

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


This is a bug fix release for Nucleus. For the new features in the 0.24.x series, please read the 0.24.0 release notes. Please take a backup of Nucleus data before upgrading.

No APIs have been changed. Developers can continue to use any 0.24 version to build against.

  • Fixed error where kits and item information was not being loaded.
  • Fixed issue with /rtp not loading chunks before searching an area for a safe space when surface-only is set to true.

This build is for 1.11.2


#59

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


This is a bug fix release for Nucleus. For the new features in the 0.24.x series, please read the 0.24.0 release notes. Please take a backup of Nucleus data before upgrading.

No APIs have been changed. Developers can continue to use any 0.24 version to build against.

  • Fixed error where kits and item information was not being loaded.
  • Fixed issue with /rtp not loading chunks before searching an area for a safe space when surface-only is set to true.

#60


:confounded: