Essentials GG configuration

Everything lives in the server's config folder. /ess reload applies changes; switching modules or commands on or off needs a restart.

The files

FileWhat is in it
config/essentialsgg.jsonModule switches, the settings of each module, and the colors.
config/essentialsgg/commands.jsonOne line per command: on or off, its aliases, and a cooldown.
config/essentialsgg/lang/<code>.jsonEvery message, one file per language.
<world>/data/essentialsgg/players.jsonPlayers: homes, money, nicknames, mutes, warnings, permissions.
<world>/data/essentialsgg/server.jsonSpawn, warps, kits and permission groups.

Modules

The modules section of config/essentialsgg.json has one switch per module: teleport, homes, warps, spawn, rtp, kits, economy, moderation, chat, messaging, nicknames, afk, utility, workbenches, info, sidebar, tablist, permissions and discord. All are on except sidebar and discord.

Settings

KeyDefaultWhat it does
teleport.warmupSeconds3Seconds to stand still before a teleport. 0 teleports at once.
teleport.cancelOnMovetrueMoving during the wait cancels the teleport.
teleport.requestSeconds120How long a /tpa request stays open.
teleport.backOnDeathtrue/back returns to where you died.
homes.defaultLimit3Homes a player may set without a limit permission.
homes.limitTiers1, 3, 5, 10, 25, 50, 100Numbers usable in essentialsgg.homes.limit.<n>.
spawn.newPlayersAtSpawntrueNew players start at the spawn.
spawn.everyJoinAtSpawnfalseEvery join starts at the spawn.
rtp.radius, rtp.minRadius5000, 300How far from the world spawn random teleports land.
rtp.cooldownSeconds300Seconds between two /rtp per player.
rtp.overworld, rtp.nether, rtp.endtrue, false, falseWhere /rtp may go.
economy.startingBalance0Money a new player starts with.
economy.symbol, economy.symbolAfter$, falseThe currency: $10 or 10 €.
chat.formatChattrueBuild every chat line from chat.format. Off leaves chat to the game (mutes still work).
chat.format{group_prefix}{name}{group_suffix} <muted>»</muted> <text>{message}The chat line. Also {account} (real name) and {world}.
chat.mentionstrue@name highlights and pings.
chat.slowModeSeconds0Seconds between two messages per player.
nicknames.minLength, maxLength2, 16Nickname length without colors.
nicknames.prefixemptyPut in front of every nickname, like ~.
afk.autoSeconds, afk.kickSeconds300, 0Idle time before AFK, and before a kick (0 never kicks).
info.motdOnJoin, info.welcomeNewPlayerstrue, trueThe MOTD on join, and a welcome line for new players.
sidebar.refreshSeconds1How often the sidebar and tab list update.
discord.webhookUrlemptyThe channel webhook; joins, chat, deaths and punishments switch each kind.

Commands

config/essentialsgg/commands.json has a line for every command:

"home": {
  "enabled": true,
  "aliases": ["h"],
  "cooldown": 0
}

cooldown is in seconds per player; staff with essentialsgg.bypass.cooldown skip it. If another mod or the game already uses a name, Essentials GG leaves it alone and the command moves under /ess <name>.

Messages, colors and languages

Every message is in config/essentialsgg/lang/<code>.json. A file you never edited updates itself with the mod; once you edit it, it is yours. Missing lines fall back to the shipped text. Drop in a new file (say it_it.json) to add a language.

Messages take & codes and tags: <red>, <#ff8800>, <gradient:red:gold>, <rainbow>, <b>, <hover:show_text:'text'>, <click:run_command:'/spawn'>, <newline>. The theme colors <text>, <val>, <ok>, <err>, <warn>, <muted>, <accent> and <brand> are set once in the theme section of config/essentialsgg.json. An empty message is never sent.

Permissions

Every permission is essentialsgg.<something>. Without any setup, players get the everyday commands and operators get the staff ones. Change that with /perm, with LuckPerms, or both: /perm is checked first, then LuckPerms, then the operator level.

/perm group vip create
/perm group vip add essentialsgg.command.fly
/perm group vip add essentialsgg.homes.limit.10
/perm group vip prefix <gold>[VIP] 
/perm user Steve group add vip
/perm user Steve check essentialsgg.command.fly
PermissionGives
essentialsgg.command.<name>A command, like essentialsgg.command.home.
essentialsgg.<name>.othersUsing it on someone else (fly, heal, spawn, homes, kit, nick, ...).
essentialsgg.homes.limit.<n>, .unlimitedHow many homes.
essentialsgg.kit.<name>, essentialsgg.warp.<name>Restricted kits and warps.
essentialsgg.chat.color, .hex, .gradient, .formatFormatting in chat and private messages.
essentialsgg.nick.color, .hex, .gradient, .formatFormatting in nicknames.
essentialsgg.bypass.cooldown, essentialsgg.bypass.warmupNo cooldowns, no teleport wait.
essentialsgg.notify.punish, essentialsgg.punish.exemptSee punishments; cannot be punished.

With LuckPerms, chat and tab prefixes also come from the meta keys essentialsgg.prefix and essentialsgg.suffix.