Nucleus - The Ultimate Essentials Plugin

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


The Ultimate Essentials Plugin.

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


The Ultimate Essentials Plugin.

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


The Ultimate Essentials Plugin.

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


The Ultimate Essentials Plugin.

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


Nucleus 0.20.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).

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

This release is mostly a performance oriented release, but there are some features!

New World commands.

There are a few things that were not exposed by Nucleus, now they are:

  • /world setpvpenabled [t|f] - turn PVP on or off
  • /world setloadonstartup [t|f] - set whether the world loads on startup
  • /world sethardcore [t|f] - set whether the world is in hardcore mode
  • /world setkeepspawnloaded [t|f] - set whether spawn should remain loaded

You can now use /world info [world] for information about the world you are on, or the world you specify. It’s the same output as /world list, only straight to the point. It uses the same permission as /world list (nucleus.world.list.base)

Support for per mob permissions when using /spawnmob

If enabled, the permission nucleus.spawnmob.mob.<mobid>, where mobid is the ID of the mob, as seen by Sponge. So to allow creeper spawning (ID, minecraft:creeper), use nucleus.spawnmob.mob.minecraft.creeper, for all Minecraft/Vanilla mobs, use nucleus.spawnmob.mob.minecraft.

Also, I kept typing in “/mobspawn” when testing. It didn’t work. That’s an alias now. It does work now. Problem solved!

Other minor features are:

  • Allow /ec to be chargable
  • Vastly reduce the number of permission checks in some cases through intelligent caching
  • If using Nucleus Mixins, add --save [timespan] option to specify how often a world saves during generation
  • Add ability to disable world gen all server notification messages

There has also been a few bugfixes in this release:

  • Fixed players spawning in sometimes not being rotated the right way.
  • Fix error when using -a with /world border gen and Sponge’s generation routines.
  • Fixed incorrect order of display parameters when using /setworth

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). The plan is to fully add Nucleus enhancements to Sponge proper.
  • While we don’t plan to make changes to the data files, things might change. These will be stabilised by 1.0
  • 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.

1 Like

@dualspiral perhaps a long-standing problem. Anyone has the same problem?

So,

  1. I created in single player empty world
  2. Imported it to the server: /world create islands -i
  3. Teleported to it: /spawn islands
  4. Did some work and decided to remove it:
  • /world unload -t world -d islands (players no!). In chat a message: disconnection was successful.
  • /world ls reports that the world is not disabled

Therefore cannot be deleted: /world delete islands

Maybe I’m doing something wrong?

Will look into it and try to figure out what is wrong.

Hi, I’ve been this plugin since I started the server a little while ago, and recently I’ve been trying to figure out a way to warp other players to set warps. It doesnt seem so, but I was wondering if there was a warp other setup already, or if there will be in the future.

@WorseWaif I’m working on that now, should have it for the next version!

Awesome! Out of curiousity, would you know when that would be released? I dont mean to be impatient or rude, its just that my server could really use that command to tp ppl between worlds through warps and command blocks…

Just use /tppos Player WarpCo-ords ?

How does one create an empty world? Want a world that has absolutely nothing in it to build stuff on.

Also, is it possible to add /rtp other?

http://nucleuspowered.org/docs/modules/world.html

No RTP other atm afaik although you could try /sudo rtp

It will be available soon though, hopefully sometime in the next 24-48 hours.

Similar with the world command, I’ve added more flags to enable what you want (which will be /world create <name> -n for you)

1 Like

Awesome, thanks :slight_smile:
If the world is empty, will there a platform to stand on or will I need to be flying before hand? Either is fine with me, just wondering.

Also, how can I add separate permission nodes for /world teleport?
And, is it possible to add world specific warps, meaning it’ll show a different list for every /warps the player runs. I want warps to different biomes in each world.

1 Like

I haven’t done it for /world teleport, but /spawn [world] is pretty much an equivalent command (not sure why /world tp exists too, but anyway), and that will be in the next update: permission nucleus.spawn.world.[lowercase world name].

World specific warps - I guess you’re just looking for a way to restrict warps to the current world. I don’t think I’ll get around to doing that for the next release, but it’s something I could look into.

If I may ask, it would be better for me to capture your ideas at Issues · NucleusPowered/Nucleus · GitHub, so if you have suggestions, could you pop them on there? They are more easily sorted by me if I can see them in a list, thanks!

Well, restrict warps to current world or create warp lists that only show in one world.
And alright, next time I have more suggestions, Ill put it there :slight_smile:

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


Nucleus 0.20.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

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: The API now has its own jar file

In order to combat problems with dependencies, you can now include a smaller API jar via Gradle!

Repository: ‘http://repo.drnaylor.co.uk/artifactory/list/minecraft’.
Dependency (for this version): ‘io.github.nucleuspowered:nucleus-api:0.21.0-S5.1’

In future, the API version will match the format Nucleus Version-S{Sponge API Version}-{Modifiers}. I’ll try to remember to put the version numbers in release notes.

Home and Warp APIs

Nucleus has undergone a rebuild of the Home and Warp systems to allow for integration with other plugins. The NucleusHomeService and NucleusWarpService services, and the NucleusHomeEvent and NucleusWarpEvent events. This is in additon to what is already available, and is slowly being documented.

The Home and Warp APIs will be considered stable for Nucleus 0.x & 1.x once 0.21.x is released.

This will initially integrate with GriefPrevention, but any plugin is welcome to use these events.

List has been turbocharged

List was good. List worked. List wasn’t great. Now it is.

  • Groups can have a weight, determining which one is used as a display group if a player has more than one group. This is controlled by permission options on the group: nucleus.list.weight - apply this to GROUPS not users.
  • Groups can be given an alias, and multiple groups can have the same alias. This can be defined in main.conf, playerinfo.list.list-grouping-by-permission.group-aliases.
  • The group ordering can be defined in main.conf, playerinfo.list.list-grouping-by-permission.group-order. Note that you must keep the [], and it’s a comma separated list, where the names are enclosed in " characters.
  • There is an option to only display a group if it has an explicit alias, else collapse into the default group.

More flags for the /world create command

To recap, the available flags are now:

  • -d/–dimension : the dimension to use as a base world type. Defaults to the overworld.
  • -g/–generator : the world generator to use. Defaults to the default generator.
  • -m/–modifier : a world generator modifier to use. Can be specified multiple times for multiple modifiers.
  • –di/–difficulty : the initial world difficulty. Defaults to normal.
  • –gm/–gamemode : the default game mode for players in the world. Defaults to survival.
  • -s/–seed : The seed to use to generate the world. If not specified, a random seed will be used.
  • -i: Indicates that this world might exist and can be imported.
  • -n/–nostructures: If specified, will not generate structures in the world.
  • -l/–loadonstartup <true|false>: If false, the world will not be loaded on startup. Defaults to true.
  • -k/–keepspawnloaded <true|false>: If false, the spawn will not be kept loaded. Defaults to true.
  • -c/–allowcommands <true|false>: If false, commands will not be allowed on the world. Defaults to true.
  • -b/–bonuschest <true|false>: If false, the bonus chests will not be generated. Defaults to true.

More text tokens

You may now use {{ipaddress}} to get the player’s IP address, and {{uniquevisitor}} to get an estimated visitor count, in places such as the MOTD and info files. If you think the unique visitor count seems to be off, run /nucleus debug refreshuniquevisitors. This will update the count in the background.

Sponge Timings support

Now, if you use /sponge timings, Nucleus will appear a lot more - but this isn’t a bad thing! Nucleus breaks down the timings for commands and any save/load operations on the main thread that might cause lag. This will help you and us in the future trying to pinpoint server lag problems, and whether it’s Nucleus causing them.

Other minor features are:

  • Nicknames now can use most characters, and a regex can be used to restrict what characters and forms nicknames can use.
  • /world create now does not require minecraft: prefixes.
  • Some commands now hide vanished players when pressing tab to complete a command.
  • Added per-world permissions for /spawn (but this is off by default)
  • /kits now shows costs
  • Added the permission nucleus.home.other.exempt.target to allow admins to prevent homes from being disclosed.
  • Add /itemsellall (/sellall)
  • Added ability to warp other players to named warps
  • Add /ping [player]
  • Add /rtp [player]
  • Added clickable location on /seen for players, allows players with the /tppos command to warp to them. This will be expanded upon in a future release.

There has also been a few bugfixes in this release:

  • Sometimes, a server that has two users that have had the same name at different points may have prevented some Nucleus commands from functioning properly. This has been fixed.
  • Some formatting has been cleaned up
  • Some errors have been cleaned up
  • Fixed some link options having the opposite effect to what they should have done.
  • URLs can now include hyphens in their domain names.
  • &r really should work properly now!

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 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
  • 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 this 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!

1 Like

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


Nucleus 0.21.0 is available for Sponge API 5.1 and is compatible with current builds for Sponge API 6-SNAPSHOT.

This build is for Minecraft 1.11.2/Sponge API 6. Use this version for Minecraft 1.10.2/Sponge API 5.1

Documentation can be found at http://nucleuspowered.org/docs (command and permission references should already be up to date). Developer documentation is available at http://jd.nucleuspowered.org.

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

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: The API now has its own jar file

In order to combat problems with dependencies, you can now include a smaller API jar via Gradle!

Repository: ‘http://repo.drnaylor.co.uk/artifactory/list/minecraft’.
Dependency (for this version): ‘io.github.nucleuspowered:nucleus-api:0.21.0-S5.1-PR2’

In future, the API version will match the format Nucleus Version-S{Sponge API Version}-{Modifiers}. I’ll try to remember to put the version numbers in release notes.

Home and Warp APIs

Nucleus has undergone a rebuild of the Home and Warp systems to allow for integration with other plugins. The NucleusHomeService and NucleusWarpService services, and the NucleusHomeEvent and NucleusWarpEvent events. This is in additon to what is already available, and is slowly being documented.

The Home and Warp APIs will be considered stable for Nucleus 0.x & 1.x once 0.21.x is released.

This will initially integrate with GriefPrevention, but any plugin is welcome to use these events.

List has been turbocharged

List was good. List worked. List wasn’t great. Now it is.

  • Groups can have a weight, determining which one is used as a display group if a player has more than one group. This is controlled by permission options on the group: nucleus.list.weight - apply this to GROUPS not users.
  • Groups can be given an alias, and multiple groups can have the same alias. This can be defined in main.conf, playerinfo.list.list-grouping-by-permission.group-aliases.
  • The group ordering can be defined in main.conf, playerinfo.list.list-grouping-by-permission.group-order. Note that you must keep the [], and it’s a comma separated list, where the names are enclosed in " characters.
  • There is an option to only display a group if it has an explicit alias, else collapse into the default group.

More flags for the /world create command

To recap, the available flags are now:

  • -d/–dimension : the dimension to use as a base world type. Defaults to the overworld.
  • -g/–generator : the world generator to use. Defaults to the default generator.
  • -m/–modifier : a world generator modifier to use. Can be specified multiple times for multiple modifiers.
  • –di/–difficulty : the initial world difficulty. Defaults to normal.
  • –gm/–gamemode : the default game mode for players in the world. Defaults to survival.
  • -s/–seed : The seed to use to generate the world. If not specified, a random seed will be used.
  • -i: Indicates that this world might exist and can be imported.
  • -n/–nostructures: If specified, will not generate structures in the world.
  • -l/–loadonstartup <true|false>: If false, the world will not be loaded on startup. Defaults to true.
  • -k/–keepspawnloaded <true|false>: If false, the spawn will not be kept loaded. Defaults to true.
  • -c/–allowcommands <true|false>: If false, commands will not be allowed on the world. Defaults to true.
  • -b/–bonuschest <true|false>: If false, the bonus chests will not be generated. Defaults to true.

More text tokens

You may now use {{ipaddress}} to get the player’s IP address, and {{uniquevisitor}} to get an estimated visitor count, in places such as the MOTD and info files. If you think the unique visitor count seems to be off, run /nucleus debug refreshuniquevisitors. This will update the count in the background.

Sponge Timings support

Now, if you use /sponge timings, Nucleus will appear a lot more - but this isn’t a bad thing! Nucleus breaks down the timings for commands and any save/load operations on the main thread that might cause lag. This will help you and us in the future trying to pinpoint server lag problems, and whether it’s Nucleus causing them.

Other minor features are:

  • Nicknames now can use most characters, and a regex can be used to restrict what characters and forms nicknames can use.
  • /world create now does not require minecraft: prefixes.
  • Some commands now hide vanished players when pressing tab to complete a command.
  • Added per-world permissions for /spawn (but this is off by default)
  • /kits now shows costs
  • Added the permission nucleus.home.other.exempt.target to allow admins to prevent homes from being disclosed.
  • Add /itemsellall (/sellall)
  • Added ability to warp other players to named warps
  • Add /ping [player]
  • Add /rtp [player]
  • Added clickable location on /seen for players, allows players with the /tppos command to warp to them. This will be expanded upon in a future release.

There has also been a few bugfixes in this release:

  • Sometimes, a server that has two users that have had the same name at different points may have prevented some Nucleus commands from functioning properly. This has been fixed.
  • Some formatting has been cleaned up
  • Some errors have been cleaned up
  • Fixed some link options having the opposite effect to what they should have done.
  • URLs can now include hyphens in their domain names.
  • &r really should work properly now!

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 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
  • 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 this 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!

1 Like

For ease: