# Welcome to Nucleus 2.0.0-ALPHA-1-S7.1. This is the main configuration file.
#
# If you're having issues with Nucleus, we have different support options for you:
#
# * Ore: https://ore.spongepowered.org/Nucleus/Nucleus
# * Nucleus Docs: https://nucleuspowered.org/docs
# * Real life people in Discord: https://discord.gg/MC2mAuS
#
# Thank you for using Nucleus!
# ==============================================================
# +------------------------------------------------------------+
# | Modules |
# | |
# | Set to: |
# | ENABLED: to enable the module |
# | DISABLED: to disable the module |
# | FORCELOAD: to enable the module and prevent plugins from |
# | disabling it. |
# | |
# | Don't change the section name from "-modules", it's meant |
# | to be called that to put the modules at the top! |
# +------------------------------------------------------------+
"-modules" {
# Provides administrative commands
admin=ENABLED
# Allows users to go AFK
afk=ENABLED
# Allows users to return to a previous point after teleporting
back=ENABLED
# Enhances the Minecraft ban system
ban=ENABLED
# Allows for the formatting of chat to potentially include player prefixes, nicknames and other information
chat=ENABLED
# Logs chat in separate files for easier searching
chat-logger=ENABLED
# Logs command usage on the console, in separate files for easier searching
command-logger=ENABLED
# Allows users with permission to see commands that other players are executing in real time
command-spy=ENABLED
# Allows for finer grain control over whether players can join the server, and the message non whitelisted players would see.
connection=ENABLED
# Controls the messages players see when someone joins or leaves the server
connection-messages=ENABLED
# Allows for virtual crafting tools to be used via commands
crafting-gui=ENABLED
# Controls whether death messages are displayed
death-message=ENABLED
# Utilities to contol the world environments
environment=ENABLED
# Commands and listeners to allow players to fly
fly=ENABLED
# Allows for freezing players in place
freeze-subject=ENABLED
# Fun commands for the server that do not (generally) have side effects
fun=ENABLED
# Provide personal warps for players
home=ENABLED
# Allows players to ignore others in chat
ignore=ENABLED
# Lets users see more information about the server, provided by server owners in text files
info=ENABLED
# Allows for investigating others' inventories
inventory=ENABLED
# Allows for players to become invulnerable
invulnerability=ENABLED
# Allows for the maniuplation of items, including names, lore and enchantments
item=ENABLED
# Enables jails, for punishing players
jail=ENABLED
# Enables warping to nearby locations
jump=ENABLED
# Enhances the Minecraft kick function
kick=ENABLED
# Allows servers to provide players with kits of items and commands, that can be run on demand or automatically
kit=ENABLED
# Allows users to send semi-permanent mails to each other
mail=ENABLED
# Enhances the Minecraft whisper functions
message=ENABLED
# Miscellaneous functions
misc=ENABLED
# Controls the spawning of mobs
mob=ENABLED
# Enables preventing players from sending chat messages to the server
mute=ENABLED
# Bans players with pre-determined names (rather than UUIDs)
nameban=ENABLED
# Allows players to have nicknames that are different from their Minecraft name
nickname=ENABLED
# Allows staff to make notes on players, for server record keeping
note=ENABLED
# Adds commands to display information about players
playerinfo=ENABLED
# Allows users to bind commands to items, to activate on item use
powertool=ENABLED
# Adds basic crop trampling and mob griefing protection
protection=ENABLED
# Allows players to teleport to a random location
rtp=ENABLED
# Adds a rules command
rules=ENABLED
# Allows for modification of the server list entry for the server
server-list=ENABLED
# Makes it easy to add formatting to signs
sign=ENABLED
# Controls the player spawning mechanics of the server
spawn=ENABLED
# Adds a chat channel for server staff
staff-chat=ENABLED
# Adds functions for teleporting players to/from other players, offline teleports and positional teleports
teleport=ENABLED
# Allows players to go invisible
vanish=ENABLED
# Adds a simple warning system for minor rule breaks, which can automatically punish the player.
warn=ENABLED
# Adds a public warp point system
warp=ENABLED
# World management, including world borders
world=ENABLED
}
# +------------------------------------------------------------+
# | Admin |
# +------------------------------------------------------------+
admin {
# The prefix and suffix when sending a broadcast message. Accepts chat tokens such as {{displayname}}, {{name}}, etc.
broadcast-message-template {
prefix="&a[Broadcast] "
suffix=""
}
}
# +------------------------------------------------------------+
# | AFK |
# +------------------------------------------------------------+
afk {
# The amount of time, in seconds, of inactivity before the player will be marked as AFK. Set to 0 to disable, or use the permission "nucleus.afk.exempt.toggle".
afk-time=300
# The amount of time, in seconds, of inactivity before the player will be kicked. Set to 0 to disable, or use the permission "nucleus.afk.exempt.kick".
#
# Note that this is not time since going AFK, but time since last activity. Setting this to the same value as "afktime" will cause someone who goesAFK to be kicked instantly.
afk-time-to-kick=0
# If true, any player that tries to use a command that might require the target to do something will be told if the target is AFK.
alert-on-command-send=true
# If true, the server will always announce when players go AFK, even when vanished. If false, players who are vanished and go AFK will not have this status broadcasted.
broadcast-afk-when-vanished=false
# If true, the server will be informed when a player is kicked for inactivity, else, just those with the nucleus.afk.notify permissions
broadcast-to-all-on-kick=true
# If true, a player in spectator mode will not have their status broadcasted to players, nor will they be kicked for going AFK. Those with the notify permission will still see the AFK messages.
disable-in-spectator-mode=false
# If any of the messages tht would be broadcast to the server are blank, they will not be sent.
messages {
# The message sent to a player when kicked for inactivity.
kick-message-to-subject="You have been kicked for being AFK for too long."
on-afk="&7*&f{{displayname}} &7has gone AFK."
on-command="&f{{displayname}} &7is currently AFK and may not respond quickly."
# If empty, no message will be sent.
on-kick="&f{{displayname}} &7has been kicked for being AFK too long."
on-return="&7*&f{{displayname}} &7is no longer AFK."
}
# Determines what actions determines if a player is active.
triggers {
# Marks a player as active if they chat
on-chat=true
# Marks a player as active if they run a command
on-command=true
# Marks a player as active if they interact
on-interact=true
# Marks a player as active if they move
on-movement=true
# Marks a player as active if they rotate (that is, look around)
on-rotation=true
}
}
# +------------------------------------------------------------+
# | Back |
# +------------------------------------------------------------+
back {
# Log player's location on death.
on-death=true
# Log player's last location after travelling through a portal.
on-portal=false
# Log player's last location on warp.
on-teleport=true
# If true, when a player is in a different dimension than the back target, then this player will require the nucleus.back.exempt.samedimension permission to be able to go back.
only-same-dimension=false
}
# +------------------------------------------------------------+
# | Bans |
# +------------------------------------------------------------+
ban {
# If "use-permission-level" is true, players can only ban/unban players that have a lower permission level than themselves.
#
# The permission level for banning is specified by adding the "nucleus.ban.level" permission option/meta to a player. Default level is 0 for players without the specified command permission, 1 with the permission.
ban-permission-levels {
# If true, a player can affect another player that has the same level as them (that is, if both havea permission level of 1, they can act on each other). If false, then a higher level is necessary (someone with a level 1 canonly act upon a player with level 0 or below).
can-affect-same-level=false
# If true, checks player level options as specified in the parent node.
use-permission-level=false
}
# The maximum length a temporary ban may last for (in seconds) unless the user handing the mute has a bypass permission. Set to -1 for no maximum.
maximum-tempban-length=604800
}
# +------------------------------------------------------------+
# | Chat |
# +------------------------------------------------------------+
chat {
# Some mods and plugins move the Minecraft player prefix to the main message body. If this is the case, turn this on, and Nucleus
# will try to remove it.
check-body-for-minecraft-prefix=false
# The prefix to use when someone uses "/me".
me-prefix="&7* {{displayName}} "
# If "true", Nucleus will attempt to modify the chat
modify-chat=true
# If true, Nucleus will take the message and try to apply it's own transforms to it. This may overwrite other plugins who do processing super early, so turn this off if you are having problems.
modify-main-message=true
# If false, Nucleus will prepend it's prefixes/headers with those already set buy other plugins. If true, it will overwrite them.
overwrite-early-prefixes=false
# If false, Nucleus will prepend it's suffixes/footers with those already set buy other plugins. If true, it will overwrite them.
overwrite-early-suffixes=false
# If true, Nucleus will try to remove any text formatted in blue and underlined that Minecraft has tried to turn into a link.
remove-link-underlines=true
templates {
# If true, Nucleus will select the most appropriate group template for a player when they send a chat message by checking all of the groups that a player has if the player does not have the "nucleus.chat.group" permission option set. If false, Nucleus will only look for the "nucleus.chat.group" option on players when they chat and will match that to the available group templates, if no match, Nucleus will apply the default template without checking actual permission groups.
#
# If your chat is lagging and you have group templates turned on, try setting this to false and giving your groups the appropriate "nucleus.chat.group" permission option.
check-permission-groups=true
# The default chat template if no group templates apply.
default {
# The default colour for a player's chat if the "chatcolour" permission option isn't set on the player or group. Takes the same input as the "namecolour" option set to "" to retain default behaviour (no change of colour). Do not include the "&" character.
default-chatcolour=""
# The default styles for a player's chat if the "chatstyle" permission option isn't set on the player or group. Takes the same input as the "chatstyle" option set to "" to retain default behaviour (no style). Do not include the "&" character. Multiple styles must be separated by commas.
default-chatstyle=""
# The default colour for a player's name if the "namecolour" permission option isn't set on the player or group. Takes the same input as the "chatcolour" option set to "" to retain default behaviour (no change of colour). Do not include the "&" character.
default-namecolour=""
# The default styles for a player's name if the "namestyle" permission option isn't set on the player or group. Takes the same input as the "namestyle" option, set to "" to retain default behaviour (no style). Do not include the "&" character. Multiple styles must be separated by commas.
default-namestyle=""
# Sets the prefix to a message. {{prefix}} - prefix (set as an option in a permission plugin), {{suffix}} - suffix (set as an option in a permission plugin), {{name}} - real name, {{displayname}} - display name
prefix="{{prefix:s}}{{displayname}}{{suffix}}&f: "
# Sets the suffix to a message. {{prefix}} - prefix (set as an option in a permission plugin), {{suffix}} - suffix (set as an option in a permission plugin), {{name}} - real name, {{displayname}} - display name
suffix=""
}
# Group templates override the default chat template based on the users group. Note that the group name is case sensitive.
# Weight matters, the player will use the highest weighted template in this list that matches a group they are in, including inherited groups. If the same weight is used on two or more entries, the group with the most parents will be used.
group-templates {
DefaultTemplate {
# The default colour for a player's chat if the "chatcolour" permission option isn't set on the player or group. Takes the same input as the "namecolour" option set to "" to retain default behaviour (no change of colour). Do not include the "&" character.
default-chatcolour=""
# The default styles for a player's chat if the "chatstyle" permission option isn't set on the player or group. Takes the same input as the "chatstyle" option set to "" to retain default behaviour (no style). Do not include the "&" character. Multiple styles must be separated by commas.
default-chatstyle=""
# The default colour for a player's name if the "namecolour" permission option isn't set on the player or group. Takes the same input as the "chatcolour" option set to "" to retain default behaviour (no change of colour). Do not include the "&" character.
default-namecolour=""
# The default styles for a player's name if the "namestyle" permission option isn't set on the player or group. Takes the same input as the "namestyle" option, set to "" to retain default behaviour (no style). Do not include the "&" character. Multiple styles must be separated by commas.
default-namestyle=""
# Sets the prefix to a message. {{prefix}} - prefix (set as an option in a permission plugin), {{suffix}} - suffix (set as an option in a permission plugin), {{name}} - real name, {{displayname}} - display name
prefix="{{prefix:s}}{{displayname}}{{suffix}}&f: "
# Sets the suffix to a message. {{prefix}} - prefix (set as an option in a permission plugin), {{suffix}} - suffix (set as an option in a permission plugin), {{name}} - real name, {{displayname}} - display name
suffix=""
# The weight of the template. A higher number will take priority over lower numbers when two templates could apply to the same player because they are in the both groups.
weight=1
}
}
# If "true", then Nucleus will select the most appropriate group template for a player when they send a chat message. If it's false
# the default template will always be used, but there will be a performance gain because a player's groups not not have to be retrieved from the permission plugin.
# Turn this off if you are getting severe performance problems when someone chats, it's usually due to a misbehaving permissions plugin.
use-group-templates=true
}
# If true, Nucleus tries to remove the minecraft name prefix (<name>).
try-to-remove-minecraft-prefix=true
}
# +------------------------------------------------------------+
# | Chat Logger |
# +------------------------------------------------------------+
chat-logger {
# Whether to actually perform any logging.
enable-logging=false
# Log chat messages to the log file.
log-chat=true
# Log mail messages to the log file.
log-mail=false
# Log private messages to the log file.
log-messages=true
}
# +------------------------------------------------------------+
# | Command Logger |
# +------------------------------------------------------------+
command-logger {
# A comma separated list of commands in the blacklist or whitelist (see whitelist option). Only one alias per command is required.
command-filter=[]
# If any option is true, log commands from the source.
log-command-source {
command-block=false
console=true
other-source=false
subject=true
}
# If true, will log commands to files at /logs/nucleus/commands
log-to-file=false
# If true, the "command-filter" containing the list of commands to be logged is a whitelist (command must be specfied to be logged), not a blacklist.
whitelist=false
}
# +------------------------------------------------------------+
# | Command Spy |
# +------------------------------------------------------------+
command-spy {
# The blacklist (or whitelist if filter-is-whitelist is true) to use when determining which commands to spy on.
command-filter=[]
# If true, command-filter acts as a whitelist of commands to spy on, else, it functions as a blacklist.
filter-is-whitelist=true
# The prefix to use when displaying the player's command.
prefix="&7[CS: {{name}}]: "
}
# +------------------------------------------------------------+
# | Connection |
# +------------------------------------------------------------+
connection {
# The maximum number of reserved slots that can be used. Set to -1 for unlimited.
reserved-slots=-1
# If this is not empty, the message to send to players when the server is full.
server-full-message=""
# If this is not empty, the message to send to players when the server is whitelisted.
whitelist-message=""
}
# +------------------------------------------------------------+
# | Connection Messages |
# +------------------------------------------------------------+
connection-messages {
# The message to display to players if a name change has been detected. 'Use {{previousname}} as the token for the player's previous name.'
changed-name-message="&f{{name}} &ewas previously known by a different name - they were known as &f{{previousname}}"
# If true, those with the "nucleus.connectionmessages.disable" permission will not trigger login/logout messages.
disable-with-permission=false
# If true, will inform players on the server when a player logs on and a name change has been detected.
display-name-change-if-changed=true
# This message uses all the standard Minecraft colour codes, prefixed by "&". Use '"{{name}}"' for the new player's name.
first-login-message="&dWelcome &f{{name}} &dto the server!"
# If "true", Nucleus will try to make sure that everyone sees connection messages. Note that plugins can potentially override this.
force-show-all-connection-messages=true
# Shown when a user logs in. This message uses all the standard Minecraft colour codes, prefixed by "&". Use '"{{name}}"' for the player's name.
login-message="&8[&a+&8] &f{{name}}"
# Shown when a user logs out. This message uses all the standard Minecraft colour codes, prefixed by "&". Use '"{{name}}"' for the player's name.
logout-message="&8[&c-&8] &f{{name}}"
# Enables changing the login message.
modify-login-message=false
# Enables changing the logout message.
modify-logout-message=false
# Enables the first time login message.
show-first-login-message=true
}
# +------------------------------------------------------------+
# | Core |
# +------------------------------------------------------------+
core {
# If true, if you log in and have the "wildcard" permission (either * or 'nucleus'), you will be warned of the potential issues caused by the wildcard. If you use the wildcard and are happy with this, set this to false.
check-for-wildcard=true
# If set, this command will be suggested if a player clicks on the user name in chat in templated messages. Use {{player}} to indicate the player name.
command-on-name-click="/msg {{subject}}"
# If true, commands executed by the console can affect players that normally have an exempt permission against the command.
console-overrides-exemptions=true
# Specifies the path to save nucleus data files in. By default, files are saved at the root. Paths can be relative or absolute.
#
# BE AWARE. Changing this location has the following caveats:
# * This will only take effect after a restart.
# * Files are NOT moved from the old location, you must do this yourself.
# * Files will be in a "nucleus" subdirectory of your selected location.
# * If the path indicated cannot be found, this will be ignored. It **must** exist beforehand.
# * Minecraft data (as opposed to Nucleus data) is unaffected.
#
# Common areas that you might want to put the data directory in are (using UNIX paths):
# * "config/nucleus" for data in the Nucleus config data directory
# * "world" for storing data in the primary world directory.
#
# DO NOT CHANGE THIS UNLESS YOU ARE SURE YOU KNOW WHAT YOU ARE DOING. Most admins do not need to move the data directory and should leave this option as "default".
data-file-location=default
# Enables debug mode, which will cause stack traces from commands to be printed to the console.
debug-mode=false
# If true, then the permissions "nucleus.owner", "nucleus.admin", "nucleus.mod" and "nucleus.user" can be used as permissionsto grant all suggested permissions for these levels. Note that:
#
# * /nucleus setupperms will exist, but will be unnecessary for those using this permission structure
# * Any specific permissions WILL override these permissions (so, setting `nucleus.home.base` to `false` should override `nucleus.user` being true for that specific permission.
#
# These permissions are designed to avoid the use of the wildcard. Some permissions are not given with these catch-alls, this is by design - the permission to vanish on login (for example) must ALWAYS be given separately.
enable-parent-perms=true
# If true, any command that takes a player nickname will attempt to partially match the usernames, which may cause a performance drop on larger servers.
enable-partial-name-matching=true
kick-on-stop {
# If true, Nucleus will kick all users just prior to the server stopping.
enabled=false
# The message to display to players when restarting the server. Overridden when using the /stop [reason] command.
message="Server closed"
}
# When trying to calculate the number of visitors, having this enabled will include visitors before Nucleus was installed, but may cause incompatibilities with other plugins that do not register data keys during startup. For compatibility, this should be false, for accuracy, this can be true.
more-accurate-visitor-count=false
# Determines the maximum number of offline user entries that are returned for Nucleus commands that allow offline user targeting.
offline-user-tab-limit=20
# If set to "default", uses the default system language if it exists in Nucleus. If set to a language code, Nucleus will try to use that as the default language. Nucleus is primarily written in "en-GB".
#
# Community translation support is being explored. Please visit us on Discord to ask how you can help translate Nucleus into your own language.
override-language=default
# If true, Nucleus will print a message when a permission is checked that has not been properly registered. This usually indicates a Nucleus issue and should be reported to the Nucleus github.
print-message-when-permission-isnt-registered=false
# Prints to console when a Nucleus save is occurring.
print-on-autosave=false
# These parameters define how far out to check from a specific point when performing a warp. Larger numbers mean that a wider area is checked, but large numbers will cause server lag. The defaults are sufficient in most cases.
safe-teleport-check {
height=3
width=9
}
# If true and no economy or permission plugin is detected, Nucleus will print a warning on startup. Set this to false if you don't have one of these types of plugins and you're OK with that.
show-warning-on-startup=true
# If true, Nucleus will try to use the client locale when sending messages wherever possible and the translations exists.
use-client-locale-where-possible=false
# If true, a "messages.conf" file will be generated and used to define custom messages.
use-custom-message-file=false
# If true, cancel a user's warmup on...
warmup-canceling {
# running a command
cancel-on-command=true
# movement
cancel-on-move=true
}
# If you are having issues because a world UUID changed and you were unable to fix it, this allows you to redirect old UUIDs to new ones (or world names). This is a map of old world UUIDs to new world names or new world UUIDs, the following are both valid:
#
# "123e4567-e89b-12d3-a456-426655440000"="world"
#
# "123e4567-e89b-12d3-a456-426655440000"="1b671a64-40d5-491e-99b0-da01ff1f3341"
#
# Other plugins will be able to check this map to perform their own migrations, support for that is up to those plugins.
world-uuid-migration {}
}
# +------------------------------------------------------------+
# | Death Messages |
# +------------------------------------------------------------+
death-message {
# If "false", death messages will be turned off when someone dies.
enable-death-messages=true
# If "true", Nucleus will try to make sure that everyone sees death messages.
force-show-all-death-messages=true
}
# +------------------------------------------------------------+
# | Environment |
# +------------------------------------------------------------+
environment {
# The maximum amount of time that the weather can be set to last, in seconds. Set to -1 for no restriction.
maximum-weather-timespan=-1
}
# +------------------------------------------------------------+
# | Fly |
# +------------------------------------------------------------+
fly {
# If true, and the player isn't flying and the player is in the air, Nucleus will try to find a safe location to place the player.
find-safe-location-on-login=true
# If true, in order to keep fly state on login, the permission for the fly command (nucleus.fly.base) is required. If false, a player without access to the /fly command will fall to the ground on login if they are in the air.
require-fly-permission-on-login=false
# If true, if a player is flying when they disconnect, this state is remembered. If false, this information is only retained between player disconnects if /fly was used.
save-all-flystate-on-quit=true
}
# +------------------------------------------------------------+
# | Home |
# +------------------------------------------------------------+
home {
# If true, when a player is in a different dimension than the designated home, then this player will require the nucleus.home.exempt.samedimension permission to be able to use that home.
only-same-dimension=false
# If true, if a player has more homes than the permission option "home-count" allows, then players will not be able to use any homes until they delete homes to be at the limit again.
prevent-home-count-overhang=true
# If true, on respawn, a player will spawn back at their default home (named "home") if it exists.
respawn-at-home=false
# If true, Nucleus will attempt to ensure that users do not get warped into an unsafe situation (for example, if someone breaks blocks around a home).
use-safe-warp=true
}
# +------------------------------------------------------------+
# | Info |
# +------------------------------------------------------------+
info {
info {
# If "use-default-info-section" is true, this section is displayed when a player runs "/info", not the section list.
default-info-section=info
# If true, when a player runs "/info", the section specified in "default-info-section" will be used, that is, /info will work the same as /info <default-section>.
# The list of sections can still be viewed by running "/info -l", if the user has the "nucleus.info.list" permission. If false, or the section does not exist, this list is shown, regardless of this permission.
use-default-info-section=false
}
motd {
# The amount of time to wait (in seconds) before sending the MOTD to a player who has just logged in.
motd-login-delay=0.5
# The title to show at the top of each MOTD page. Colour codes are supported. If blank, this hides the title completely.
motd-title=MOTD
# If true, show players the MOTD as defined in "motd.txt" when they log onto the server.
show-motd-on-join=true
# If false, this disables the pagination system for the MOTD. Set this to false if you have one page, do not want a title, and do not want the << >> marks to appear, otherwise, it is recommended to set this to true.
use-pagination=true
}
}
# +------------------------------------------------------------+
# | Invulnerability |
# +------------------------------------------------------------+
invulnerability {
# If true, players that are invulnerable will not be able to attack other players or entities without the nucleus.god.pvp.override permission
disable-pvp-on-god=false
# If true, in order to keep invulnerability on login, the permission for the god command (nucleus.god.base) is required. If false, a player without access to the /god will not be invulnerable on login.
require-god-permission-on-login=false
}
# +------------------------------------------------------------+
# | Item |
# +------------------------------------------------------------+
item {
repair {
# The list of item types to prevent (or allow if whitelist is true) repairing using /repair
restrictions=[]
# If true, the restriction list will be used as a whitelist vs a blacklist.
use-whitelist=false
}
skull {
# Limits the number of skulls that can be spawned using the "/skull" command. Set to -1 to disable the limit.
spawn-limit=-1
# If true, Nucleus will simply treat /skull as an alias to "/give [player] skull [number] 3 {SkullOwner:[skullplayer]}"
use-minecraft-command=false
}
}
# +------------------------------------------------------------+
# | Jail |
# +------------------------------------------------------------+
jail {
# The commands that players are allowed to execute in jail. Do not include the slash.
allowed-commands=[
m,
msg,
r,
mail,
rules,
info
]
# If "use-permission-level" is true, players can only jail/unjail players that have a lower permission level than themselves.
#
# The permission level for banning is specified by adding the "nucleus.jail.level" permission option/meta to a player. Default level is 0 for players without the specified command permission, 1 with the permission.
jail-permission-levels {
# If true, a player can affect another player that has the same level as them (that is, if both havea permission level of 1, they can act on each other). If false, then a higher level is necessary (someone with a level 1 canonly act upon a player with level 0 or below).
can-affect-same-level=false
# If true, checks player level options as specified in the parent node.
use-permission-level=false
}
# If true, jail time will only tick down when players are online.
jail-time-counts-online-only=false
# If true, the player will be muted when in jail.
mute-when-jailed=false
# If true, Nucleus will try much harder to disable player teleportation for players who are jailed.
prevent-teleport-when-jailed-aggressively=true
# If true, then the permission "nucleus.jail.unjail" is required to unjail players.
require-separate-unjail-permission=false
}
# +------------------------------------------------------------+
# | Jump |
# +------------------------------------------------------------+
jump {
# The maximum distance a player can move using the /jump command. Negative values mean infinite - use with care.
max-jump-distance=350
# The maximum distance a player can move using the /thru command. Negative values mean infinite - use with care.
max-thru-distance=25
unstuck-distances {
# The maximum distance vertically /unstuck can send you.
height=1
# The maximum distance horizontally /unstuck can send you.
horizontal-radius=1
}
}
# +------------------------------------------------------------+
# | Kick |
# +------------------------------------------------------------+
kick {
# If "use-permission-level" is true, players can only kick players that have a lower permission level than themselves.
#
# The permission level for banning is specified by adding the "nucleus.kick.level" permission option/meta to a player. Default level is 0 for players without the specified command permission, 1 with the permission.
#
# This does not affect /kickall.
kick-permission-levels {
# If true, a player can affect another player that has the same level as them (that is, if both havea permission level of 1, they can act on each other). If false, then a higher level is necessary (someone with a level 1 canonly act upon a player with level 0 or below).
can-affect-same-level=false
# If true, checks player level options as specified in the parent node.
use-permission-level=false
}
}
# +------------------------------------------------------------+
# | Kit |
# +------------------------------------------------------------+
kit {
auto-redeem {
# If true, kit autoredeem will be enabled.
enable=false
# If true, the console will get messages indicating what was auto-redeemed when a player logs in.
log=false
}
# If true, any items that couldn't be placed in the player's inventory will be dropped on the floor around them.
drop-items-if-inventory-full=false
# If this is true, "drop-items-if-inventory-full" will be ignored, and the kit will only be consumed if everything can be consumed.
must-get-all-items=false
# If true, any tokens such as {{name}} and {{displayname}} will be translated on item names and lore, if they exist, when kits are redeemed.
process-tokens-in-lore=false
}
# +------------------------------------------------------------+
# | Message |
# +------------------------------------------------------------+
message {
# The prefix to any message received via /helpop.
helpop-prefix="&7HelpOp: {{name}} &7> &r"
# The prefix for received messages. This is displayed to the receiever. Use {{from}} and {{to}} for the message sender/receiver, {{fromDisplay}} or {{toDisplay}} for the display names.
msg-receiver-prefix="&7[{{fromDisplay}}&7 -> me]: &r"
# The prefix for sent messages. This is displayed to the sender. Use {{from}} and {{to}} for the message sender/receiver, {{fromDisplay}} or {{toDisplay}} for the display names.
msg-sender-prefix="&7[me -> {{toDisplay}}&7]: &r"
socialspy {
# If true, Nucleus will check the "nucleus.socialspy.force" permission on the subject to disallow disabling Social Spy.
allow-forced=false
# The tag to show at the beginning of a Social Spy message when a player is muted (or otherwise has the message cancelled).
cancelled-messages-tag="&c[cancelled] "
# Sets the social spy level of the server and any custom message targets.
levels {
# The social spy level of any custom target that has been registered through the API.
custom-targets=2147483647
# The server's social spy level.
server=2147483647
}
# 'The prefix and format for messages sent to social spies. Use {{from}} and {{to}} for the message sender/receiver, {{fromDisplay}} or {{toDisplay}} for the display names. The colours and style at the end of the prefix will be carried over into the message.'
msg-prefix="&7[SocialSpy] [{{fromDisplay}}&7 -> {{toDisplay}}&7]: &r"
# The tag to show at the beginning of a Social Spy message when a player cannot send a message to a player who hasused /msgtoggle (blocking messages from all players).
msgtoggle-blocked-messages-tag="&c[blocked] "
# If true, and "use-levels" is true, players with social spy will also see messages from players at their own level.
same-levels-can-see-each-other=true
# Controls the types of *sender* that can be spied on.
senders-to-spy-on {
custom-target=true
player=true
server=true
}
# If true, show messages that players try to send and are cancelled (usually due to being muted).
show-cancelled-messages=false
# If true, Nucleus will check the "nucleus.socialspy.level" option on the subject for an integer level. A level can see their messages from and to players with levels below their own,
# unless "same-levels-can-see-each-other" is set to true, in which case, social spies can see messages from their own level. Players have a default level of 0.
use-levels=false
}
}
# +------------------------------------------------------------+
# | Miscellaneous |
# +------------------------------------------------------------+
misc {
# Sets the maximum speed that a player can set via the /speed command.
max-speed=5
}
# +------------------------------------------------------------+
# | Mob |
# +------------------------------------------------------------+
mob {
# The maximum number of mobs that can be spawned using /spawnmob.
max-mobs-to-spawn=20
# If true, Nucleus will make an additional permission check to check whether a player can spawn a mob.
# The permission is "nucleus.spawnmob.mobs.<mobid>", where the mobid has any ":" (colons) replaced with "." (period). So, the permission to spawn a creeper would be
# "nucleus.spawnmob.mobs.minecraft.creeper". This allows server owners to allow all vanilla mobs with the permission "nucleus.spawnmob.mobs.minecraft".
separate-mob-spawning-permissions=false
# Controls the mobs that cannot be spawned. Each section is world specific, with the key being the world name in question, which is case sensitive.
spawning-blocks {
DIM-1 {
# The full IDs of the mobs to block. Minecraft mobs have an id starting with "minecraft:"
block-mobs-with-ids=[]
# If true, all vanilla mobs will be blocked in this world.
block-vanilla-mobs=false
}
DIM1 {
# The full IDs of the mobs to block. Minecraft mobs have an id starting with "minecraft:"
block-mobs-with-ids=[]
# If true, all vanilla mobs will be blocked in this world.
block-vanilla-mobs=false
}
world {
# The full IDs of the mobs to block. Minecraft mobs have an id starting with "minecraft:"
block-mobs-with-ids=[]
# If true, all vanilla mobs will be blocked in this world.
block-vanilla-mobs=false
}
}
}
# +------------------------------------------------------------+
# | Mute |
# +------------------------------------------------------------+
mute {
# Commands to block when muted. This is in addition to chat and /m already being blocked.
blocked-commands=[
"minecraft:me",
say
]
# The maximum length a mute may last for (in seconds) unless the user handing the mute has a bypass permission. Set to -1 for no maximum.
maximum-mute-length=604800
# If "use-permission-level" is true, players can only mute/unmute players that have a lower permission level than themselves.
#
# The permission level for banning is specified by adding the "nucleus.mute.level" permission option/meta to a player. Default level is 0 for players without the specified command permission, 1 with the permission.
mute-permission-levels {
# If true, a player can affect another player that has the same level as them (that is, if both havea permission level of 1, they can act on each other). If false, then a higher level is necessary (someone with a level 1 canonly act upon a player with level 0 or below).
can-affect-same-level=false
# If true, checks player level options as specified in the parent node.
use-permission-level=false
}
# If true, mute time will only tick down when players are online.
mute-time-counts-online-only=false
# The tag to prepend any cancelled/muted messages with.
muted-chat-tag="&c[cancelled] "
# If true, then the permission "nucleus.mute.unmute" is required to unmute players.
require-separate-unmute-permission=false
# If true, those with the "nucleus.mute.seemutedchat" permission will see chat from those who are muted.
see-muted-chat=false
}
# +------------------------------------------------------------+
# | Name Banning |
# +------------------------------------------------------------+
nameban {
default-reason="Your Minecraft username is not appropriate for this server. Please change it before attempting to access this server."
}
# +------------------------------------------------------------+
# | Nickname |
# +------------------------------------------------------------+
nickname {
# The maximum number of visible characters that the nickname can be.
max-nickname-length=20
# The minimum number of visible characters that the nickname can be.
min-nickname-length=3
# A regular expression that limits what form the nickname can take. If Nucleus fails to read the regex here, the default of "[a-zA-Z0-9_]+" (the same restriction as Minecraft usernames) will be used. To allow all characters, use ".+".
pattern="[a-zA-Z0-9_]+"
# A prefix to any nickname that is displayed in chat.
prefix="&b~"
}
# +------------------------------------------------------------+
# | Note |
# +------------------------------------------------------------+
note {
# If true, users with the permission nucleus.note.showonlogin will be shown a users notes when they login. If false, they will not.
show-login=true
}
# +------------------------------------------------------------+
# | Player Info |
# +------------------------------------------------------------+
playerinfo {
list {
# If true, /list will be displayed in a compact form.
compact-list=true
# If compact /list is enabled, this specifies how many players will be sent in one line. If clients are disconnecting when running list, lower the number.
compact-max-players=20
list-grouping-by-permission {
# If listing by groups is enabled, the group name to display when a player is not in a group.
default-group-name=Default
# If enabled, list players by their groups.
enabled=false
# If listing by groups is enabled, then any group listed here (on the left side of an equals sign) will be given the display name on the right hand side.
# Multiple groups can be given the same alias, they will be grouped together.
group-aliases {
example-default-group="Default Group"
example-default-group-2="Default Group"
}
# Any group aliases in this list will be listed in this order, above all other groups, which will be displayed in alphabetical order below.
group-order=[]
# If true, if an alias hasn't been defined for a group in the `group-aliases` section, it's considered as part of the `default` group.
use-aliases-only=false
}
# Enable this if you are using a server panel, such as Multicraft or PterodactylPanel. This will run /minecraft:list when /list is run on the console.
server-panel-compatibility=false
# The template to use to display a player's name. Uses the same tokens as chat. Defaults to "{{displayname}}".
template="{{displayname}}"
}
near {
# The max radius for the /near command, bypassable with the permission "nucleus.near.maxexempt".
max-radius=200
}
seen {
# If true, the permission "nucleus.seen.extended" is required for all information that comes from modules. If false, information will be displayed based on the command permissions a player has (so, a player with check ban rights can see banning information).
require-extended-permission-for-module-info=false
}
}
# +------------------------------------------------------------+
# | Protection |
# +------------------------------------------------------------+
protection {
# Disables crop trampling.
disable-crop-trample {
mobs=false
players=false
}
mob-griefing {
# If true, mob griefing will be disabled except for the entities listed in the whitelist (which should be done by mob ID).
enable-protection=false
whitelist=[]
}
}
# +------------------------------------------------------------+
# | rtp |
# +------------------------------------------------------------+
rtp {
# The number of times to try to find a safe teleport spot when using /rtp before failing. Setting this too low may cause a high rate of failures.
attempts=10
# The default RTP kernel to use with /rtp. The default options are:
#
# * "nucleus:default": standard RTP, with the min/max radius centred around the spawn point
# * "nucleus:surface_only": RTP which will attempt to only pick a surface (must see sky) location, with the min/max radius centred around the spawn point
# * "nucleus:around_player": RTP which is like default, but the random position will depend on the player's current position, not the spawn point
# * "nucleus:around_player_surface": RTP which is like surface only, but the random position will depend on the player's current position, not the spawn point
#
# Other plugins might add their own kernels, in which case they will give you an ID to use here.
default-method="nucleus:default"
# If this is set, and the world name here matches one of your worlds (case-sensitive!), then `/rtp` will default to use the world specified here. Otherwise, the player's current world will be used.
default-world=""
# The maximum Y value that can be teleported to.
maximum-y=255
# The minimum radius from the centre of the world/world border where /rtp will warp to.
min-radius=0
# The minimum Y value that can be teleported to.
minimum-y=0
# If true, Nucleus will check the permission "nucleus.rtp.worlds.<worldname>" (where worldname is in lower case) before allowing an RTP attempt to go through.
per-world-permissions=false
# A list of biomes that RTP should not attempt to teleport into.
prohibited-biomes=[
"minecraft:frozen_ocean",
"minecraft:ocean",
"minecraft:deep_ocean"
]
# The maximum radius from the centre of the world/world border where /rtp can warp to. This will not override the world border radius.
radius=30000
# If a world is listed below with a valid config section, it will take precedence over the global section. World names should be lower case (so, standard nether should be "dim-1".
#
# Copy the example block and paste it below, with the correct world name, to set the per-world options.
world-overrides {
example {
# The default RTP kernel to use with /rtp. The default options are:
#
# * "nucleus:default": standard RTP, with the min/max radius centred around the spawn point
# * "nucleus:surface_only": RTP which will attempt to only pick a surface (must see sky) location, with the min/max radius centred around the spawn point
# * "nucleus:around_player": RTP which is like default, but the random position will depend on the player's current position, not the spawn point
# * "nucleus:around_player_surface": RTP which is like surface only, but the random position will depend on the player's current position, not the spawn point
#
# Other plugins might add their own kernels, in which case they will give you an ID to use here.
default-method="nucleus:default"
maximum-y=255
min-radius=30000
minimum-y=0
radius=30000
}
}
}
# +------------------------------------------------------------+
# | Rules |
# +------------------------------------------------------------+
rules {
# The rules page title.
rules-title="&6Server Rules"
}
# +------------------------------------------------------------+
# | Server List |
# +------------------------------------------------------------+
server-list {
# If true, the player count will not be displayed.
hide-player-count=false
# If true, any player that is vanished on the server will not appear in the online player list on the server list.
hide-vanished-players=false
# If "true", when a prospective player pings the server on the multiplayer server list, one of the messages in the list below will be sent to the player. If "whitelist", this module will only act when the whitelist is enabled.
modify-server-list-messages=FALSE
# 'Potential messages that could be sent to the player. To split over two lines, include \n where you want the line break to appear.'
server-list-messages=[
"&bWelcome to the server!\n&cCome join us!"
]
# 'Potential messages that could be sent to the player when the server is whitelisted. To split over two lines, include \n where you want the line break to appear.
#
# If no entries are here, the MOTD will use the `server-list-messages` list.'
whitelist-server-list-messages=[]
}
# +------------------------------------------------------------+
# | Spawn |
# +------------------------------------------------------------+
spawn {
# If true, if a respawn would be back to a bed, Nucleus will override that, if false, Nucleus will ignore bed spawns.
affect-bed-spawn=true
# If true, then Nucleus will attempt to force players joining for the first time to spawn at the *direct point* that first spawn has been set.
# Only set this if you want Nucleus to override all other plugins on first spawn.
force-first-spawn=false
# This section controls whether respawning and /spawn work on a per world or global server basis
global-spawn {
# If "spawn-on-login" is on and this is true, sends the player to the world specified in "target-spawn-world" when they log in.
on-login=false
# If true, respawning (like from death) sends the player to the world specified in "target-spawn-world", if false, sends them to the world spawn.
on-respawn=false
# If true, running /spawn sends the player to the world specified in "target-spawn-world", if false, sends them to the world spawn.
on-spawn-command=false
# The name of the world to use as the server spawn. If this is invalid, the default world is used instead.
target-spawn-world=world
}
# If true, players will be sent to the default world spawn on login, unless they are sent to the first login spawn, or they have the "nucleus.spawn.exempt.login" permission.
spawn-on-login=false
# If "spawn-on-login" is true, if a player logs in and is on any of the worlds listed here, they will NOT be redirected to the spawn point.
#
# This supports both world names and world UUIDs.
spawn-on-login-exempt-worlds=[]
# If true, using /spawn will attempt to find a safe place. If false, the teleportation will always directly send the player to the location with no safety checks.
use-safe-spawn=true
}
# +------------------------------------------------------------+
# | Staff Chat |
# +------------------------------------------------------------+
staff-chat {
# If true, Nucleus will include all the normal chat tags in the message, in addition to the prefix.
"include-standard-chat-formatting"=false
# A Minecraft colour code the denotes the colour to display Staff Chat channel messages in.
message-colour=b
# 'The prefix to the staff chat message. Use the following tokens: {{prefix}} - prefix (set as an option in a permission plugin), {{suffix}} - suffix (set as an option in a permission plugin), {{name}} - real name, {{displayname}} - display name.'
# If "include-standard-chat-formatting" is set to "true", the formatting will be appended to this prefix.
message-template="&b[STAFF] &r{{displayname}}&b: "
}
# +------------------------------------------------------------+
# | Teleport |
# +------------------------------------------------------------+
teleport {
# If true, by default, a target player will not be informed that they have been /teleport ed to. Override using "-q false"
default-quiet=true
# If true, when a player is in a different dimension than the designated target, then the requesting player will require the
# "nucleus.teleport.exempt.samedimension" permission to allow teleportation.
only-same-dimension=false
# If true, any player that has a /tpa request denied (or times out) will have any charge for the command refunded.
# If set to false, Nucleus will consider that the command has a cost, rather than the teleport action and will not refund on any teleport denials.
refund-on-deny=true
# If true, Nucleus will show Accept and Deny links when a tpa or tpahere request is made.
show-clickable-tpa-accept-deny=false
# If true, when running /tpa, a player's cooldown starts immediately. Otherwise, the cooldown will start
# if and when the teleport is accepted.
start-cooldown-when-asking=false
# If true, this will force Nucleus to use the /tpaccept and /tpdeny commands explicitly if someone clicks "Accept" or "Deny" to a tpa/tpahere request. This provides compatibility to some plugins that try to block commands by name rather than by action, but will not work if the commands have been aliased or turned off.
#
# It is recommended that you set this to false wherever possible.
use-commands-when-clicking-tpa-accept-deny=false
# If true, if a requester makes a /tpa or /tpahere request to a player, the player who is teleporting will teleport to the position the request was made at, rather than the requester's current position. If false, the player will teleport to the requester's current position, regardless of where the request was made.
use-request-location-on-tp-requests=false
# If true, teleporting tries to find a safe place for players.
use-safe-teleportation=true
}
# +------------------------------------------------------------+
# | Vanish |
# +------------------------------------------------------------+
vanish {
# [EXPERIMENTAL - use with caution] If true, Nucleus will try to alter the tab list when a player vanishes.
alter-tab-list=false
# If true, Nucleus is more aggressive about setting the vanish state on a player during login. This may interfere with other plugins that use the vanish status.
force-nucleus-vanish=true
# If true, players who leave or join the server under vanish will not have a login or logout message broadcast.
hide-connection-messages-on-vanish=false
# If true, if a player is vanished and another player who does not have see permissions runs /seen, the player will appear tobe offline.
try-hide-players-in-seen=true
# If true, attempts to work around a Sponge issue where vanish status does not persist over respawns.
# See https://github.com/SpongePowered/SpongeCommon/issues/2325.
workaround-sponge-vanish-issue=true
}
# +------------------------------------------------------------+
# | Warp |
# +------------------------------------------------------------+
warp {
default-category-name=Uncategorised
# The default cost for a warp. Can be overriden using /warp setcost <warp> <cost>
default-warp-cost=0.0
# If true, warps will be displayed by category in /warp list.
list-warps-by-category=false
# If this is set to true, each warp has its own permission node - nucleus.warps.<name>.
separate-permissions=false
# If true, the warp description will be shown in /warp list, and the co-ords will be shown in the tooltip on hover.
show-warp-description-in-list=false
# If true, using /warp will attempt to find a safe place. If false, the teleportation will always directly send the player to the location with no safety checks.
use-safe-warp=true
}
# +------------------------------------------------------------+
# | World |
# +------------------------------------------------------------+
world {
# If positive, any new worlds that are created using "/world create" (or "/nworld create") will automatically get a world border that has this diameter (that is, from border to border). Set to 0 or a negative number to disable.
default-world-border-diameter=0
# If true, joining or changing worlds will change the gamemode of a player unless they have the Minecraft permission "nucleus.world.force-gamemode.override"
enforce-gamemode-on-world-change=false
pre-generation {
# If true, then players with the "nucleus.world.border.gen.notify" permission will get an update on progress after each generation. Recommended to be off, because it can be VERY spammy.
display-after-each-gen=false
# If true world generation will warn players on the server that a pre-generation is in progress periodically.
display-generation-warning=true
# Time, in seconds, between notifications in chat warning players a pre-gen is in progress.
notification-interval=20
}
# If true, changing worlds requires permission to access the target world - "nucleus.worlds.<worldname>"
separate-permissions=false
}