Releases: NucleusPowered/Nucleus
Version 0.24.1 (for 1.10.2 and 1.12)
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.
Version 0.24.0 (for 1.10.2 and 1.12)
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. Downloads are at the bottom of the page.
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.
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, 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 attached here. 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 availableparseToken
parses a token, regardless of whether it's a primary token or a plugin tokenregisterTokenFormat
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 (#506). If you have more information, please add it there.- Some players are finding that enhanced pre-generation isn't giving output (#528). 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
What do I need to download?
I'm using Minecraft 1.10.2
- Download Nucleus-0.24.0-1.10.2-S5.1-plugin.jar
- We recommend you try NucleusMixins: NucleusMixins-0.15.0-S5-mixinplugin.jar
I'm using Minecraft 1.11.2
Download Nucleus-0.24.0-1.11.2-S6.0-plugin.jar
I'm also using PlaceholderAPI 3.5 or above
In addition, download NucleusGluon-1.0.2.jar
Version 0.24.0-PR1 (for 1.10.2 and 1.12)
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 stable testing build for testing the new Text templating system
This is the first pre-release for 0.24.x. It is anticipated that this will be representative of the 0.24 release.
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.
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.
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, 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 release of Gluon will be attached here. It requires this version of Nucleus or higher, and PlaceholderAPI 3.4 to run.
Developers - API updates
Repository: 'http://repo.drnaylor.co.uk/artifactory/list/minecraft'.
Dependency (1.10.2): 'io.github.nucleuspowered:nucleus-api:0.24.0-PR1-S5.1'
Dependency (1.11.2): 'io.github.nucleuspowered:nucleus-api:0.24.0-PR1-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 availableparseToken
parses a token, regardless of whether it's a primary token or a plugin tokenregisterTokenFormat
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!
Minor Changes & Enhancements
- Add ability to remove blue underlines from messages.
- Add UUID to /world list
Bugfixes
/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 (#506). If you have more information, please add it there.- Some players are finding that enhanced pre-generation isn't giving output (#528). 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
Downloads
Note that there are now two downloads for Sponge 5/1.10.2 servers. The mixinplugin is optional, but recommended, particularly for vanilla servers.
Version 0.23.2 (for 1.10.2 and 1.12)
This is a bug fix release for Nucleus. For the new features in the 0.23.x series, please read the 0.23.0 release notes.
No APIs have been changed. Developers can continue to use any 0.23 version to build against.
- Fixes an error where
/tppos
was using the x coordinate for the z coordinate - Added option to remove the blue underline Minecraft adds to chat when it thinks it detects a link (Nucleus takes this over, so it's not needed most of the time)
Version 0.23.1 (for 1.10.2 and 1.12)
This is a bug fix release for Nucleus. For the new features in the 0.23.x series, please read the 0.23.0 release notes. No new features have been added, no APIs have been changed.
- Fixes an error with some message templates.
Version 0.23.0 (for 1.10.2 and 1.12)
Nucleus 0.23.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.
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 internal data handlers
The big change for 0.23 is the way the data files are read and written. Server owners do not need to care about this, but please consider taking a backup of the /nucleus
data folder before updating.
Permission changes: other
becomes others
Some commands have permissions that allow you to act upon others. There was a horrible mix of *.other
and *.others
permissions - this has been rationalised and now, the standard suffix for targetting others is *.others
. This might break some permission setups, but this allows for better consistency going forward.
New Features
Descriptions for Warps and Warp Categories
Warp categories now have descriptions and display names, which also accept colour codes. They will be displayed on the /warps
list, and can be managed using the following commands.
/warp category list
- lists all categories/warp category setdisplayname [category] [& encoded name]
- sets a display name for a category./warp category setdescription [category] [& encoded description]
- sets a description for a category./warp category removedisplayname [category]
- removes the display name for a category./warp category removedescription [category]
- removes the description for a category.
Running the following commands for my "test" category:
/warp category setdisplayname test "&4Test &7Category"
/warp category setdescription test "&bThis is a <est description"
gives me the following.
Warps can also have their own description, but for space reasons, these descriptions will be put into the hover that appears when you hover over a warp link. They can be set using the following command (or use -r
to remove the description):
/warp setdescription [-r] [warp] [& encoded description]
So, on my warp "hello2", I could run the command /warp setdescription hello2 "This is the warp location &awhere you will be greeted with a sunny disposition and a gentle wave of a hand!"
to get:
Console can now bypass exemption permissions
In main.conf
, a new option has been added: core.console-overrides-exemptions
. This defaults to true - the console now has permission to override a player's specific exemption permissions (such as ban exemptions, etc.). If you would rather the console did not have these permissions (for those of you that might share the console), you can set this to false
to retain original behaviour.
Updates to staff chat
Staff chat is now consistent whether you use /sc
to toggle or /sc message
to send a one-off message. Server owners can now control whether staff chat is formatted like Nucleus chat or not by setting the option staff-chat.include-standard-chat-formatting
/tppos
to chunks!
/tppos
now has a -c
flag, which, if specified, will let you teleport to a specified chunk. Usage: /tppos -c <chunk co-ords>
.
Selecting ALL the selectors!
@a
will be pleased to know that you can now use standard Minecraft selectors in more Nucleus commands - including those that allowed you to use a nickname! However, I have removed individual permission support for each selector type - if you can target a player, you can use a selector (unless Sponge restricts it in some way, I'm not sure).
A side effect is that /lightning
and /kill
also accept the @e
selector.
Any Nucleus selectors you were using will no longer function if they look different to Minecraft's selectors.
Presets (WorldArchetypes
) in /world create
By using the -p
flag, you can now specify a preset world type - to create a void world, you can now run /world create -p the_void <name>
, and to create a skylands world, /world create -p the_skylands <name>
. Other presets might be available.
/ban
and /seen
by UUID.
You can now ban a player, or look up their info, by using a UUID as the argument.
Sprucing up the usage/help window
Subcommands and command arguments are now separate. Subcommands can be clicked to suggest the command, or shift clicked to suggest the help command.
Any command that is simply a parent for subcommand (like /world
) will now display this usage instead of the old error message.
This separation will make its way to the docs site shortly.
Developers - API updates
Repository: 'http://repo.drnaylor.co.uk/artifactory/list/minecraft'.
Dependency (1.10.2): 'io.github.nucleuspowered:nucleus-api:0.23.0-S5.1'
Dependency (1.11.2): 'io.github.nucleuspowered:nucleus-api:0.23.0-S6.0'
Javadocs: http://jd.nucleuspowered.org/
Please note that any interface ending in the word Service
is obtainable during GamePostInitializationEvent
(on orders of EARLY or later), or at any point past this.
Updated: NucleusMessageTokenService
(Text Token API)
I realised that it was somewhat unfair of me to relegate plugins to a "second class" token (like {{pl:nucleus:token}}
, so I've added a way to add what I call primary tokens. Now, you can register IDs with the NucleusMessageTokenService
. Register your token provider like normal, use registerPrimaryToken
to register your preferred alias! So, if you register token
for your plugin with id plugin
and identifier token
, {{token}}
becomes an alias for {{pl:plugin:token}}
.
You can also account for variables too. If you register {{token}}
, you will also recieve any token that starts with {{token|
- so {{token|data}}
will be translated to {{pl:plugin:token|data}}
, and your TokenParser
will recieve token|data
.
Updated: Warp API
Addition of Warp Category methods
New methods have been added to the NucleusWarpService
to allow developers to access the warp/warp category descriptions and display names.
Notice of Deprecation
The following previously marked Stable
methods on NucleusWarpService
have been deprecated. They will be removed in a future version of Nucleus.
Map<String, List<Warp>> getCategorisedWarps()
Map<String, List<Warp>> getCategorisedWarps(Predicate<Warp>)
Their replacements are as follows:
Map<WarpCategory, List<Warp>> getWarpsWithCategories()
Map<WarpCategory, List<Warp>> getWarpsWithCategories(Predicate<Warp>)
New: AFK API
The AFK API has two components
NucleusAFKService
This service allows plugins to probe information about a player's AFK status, when their last activity was, and whether or not they can go AFK or be kicked.
AFK Events
There are events to monitor when a player goes AFK, returns from AFK, and when they are about to be kicked for being inactive for too long.
New: Server Shop API
The NucleusServerShopService
allows you to get the current buy and sell prices for items you specify.
Minor updates
- Added API:
NucleusNoIgnoreChannel
- any channel that implements this interface will not be processed by theignore
module - that is, these messages cannot be ignored. - Updated API:
NucleusNoFormatChannel
- there are now two functions that controls what thechat
module will do with the messages.
Minor Changes & Enhancements
- First join date is now viewable on
/seen
even if the player is offline. - Enable tab completion of player names in /bc, /sc, /me
- Add
others
permission to/tppos
- Added
namestyle
option for usernames, works in the same way aschatstyle
. - Make it more obvious when startup fails due to a config error.
- All negative weights for
/list
groups - Add ability to disable commands intended for specific implementations of Sponge.
- Allow tab completion of user names in
/me
,/bc
,/sc
.
Bugfixes
/me
and/sc
now let you use double quote marks in messages.- Prevent flying on world switch if the player does not have permission in the new world.
- If enabled, force first spawn location on tick after join - fixing issues where a player might not spawn in the expected place when they join for the first time.
/kickall
now actually supports-w
for whitelisting a server.
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 (#506). If you have more information, please add it there.- Some players are finding that enhanced pre-generation isn't giving output (#528). This will work fine in 1.11.x.
- Sometimes, an incorrect custom prefix might be selected. Nucleus uses whatever the permission p...
Version 0.23.0-PR2 (for 1.10.2 and 1.12)
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 stable testing build for testing the new Data modularisation system and other internal optimisations
This is the second pre-release for 0.23.x. It is anticipated that this will be representative of the 0.23 release.
If you're having trouble, visit our Discord channel: https://discord.gg/MC2mAuS
Important Changes & Notices
Changes to the internal data handlers
The big change for 0.23 is the way the data files are read and written. If all goes well, server owners will not care, no migration steps are required. The new system is for ongoing maintainence. However, please keep an eye on performance, and keep a backup before using this! I strongly advise you test this on a small-ish test base first.
PR2: I fixed an error with muting players - but that seems to be the only problem I've found so far.
Permission changes: other
becomes others
Some commands have permissions that allow you to act upon others. There was a horrible mix of *.other
and *.others
permissions - this has been rationalised and now, the standard suffix for targetting others is *.others
. This might break some permission setups, but this allows for better consistency going forward.
New Features
PR2: Descriptions for Warps and Warp Categories
Warp categories now have descriptions and display names, which also accept colour codes. They will be displayed on the /warps
list, and can be managed using the following commands.
/warp category list
- lists all categories/warp category setdisplayname [category] [& encoded name]
- sets a display name for a category./warp category setdescription [category] [& encoded description]
- sets a description for a category./warp category removedisplayname [category]
- removes the display name for a category./warp category removedescription [category]
- removes the description for a category.
Warps can also have their own description, but for space reasons, these descriptions will be put into the hover that appears when you hover over a warp link. They can be set using the following command (or use -r
to remove the description):
/warp setdescription [-r] [warp] [& encoded description]
PR2: Console can now bypass exemption permissions
In main.conf
, a new option has been added: core.console-overrides-exemptions
. This defaults to true - the console now has permission to override a player's specific exemption permissions (such as ban exemptions, etc.). If you would rather the console did not have these permissions (for those of you that might share the console), you can set this to false
to retain original behaviour.
Updates to staff chat
Staff chat is now consistent whether you use /sc
to toggle or /sc message
to send a one-off message. Server owners can now control whether staff chat is formatted like Nucleus chat or not by setting the option staff-chat.include-standard-chat-formatting
/tppos
to chunks!
/tppos
now has a -c
flag, which, if specified, will let you teleport to a specified chunk. Usage: /tppos -c <chunk co-ords>
.
Selecting ALL the selectors!
@a
will be pleased to know that you can now use standard Minecraft selectors in more Nucleus commands - including those that allowed you to use a nickname! However, I have removed individual permission support for each selector type - if you can target a player, you can use a selector (unless Sponge restricts it in some way, I'm not sure).
A side effect is that /lightning
and /kill
also accept the @e
selector.
Any Nucleus selectors you were using will no longer function if they look different to Minecraft's selectors.
Presets (WorldArchetypes
) in /world create
By using the -p
flag, you can now specify a preset world type - to create a void world, you can now run /world create -p the_void <name>
, and to create a skylands world, /world create -p the_skylands <name>
. Other presets might be available.
Developers - API updates
Repository: 'http://repo.drnaylor.co.uk/artifactory/list/minecraft'.
Dependency (1.10.2): 'io.github.nucleuspowered:nucleus-api:0.23.0-S5.1-PR2'
Dependency (1.11.2): 'io.github.nucleuspowered:nucleus-api:0.23.0-S6.0-PR2'
PR2: Text Token API updates
I realised that it was somewhat unfair of me to relegate plugins to a "second class" token (like {{pl:nucleus:token}}
, so I've added a way to add what I call primary tokens. Now, you can register IDs with the NucleusMessageTokenService
. Register your token provider like normal, use registerPrimaryToken
to register your preferred alias! So, if you register token
for your plugin with id plugin
and identifier token
, {{token}}
becomes an alias for {{pl:plugin:token}}
.
You can also account for variables too. If you register {{token}}
, you will also recieve any token that starts with {{token|
- so {{token|data}}
will be translated to {{pl:plugin:token|data}}
, and your TokenParser
will recieve token|data
.
Updated Warp API
Addition of Warp Category methods
New methods have been added to the NucleusWarpService
to allow developers to access the warp/warp category descriptions and display names.
Notice of Deprecation
The following previously marked Stable
methods on NucleusWarpService
have been deprecated. They will be removed in a future version of Nucleus.
Map<String, List<Warp>> getCategorisedWarps()
Map<String, List<Warp>> getCategorisedWarps(Predicate<Warp>)
Their replacements are as follows:
Map<WarpCategory, List<Warp>> getWarpsWithCategories()
Map<WarpCategory, List<Warp>> getWarpsWithCategories(Predicate<Warp>)
Minor updates
- Added API:
NucleusNoIgnoreChannel
- any channel that implements this interface will not be processed by theignore
module - that is, these messages cannot be ignored. - Updated API:
NucleusNoFormatChannel
- there are now two functions that controls what thechat
module will do with the messages.
Minor Changes & Enhancements
- PR2: First join date is now viewable on
/seen
even if the player is offline. - PR2: Enable tab completion of player names in /bc, /sc, /me
- PR2: Add
others
permission to/tppos
- Added
namestyle
option for usernames, works in the same way aschatstyle
. - Make it more obvious when startup fails due to a config error.
- All negative weights for
/list
groups - Add ability to disable commands intended for specific implementations of Sponge.
Bugfixes
/me
and/sc
now let you use double quote marks in messages.- Prevent flying on world switch if the player does not have permission in the new world.
- If enabled, force first spawn location on tick after join - fixing issues where a player might not spawn in the expected place when they join for the first time.
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 (#506). If you have more information, please add it there.- Some players are finding that enhanced pre-generation isn't giving output (#528). 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
Downloads
Note that there are now two downloads for Sponge 5/1.10.2 servers. The mixinplugin is optional, but recommended, particularly for vanilla servers.
Version 0.23.0-PR1 (for 1.10.2 and 1.11)
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 stable testing build for testing the new Data modularisation system.
This is the first pre-release for 0.23.x. There may be more to come for 0.23.x.
If you're having trouble, visit our Discord channel: https://discord.gg/MC2mAuS
IMPORTANT: Changes to the internal data handlers
The big change for 0.23 is the way the data files are read and written. If all goes well, server owners will not care, no migration steps are required. The new system is for ongoing maintainence. However, please keep an eye on performance, and keep a backup before using this! I strongly advise you test this on a small-ish test base first.
Developers: API updates
Repository: 'http://repo.drnaylor.co.uk/artifactory/list/minecraft'.
Dependency (for this version): 'io.github.nucleuspowered:nucleus-api:0.23.0-S5.1-PR1'
- Added API:
NucleusNoIgnoreChannel
- any channel that implements this interface will not be processed by theignore
module - that is, these messages cannot be ignored. - Updated API:
NucleusNoFormatChannel
- there are now two functions that controls what thechat
module will do with the messages.
Updates to staff chat
Staff chat is now consistent whether you use /sc
to toggle or /sc message
to send a one-off message. Server owners can now control whether staff chat is formatted like Nucleus chat or not by setting the option staff-chat.include-standard-chat-formatting
/tppos
to chunks!
/tppos
now has a -c
flag, which, if specified, will let you teleport to a specified chunk. Usage: /tppos -c <chunk co-ords>
.
Selecting ALL the selectors!
@a
will be pleased to know that you can now use standard Minecraft selectors in more Nucleus commands - including those that allowed you to use a nickname! However, I have removed individual permission support for each selector type - if you can target a player, you can use a selector (unless Sponge restricts it in some way, I'm not sure).
A side effect is that /lightning
and /kill
also accept the @e
selector.
Any Nucleus selectors you were using will no longer function if they look different to Minecraft's selectors.
Presets (WorldArchetypes
) in /world create
By using the -p
flag, you can now specify a preset world type - to create a void world, you can now run /world create -p the_void <name>
, and to create a skylands world, /world create -p the_skylands <name>
. Other presets might be available.
Other minor features are:
- Added
namestyle
option for usernames, works in the same way aschatstyle
. - Make it more obvious when startup fails due to a config error.
- All negative weights for
/list
groups - Add ability to disable commands intended for specific implementations of Sponge.
There has also been a few bugfixes in this release:
/me
and/sc
now let you use double quote marks in messages.- Prevent flying on world switch if the player does not have permission in the new world.
- If enabled, force first spawn location on tick after join - fixing issues where a player might not spawn in the expected place when they join for the first time.
There are some known issues and things that you should be aware of:
/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 (#506). If you have more information, please add it there.- Some players are finding that enhanced pre-generation isn't giving output (#528). 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.
A note on GeoIP
GeoIP is disabled by default, and once enabled, will require you accept the third party library licences that are now included in the Jar. We ask that you use the feature responsibly, while we display public data, we understand the privacy concerns.
To use GeoIP, set modules.geo-ip
to ENABLED
and restart, then set geo-ip.accept-licences
to true
and run /nucleus reload
. The command /geoip update
and /geoip <player>
will be available to you, requiring the nucleus.geoip.base
permission. To display information on login to staff, grant the permission nucleus.geoip.login
.
See http://nucleuspowered.org/thirdparty/geoip.html
Commit history:
For best results please use the latest SpongeForge or SpongeVanilla builds. Fixes that have been added to SpongeForge/SpongeVanilla include those discovered during Nucleus development - using newer builds will ensure that Nucleus runs smoother on your servers! Before reporting issues, make sure you are running these latest builds!
Leave your feedback, issues, complaints and feature requests on the forum post or in GitHub issues. This release was created with the help of those who test and report issues, thanks to everyone who played a part!
Downloads
Note that there are now two downloads for Sponge 5/1.10.2 servers. The mixinplugin is optional, but recommended, particularly for vanilla servers.
Version 0.22.0 (for 1.10.2 and 1.11)
Nucleus 0.22.0 is available for Sponge API 5.1 and is compatible with current builds for 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.
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 NOTE (from 0.21.0)
I've tightened an item ID check, so some items that you may have used in the shop module, for example, may no longer work and need to be redefined. Indeed, they may not be, but this is to ensure consistency in the future. Sorry for any inconvenience.
Developers: API updates
Repository: 'http://repo.drnaylor.co.uk/artifactory/list/minecraft'.
Dependency (for this version): 'io.github.nucleuspowered:nucleus-api:0.22.0-S5.1'
- Added
NucleusFirstJoinEvent
to allow other plugins to detect when Nucleus thinks a player has joined for the first time. - Added
NucleusChatChannel
andNucleusNoFormatChannel
for plugin developers to detect when Staff Chat or/me
is being used (seeNucleusChatChannel
subinterfaces) and theNucleusNoFormatChannel
to determine when Nucleus won't touch a message.
List has been turbocharged. Again
More bug fixes here, but /list
should now use the weights properly. I've written tests to make sure this worked properly this time!
BETA: Added support for disabling player-player collisions
Just turn it on within the protection module. However, it's seen limited testing, and feedback on this feature will be helpful.
Enhanced /exp
commands
You can now use levels in /exp give
and /exp take
. You can specify that you are using levels by either placing an L
before or after the number, (/exp give dualspiral L30
or /exp take dualspiral 30L
will both work
Other minor features in this release:
- Added logon message when a player changes their Minecraft IGN.
There has also been a few bugfixes in this release:
- Fixed a problem with first join being fired repeatedly.
- Fixed
/tpa
and/tpahere
sending requests to those who disabled teleport requests. (/tptoggle
)
There are some known issues and things that you should be aware of:
/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 and beyond once I add support for it.
- While we don't plan to make changes to the data files, things might change. These will be stabilised by 1.0
- Sometimes, an incorrect custom prefix might be selected. Nucleus uses whatever the permission plugin hands back, check your inheritance with the permissions plugin.
A note on GeoIP
GeoIP is disabled by default, and once enabled, will require you accept the third party library licences that are now included in the Jar. We ask that you use the feature responsibly, while we display public data, we understand the privacy concerns.
To use GeoIP, set modules.geo-ip
to ENABLED
and restart, then set geo-ip.accept-licences
to true
and run /nucleus reload
. The command /geoip update
and /geoip <player>
will be available to you, requiring the nucleus.geoip.base
permission. To display information on login to staff, grant the permission nucleus.geoip.login
.
See http://nucleuspowered.org/thirdparty/geoip.html
Commit history:
For best results please use the latest SpongeForge or SpongeVanilla builds. Fixes that have been added to SpongeForge/SpongeVanilla include those discovered during Nucleus development - using newer builds will ensure that Nucleus runs smoother on your servers! Before reporting issues, make sure you are running these latest builds!
Leave your feedback, issues, complaints and feature requests on the forum post or in GitHub issues. This release was created with the help of those who test and report issues, thanks to everyone who played a part!
Downloads
Note that there are now two downloads for Sponge 5/1.10.2 servers. The mixinplugin is optional, but recommended, particularly for vanilla servers.
Version 0.21.1 (for 1.10.2 and 1.11)
This is a bug fix release:
- Fixes
/sudo <player> c:
adding an extra prefix. - Fixes issues with AFK messages and
/vanish
For more information on the 0.21.x releases, please see the 0.21.0 annoucement.