This build is for 1.10.2 servers
Nucleus 0.26.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.
Nucleus Mixins, 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
.
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.
If you’re having trouble, visit our Discord channel: https://discord.gg/MC2mAuS
Important Changes & Notices
Using NucleusMixins? Make sure it’s in the mods
directory.
We finally got to the bottom of NucleusMixins not working on heavily modded servers - something that I hadn’t appreciated was that Sponge also has a plugins
directory, but NucleusMixins is seen as a “tweaker” to Forge and must be in the mods
folder. So, if you are using NucleusMixins - put it in the mods
directory.
New Features
World pre-generation updates
The flag -t [percentage]
has been added to the pre-generation command. This allows server owners to specify how much time in a tick can be dedicated to pre-generation. 100 indicates the full tick, 0 indicates none of the tick. The default is 80, or 90 for aggressive mode.
Some extra memory management is also performed, including hinting to the Java runtime when to try to reclaim some memory. This will only work if you do not specify the -XX:+DisableExplicitGC
java flag. Nucleus usually does not try to tell the JVM when to perform garbage collections, but in this case, we provide the hint to try to bring memory usage down and prevent server freezing.
Minor issues with this command have also been fixed on Miencraft 1.10.2 servers.
/getbyip
, /checkjailed
and /checkmuted
On the first install of Nucleus 0.26, a task will be started (async!) to scan all users currently in the Nucleus system and create a cache of these users. This cache will allow users to use the following commands:
/getbyip [ip]
: list all users last seen on the specified IP address./checkjailed [jail]
: list all users in jail, or optionally, the specified jail./checkmuted
: list all muted players.
In each case, the names in the resulting list can be clicked to run /seen [player]
, /checkmute [player]
or /checkjail [player]
.
If the cache appears to get out of sync, the command /nucleus rebuildusercache
can be run to rebuild this cache. Please give it a bit of time on first startup though, while players can join during this time, these functions need time to build up the cache.
Enhanced /nucleus info
Now, /nucleus info
will display all command aliases, not just the primary aliases.
Added Death Messages module
This module can do one of two things:
- Disable all death messages
- Force death messages to be visible to everyone regardless of the message channel a player is in
There are future plans to add more functionallity to this module.
Updated /weather
Thanks to @OblivionNW, you can now specify a maximum time that can be specified in the command in main.conf
. This can of course be bypassed by those with the nucleus.weather.exempt.length
permission.
Tweaked command logging defaults
Based on support feedback, command logging will by default no longer log command block commands. This does not affect existing installations.
Developers - API updates
This is another fairly large update for developers, mostly with requested features this time!
Repository: ‘http://repo.drnaylor.co.uk/artifactory/list/minecraft’. Dependency (1.10.2): ‘io.github.nucleuspowered:nucleus-api:0.26.0-S5.1’ Dependency (1.11.2): ‘io.github.nucleuspowered:nucleus-api:0.26.0-S6.0’
Messages can now have a custom command source
A requested feature for those writing bots is the ability to hook up their bots with our message system. There is a new registerMessageTarget
method in the NucleusPrivateMessageService
where developers can register their bots. They must extend Identifiable
AND CommandSource
, and keep a constant UUID throughout.
Once registered, they can be used as a target for /m using the supplier targetName, and can see who they will respond to in the API.
Also, custom targets have their own social spy levels.
AFK: Plugins can disable the activity check for a short period of time.
You can now disable activity tracking to perform an action with a player that would normally cause them to leave AFK
. There is a new method on NucleusAFKService
, service.disableTrackingFor(player, ticks)
where Nucleus will stop tracking a player for the specified number of ticks. This returns an AutoClosable
object, so can be used in a try with resources
construct, for example:
try (AutoCloseable ac = service.disableTrackingFor(player)) { // Disables tracking.
player.simulateChat(Text.of("test"), Cause.of(NamedCause.owner(player))); // This goes through without disabling AFK
} catch (Exception e) {
// ignored - it won't throw.
}
You can also disable tracking for a number of ticks, usually useful for players who get moved and may have slight adjustments that occur over the next few ticks:
service.disableTrackingFor(player, 20)
player.setLocation(player.getWorld().getSpawnLocation());
AFK tracking will reactivate after the number of ticks specified.
Added events for when kits are redeemed
The following events were added:
NucleusKitEvent.Redeem.Pre
- fired before kits are provided but not fired if permission checks are not being made. This is cancellable.NucleusKitEvent.Redeem.Post
- fired when a kit is given succesfullyNucleusKitEvent.Redeem.Failed
- fired when a kit could not be given
Minor Changes & Enhancements
- Allow freezing/unfreezing offline players.
- Added
/getpos
for offline players. - Added optional player argument to
/firstjoinkit redeem
(thanks @OblivionNW) - Move much of the Nucleus Configurate code into its own library - Neutrino.
- Throw nicer error message if offline /invsee is tried (which will work once Sponge supports it).
- Updated QSML to 0.5
Bugfixes
- Fixed modifyOrCreateHome only attempting to modifyHome (thanks @Mohron)
- Fixed
/ignore
not working in chat - Worked around armour disappearing when some kits could not be redeemed
- Fixed some commands not autocompleting properly
Known Issues
/invsee
does not work unless you are within 8 blocks of the target player. Use NucleusMixins to workaround this.- 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.