0.26.0-S5.1

Release

Nucleus released this version on Mar 12, 2017

3.5 MB
Download

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

Commit History

Dependencies