-
Notifications
You must be signed in to change notification settings - Fork 9
Configuration
EliteEssentials is fully configurable through the config.json file located at mods/EliteEssentials/config.json.
mods/
EliteEssentials/
config.json
After editing the configuration, apply changes with:
/eliteessentials reload
{
"debug": false,
"advancedPermissions": false
}| Option | Type | Default | Description |
|---|---|---|---|
debug |
boolean | false |
Enable verbose debug logging |
advancedPermissions |
boolean | false |
Enable granular permission nodes (see Permissions) |
When set to true, EliteEssentials outputs detailed logging information to the server console. This is useful for troubleshooting issues but should be disabled in production to reduce log spam.
This setting controls how command access is determined:
When false (Default - Simple Mode):
- Commands use simple access levels: "Everyone" or "Admin only"
- All players can use basic commands (home, back, tpa, rtp, spawn, warp)
- Admin commands require OP status or
eliteessentials.admin.* - No permission plugin or setup required
When true (Advanced Mode):
- Default permissions are disabled completely
- Every command requires an explicit permission node to be granted
- Players without permissions cannot use any commands (except admins)
- You must configure permissions using Hytale's permission system or a permission management mod
- Allows fine-grained control: different ranks can have different home limits, bypass cooldowns, access specific warps, etc.
Important: When enabling Advanced Mode, you must set up permissions for your players or they will lose access to all commands. See the Permissions page for the complete list of permission nodes to grant.
"rtp": {
"enabled": true,
"minRange": 100,
"maxRange": 5000,
"worldRanges": {},
"cooldownSeconds": 30,
"warmupSeconds": 3,
"maxAttempts": 5,
"minSurfaceY": 50,
"chunkLoadTimeoutMs": 500,
"defaultHeight": 128,
"invulnerabilitySeconds": 5,
"cost": 0.0
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /rtp command |
minRange |
int | 100 |
Minimum distance from center for random location |
maxRange |
int | 5000 |
Maximum distance from center for random location |
worldRanges |
object | {} |
Per-world RTP range overrides (see below) |
cooldownSeconds |
int | 30 |
Cooldown between uses (0 = no cooldown) |
warmupSeconds |
int | 3 |
Time player must stand still before teleport (0 = instant) |
maxAttempts |
int | 5 |
Maximum attempts to find a safe location |
minSurfaceY |
int | 50 |
Minimum Y level to accept (avoids caves/dungeons) |
chunkLoadTimeoutMs |
int | 500 |
Timeout for loading unloaded chunks (0 = skip) |
defaultHeight |
int | 128 |
Default Y height when chunk is not loaded |
invulnerabilitySeconds |
int | 5 |
Seconds of invulnerability after RTP (0 = disabled) |
cost |
double | 0.0 |
Cost to use this command (requires economy enabled) |
Per-World RTP Ranges:
The worldRanges option allows you to set different min/max ranges for specific worlds. If a world is not listed, it uses the default minRange and maxRange values.
"rtp": {
"minRange": 100,
"maxRange": 5000,
"worldRanges": {
"explore": {"minRange": 500, "maxRange": 10000},
"hub": {"minRange": 50, "maxRange": 500}
}
}In this example:
-
exploreworld: RTP range is 500-10000 blocks (larger exploration area) -
hubworld: RTP range is 50-500 blocks (smaller, contained area) - All other worlds: Use default 100-5000 blocks
"back": {
"enabled": true,
"maxHistory": 5,
"workOnDeath": true,
"cooldownSeconds": 0,
"warmupSeconds": 0,
"cost": 0.0
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /back command |
maxHistory |
int | 5 |
Number of previous locations to remember |
workOnDeath |
boolean | true |
Save death location for /back |
cooldownSeconds |
int | 0 |
Cooldown between uses |
warmupSeconds |
int | 0 |
Warmup time before teleport |
cost |
double | 0.0 |
Cost to use this command (requires economy enabled) |
"tpa": {
"enabled": true,
"timeoutSeconds": 30,
"warmupSeconds": 3,
"cost": 0.0,
"tpahereCost": 0.0
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable TPA commands |
timeoutSeconds |
int | 30 |
Seconds before request expires |
warmupSeconds |
int | 3 |
Warmup after accepting (requester must stand still) |
cost |
double | 0.0 |
Cost to use /tpa (requires economy enabled) |
tpahereCost |
double | 0.0 |
Cost to use /tpahere (requires economy enabled) |
"homes": {
"enabled": true,
"maxHomes": 3,
"defaultMaxHomes": 3,
"cooldownSeconds": 0,
"warmupSeconds": 3,
"cost": 0.0,
"setHomeCost": 0.0
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable home commands |
maxHomes |
int | 3 |
Maximum homes per player |
defaultMaxHomes |
int | 3 |
Default max for new players |
cooldownSeconds |
int | 0 |
Cooldown between /home uses |
warmupSeconds |
int | 3 |
Warmup time before teleport |
cost |
double | 0.0 |
Cost to teleport home (requires economy enabled) |
setHomeCost |
double | 0.0 |
Cost to set a home (requires economy enabled) |
Permission-Based Home Limits:
In advanced permissions mode, you can set different home limits per group:
-
eliteessentials.command.home.limit.<number>- Set specific limit (e.g.,.limit.10) -
eliteessentials.command.home.limit.unlimited- Unlimited homes
The highest limit from the player's permissions is used.
"spawn": {
"enabled": true,
"cooldownSeconds": 0,
"warmupSeconds": 3,
"perWorld": false,
"mainWorld": "default",
"cost": 0.0,
"teleportOnFirstJoin": true,
"teleportOnEveryLogin": false,
"teleportDelaySeconds": 2
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /spawn command |
cooldownSeconds |
int | 0 |
Cooldown between uses |
warmupSeconds |
int | 3 |
Warmup time before teleport |
perWorld |
boolean | false |
If false, always teleport to main world spawn; if true, teleport to current world's spawn |
mainWorld |
string | "default" |
Which world is the main world (used when perWorld=false) |
cost |
double | 0.0 |
Cost to use this command (requires economy enabled) |
teleportOnFirstJoin |
boolean | true |
Teleport new players to spawn on first join |
teleportOnEveryLogin |
boolean | false |
Teleport ALL players to spawn on every login |
teleportDelaySeconds |
int | 2 |
Delay in seconds before teleporting to spawn on join (increase if players experience client crashes) |
"spawnProtection": {
"enabled": false,
"radius": 50,
"minY": -1,
"maxY": -1,
"disablePvp": true,
"disableAllDamage": false
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | false |
Enable/disable spawn protection |
radius |
int | 50 |
Protection radius in blocks (square area) |
minY |
int | -1 |
Minimum Y level to protect (-1 = no limit) |
maxY |
int | -1 |
Maximum Y level to protect (-1 = no limit) |
disablePvp |
boolean | true |
Disable PvP in spawn area |
disableAllDamage |
boolean | false |
Disable ALL damage in spawn area |
Important: Spawn protection requires /setspawn to be used first. The protection area is centered on the spawn location set by an admin.
disableAllDamage: When enabled, players in the spawn area are completely invulnerable to all damage sources including fall damage, fire, drowning, mob attacks, and environmental damage.
Bypass Permission: eliteessentials.command.spawn.protection.bypass
"warps": {
"enabled": true,
"cooldownSeconds": 0,
"warmupSeconds": 3,
"maxWarps": -1,
"cost": 0.0,
"groupLimits": {
"Admin": -1,
"Owner": -1,
"Moderator": 20,
"VIP": 10,
"Default": 5
}
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable warp commands |
cooldownSeconds |
int | 0 |
Cooldown between /warp uses |
warmupSeconds |
int | 3 |
Warmup time before teleport |
maxWarps |
int | -1 |
Maximum warps that can be created (-1 = unlimited) |
cost |
double | 0.0 |
Cost to use /warp (requires economy enabled) |
groupLimits |
object | see below | Per-group warp limits (advanced permissions mode) |
Warp Limits:
-
maxWarps: Global limit for total warps. Set to-1for unlimited. -
groupLimits: Per-group limits when using advanced permissions mode. Players get the highest limit from their groups. Use-1for unlimited.
Permission-based limits (Advanced Mode):
-
eliteessentials.command.warp.limit.<number>- Set specific limit -
eliteessentials.command.warp.limit.unlimited- Unlimited warps
"sleep": {
"enabled": true,
"sleepPercentage": 50,
"nightStartHour": 19.5,
"morningHour": 5.5
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable sleep percentage feature |
sleepPercentage |
int | 50 |
Percentage of players needed to skip night (0-100) |
nightStartHour |
double | 19.5 |
Hour when players can start sleeping (19.5 = 7:30 PM) |
morningHour |
double | 5.5 |
Hour when players wake up (5.5 = 5:30 AM) |
Custom Sleep Times:
The nightStartHour and morningHour options use 24-hour format with decimal support for minutes:
-
19.5= 7:30 PM (default night start, matches Hytale) -
20.0= 8:00 PM -
5.5= 5:30 AM (default morning) -
6.0= 6:00 AM
Note: The client-side message "You may sleep starting at X" is controlled by Hytale based on the game's world config and cannot be changed by plugins. The actual sleep functionality will use your configured times.
"deathMessages": {
"enabled": true,
"showKiller": true,
"showCause": true
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable death messages |
showKiller |
boolean | true |
Show killer name (player or mob) |
showCause |
boolean | true |
Show death cause (fall, fire, etc.) |
These commands are admin-only and support optional cooldowns that can be configured per-group using permissions.
"god": {
"enabled": true,
"cooldownSeconds": 0
}"heal": {
"enabled": true,
"cooldownSeconds": 0,
"cost": 0.0
}"fly": {
"enabled": true,
"cooldownSeconds": 0
}"vanish": {
"enabled": true,
"hideFromList": true,
"hideFromMap": true,
"mimicJoinLeave": true,
"persistOnReconnect": true,
"suppressJoinQuitMessages": true,
"showReminderOnJoin": true
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /vanish command |
hideFromList |
boolean | true |
Hide vanished players from the Server Players list |
hideFromMap |
boolean | true |
Hide vanished players from the world map |
mimicJoinLeave |
boolean | true |
Send fake join/leave messages when vanishing/unvanishing |
persistOnReconnect |
boolean | true |
Keep vanish state across server restarts/reconnects |
suppressJoinQuitMessages |
boolean | true |
Suppress real join/quit messages for vanished players |
showReminderOnJoin |
boolean | true |
Show reminder to vanished players when they rejoin |
"repair": {
"enabled": true,
"cooldownSeconds": 0
}"clearInv": {
"enabled": true,
"cooldownSeconds": 0
}"trash": {
"enabled": true,
"cooldownSeconds": 0,
"defaultSize": 27,
"maxSize": 45
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /trash command |
cooldownSeconds |
int | 0 |
Cooldown between uses (0 = no cooldown) |
defaultSize |
int | 27 |
Default number of slots when no size argument given |
maxSize |
int | 45 |
Maximum allowed slots (caps the size argument) |
The trash command opens an inventory window where players can drag in unwanted items. All items placed in the window are permanently deleted when the window is closed. Players can optionally specify a custom size with /trash <size>, capped by maxSize.
"top": {
"enabled": true,
"cooldownSeconds": 0,
"cost": 0.0
}Permission-Based Cooldowns:
In advanced permissions mode, you can set different cooldowns per group:
-
eliteessentials.command.misc.<cmd>.bypass.cooldown- Bypass cooldown entirely -
eliteessentials.command.misc.<cmd>.cooldown.<seconds>- Set specific cooldown
Common cooldown values: 30, 60, 120, 180, 300, 600, 900, 1800, 3600 seconds
"economy": {
"enabled": false,
"currencyName": "coin",
"currencyNamePlural": "coins",
"currencySymbol": "$",
"startingBalance": 0.0,
"minPayment": 1.0,
"baltopLimit": 10,
"vaultUnlockedProvider": true,
"useExternalEconomy": false,
"playerBalanceChangeNotify": "none",
"playerBalanceChangeNotifyGlobal": false
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | false |
Enable/disable the economy system |
currencyName |
string | "coin" |
Singular currency name |
currencyNamePlural |
string | "coins" |
Plural currency name |
currencySymbol |
string | "$" |
Symbol shown before amounts |
startingBalance |
double | 0.0 |
Balance given to new players |
minPayment |
double | 1.0 |
Minimum amount for /pay command |
baltopLimit |
int | 10 |
Number of players shown in /baltop |
vaultUnlockedProvider |
boolean | true |
Register as VaultUnlocked economy provider |
useExternalEconomy |
boolean | false |
Use external economy via VaultUnlocked |
playerBalanceChangeNotify |
string | "none" |
Notification mode for balance changes (see below) |
playerBalanceChangeNotifyGlobal |
boolean | false |
When true, broadcast balance changes to all players |
Balance Change Notifications:
When enabled, players receive notifications when their wallet balance changes (via /pay, /eco, /wallet, command costs, etc.).
| Value | Description |
|---|---|
"none" |
No notifications (default) |
"chat" |
Show notification in chat to the affected player only |
"chat_global" |
Broadcast notification to ALL players on server |
"tooltip" |
Store balance change data in player data for a custom UI to read and display (requires a separate UI mod — does nothing on its own) |
How playerBalanceChangeNotifyGlobal works:
- When
false(default): Notifications show "your wallet" and are sent only to the affected player - When
true: Notifications show the player's name (e.g., "Steve's wallet") and are broadcast to all online players
Example notification message:
Server added $10.00 to Steve's wallet. Balance: $100.00 -> $110.00
Configurable message format: balanceChangeNotify with placeholders {sender}, {target}, {oldBalance}, {newBalance}, {amount}, {changeType}, {currency}
VaultUnlocked Integration:
-
vaultUnlockedProvider: When true, other plugins can use EliteEssentials economy via VaultUnlocked API -
useExternalEconomy: When true, EliteEssentials uses another plugin's economy (e.g., Ecotale). This disables /eco and /pay commands to avoid conflicts.
Economy API:
Other mods can integrate with EliteEssentials economy using the public API at com.eliteessentials.api.EconomyAPI:
if (EconomyAPI.isEnabled()) {
double balance = EconomyAPI.getBalance(playerUUID);
if (EconomyAPI.has(playerUUID, 100.0)) {
EconomyAPI.withdraw(playerUUID, 100.0);
}
EconomyAPI.deposit(playerUUID, 50.0);
EconomyAPI.transfer(fromUUID, toUUID, 25.0);
String formatted = EconomyAPI.format(100.0); // "$100.00"
}"mail": {
"enabled": true,
"maxMailPerPlayer": 50,
"maxMessageLength": 500,
"sendCooldownSeconds": 30,
"notifyOnLogin": true,
"notifyDelaySeconds": 3
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the mail system |
maxMailPerPlayer |
int | 50 |
Maximum mail messages per player mailbox |
maxMessageLength |
int | 500 |
Maximum message length in characters |
sendCooldownSeconds |
int | 30 |
Cooldown between sending mail to the same player |
notifyOnLogin |
boolean | true |
Show notification on login if player has unread mail |
notifyDelaySeconds |
int | 3 |
Delay before showing mail notification on login |
"afk": {
"enabled": true,
"inactivityTimeoutMinutes": 5,
"broadcastAfk": true,
"showInTabList": true,
"excludeFromRewards": true
}"joindate": {
"enabled": true
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /joindate command |
"playtime": {
"enabled": true
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /playtime command |
"ignore": {
"enabled": true
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /ignore and /unignore commands |
When enabled, players can use /ignore <player> to block public and private messages from specific players. Ignore data is stored per-player in players/<uuid>.json.
"mute": {
"enabled": true
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the /mute and /unmute commands |
When enabled, admins can use /mute <player> [reason] to prevent players from sending any messages (public chat and private messages). Mute data is stored server-wide in mutes.json and persists across restarts.
"playTimeRewards": {
"enabled": false,
"checkIntervalMinutes": 1,
"showRewardMessage": true,
"broadcastMilestones": true,
"onlyCountNewPlaytime": true,
"enabledTimestamp": 0
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | false |
Enable/disable the playtime rewards system |
checkIntervalMinutes |
int | 1 |
How often to check for reward eligibility |
showRewardMessage |
boolean | true |
Show message when player receives a reward |
broadcastMilestones |
boolean | true |
Broadcast milestone rewards to all players |
onlyCountNewPlaytime |
boolean | true |
Only count playtime after system was enabled |
enabledTimestamp |
long | 0 |
Auto-set when system first starts |
Reward Configuration:
Rewards are configured in mods/EliteEssentials/playtime_rewards.json:
[
{
"id": "hourly_bonus",
"name": "Hourly Bonus",
"minutesRequired": 60,
"repeatable": true,
"enabled": true,
"message": "&a[Reward] &fYou received your hourly playtime bonus!",
"commands": ["eco add {player} 100"]
},
{
"id": "100h_vip",
"name": "100 Hour VIP",
"minutesRequired": 6000,
"repeatable": false,
"enabled": true,
"message": "&d[Milestone] &f100 hours played! You've earned VIP status!",
"commands": [
"lp user {player} group set vip",
"eco add {player} 5000"
]
}
]Supported Commands:
- Economy:
eco add/remove/set {player} <amount> - LuckPerms:
lp user {player} group set/add/remove <group> - LuckPerms:
lp user {player} permission set/unset <perm> - LuckPerms:
lp user {player} promote/demote <track>
"groupChat": {
"enabled": true,
"useChatFormatting": false,
"formattedMessageFormat": "{channel_color}{channel_prefix} {chat_format}",
"allowSpy": true,
"spyFormat": "&8[GC-SPY] &7[{channel}] {player}: {message}"
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable the group chat feature |
useChatFormatting |
boolean | false |
When true, player names use the same prefix/color formatting as regular chat |
formattedMessageFormat |
string | {channel_color}{channel_prefix} {chat_format} |
Format template for messages when useChatFormatting is enabled |
allowSpy |
boolean | true |
Enable/disable admin spy mode |
spyFormat |
string | &8[GC-SPY] &7[{channel}] {player}: {message} |
Format for spy messages |
Chat Formatting Integration:
When useChatFormatting is enabled, player names in group chat use the same LuckPerms prefixes/suffixes and group priorities as regular chat. The formattedMessageFormat template supports these placeholders:
-
{channel_prefix}- The chat channel prefix (e.g., "[ADMIN]") -
{channel_color}- The chat channel color code -
{chat_format}- The player's full chat format from chatFormat config -
{player}- Player's username -
{message}- The chat message
Example with LuckPerms prefix: If a player has prefix "&c[Admin]" in LuckPerms and uses the admin chat:
&c[ADMIN] &c[Admin] Steve: Hello team!
Spy Mode:
Admins can use /gcspy to toggle spy mode and see all group chat messages, even from channels they don't belong to. This is useful for monitoring multiple channels without needing to be in each group.
Chat Channel Configuration:
Chat channels are configured in mods/EliteEssentials/groupchat.json:
[
{
"groupName": "admin",
"displayName": "Admin Chat",
"prefix": "[ADMIN]",
"color": "#f85149",
"enabled": true,
"requiresGroup": true
},
{
"groupName": "trade",
"displayName": "Trade Chat",
"prefix": "[TRADE]",
"color": "#f0c674",
"enabled": true,
"requiresGroup": false
}
]-
requiresGroup: true- Requires LuckPerms group membership -
requiresGroup: false- Requireseliteessentials.chat.<chatname>permission
"chatFormat": {
"enabled": true,
"allowPlayerColors": false,
"allowPlayerFormatting": false,
"groupFormats": {
"Owner": "&4[Owner] {player}&r: {message}",
"Admin": "&c[Admin] {player}&r: {message}",
"VIP": "&6[VIP] {player}&r: {message}",
"Default": "&7{player}&r: {message}"
},
"groupPriorities": {
"Owner": 100,
"Admin": 90,
"VIP": 50,
"Default": 0
},
"defaultFormat": "&7{player}&r: {message}"
}| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true |
Enable/disable group-based chat formatting |
allowPlayerColors |
boolean | false |
Allow regular players to use color codes in chat |
allowPlayerFormatting |
boolean | false |
Allow regular players to use formatting codes |
groupFormats |
object | see above | Chat format per group |
groupPriorities |
object | see above | Priority order (highest wins) |
defaultFormat |
string | see above | Default format if no group matches |
Chat Permissions (Advanced Mode):
-
eliteessentials.chat.color- Use color codes in chat -
eliteessentials.chat.format- Use formatting codes in chat
See Chat Formatting for detailed documentation.
"motd": {
"enabled": true,
"showOnJoin": true,
"delaySeconds": 1,
"serverName": "Our Server"
}MOTD content is configured in mods/EliteEssentials/motd.json:
{
"lines": [
"&e&lWelcome to {server}, {player}!",
"&7There are &a{playercount}&7 players online."
],
"worldMotds": {
"explore": {
"enabled": true,
"showAlways": false,
"lines": ["&a=== Welcome to Explore! ==="]
}
}
}Per-World MOTDs:
-
showAlways: true- Shows every time player enters the world -
showAlways: false- Shows only once per session
"joinMsg": {
"joinEnabled": true,
"quitEnabled": true,
"firstJoinEnabled": true,
"suppressDefaultMessages": true,
"worldChangeEnabled": false
}| Option | Type | Default | Description |
|---|---|---|---|
joinEnabled |
boolean | true |
Enable join messages |
quitEnabled |
boolean | true |
Enable quit messages |
firstJoinEnabled |
boolean | true |
Enable first join broadcast |
suppressDefaultMessages |
boolean | true |
Suppress default Hytale join messages |
worldChangeEnabled |
boolean | false |
Broadcast world change messages |
"autoBroadcast": {
"enabled": true
}Broadcasts are configured in mods/EliteEssentials/autobroadcast.json:
{
"broadcasts": [
{
"id": "discord",
"enabled": true,
"intervalSeconds": 600,
"prefix": "",
"random": false,
"requirePlayers": true,
"messages": [
"&5&l[Discord]&7 - Join us!\n&7Join: &b[CLICK HERE](https://discord.gg/YourInvite)"
]
}
]
}Messages support color codes, labeled links ([text](url)), and \n for multi-line.
"aliases": {
"enabled": true
}Aliases are stored in mods/EliteEssentials/aliases.json:
{
"explore": {
"command": "warp explore",
"permission": "everyone",
"silent": true
}
}-
silent: true- Suppresses teleport confirmation messages
EliteEssentials supports charging players for using commands when the economy system is enabled.
| Command | Config Path | Description |
|---|---|---|
/home |
homes.cost |
Cost to teleport home |
/sethome |
homes.setHomeCost |
Cost to set a home |
/spawn |
spawn.cost |
Cost to teleport to spawn |
/warp |
warps.cost |
Cost to use a warp |
/back |
back.cost |
Cost to return to previous location |
/rtp |
rtp.cost |
Cost for random teleport |
/tpa |
tpa.cost |
Cost to send a teleport request |
/tpahere |
tpa.tpahereCost |
Cost to request someone teleport to you |
/heal |
heal.cost |
Cost to heal |
/top |
top.cost |
Cost to teleport to top |
In advanced permissions mode, set different costs per group:
# Default players pay 50 for RTP
/lp group default permission set eliteessentials.cost.rtp.50 true
# VIP players pay only 10 for RTP
/lp group vip permission set eliteessentials.cost.rtp.10 true
# Premium players get free warps
/lp group premium permission set eliteessentials.cost.warp.0 true-
eliteessentials.bypass.cost- Bypass all command costs -
eliteessentials.bypass.cost.<command>- Bypass cost for specific command
{
"advancedPermissions": false,
"rtp": {
"enabled": true,
"minRange": 500,
"maxRange": 10000,
"cooldownSeconds": 300,
"warmupSeconds": 5
},
"homes": {
"maxHomes": 3,
"warmupSeconds": 5
},
"tpa": {
"timeoutSeconds": 60,
"warmupSeconds": 5
}
}{
"advancedPermissions": false,
"rtp": {
"cooldownSeconds": 0,
"warmupSeconds": 0
},
"homes": {
"maxHomes": 10,
"warmupSeconds": 0
},
"tpa": {
"warmupSeconds": 0
}
}{
"advancedPermissions": true,
"rtp": {
"enabled": false
},
"back": {
"workOnDeath": false,
"cooldownSeconds": 600
},
"homes": {
"maxHomes": 1,
"cooldownSeconds": 300,
"warmupSeconds": 10
}
}When updating EliteEssentials, your existing configuration is preserved. New options are automatically added with their default values. You do not need to recreate your config file when updating.
EliteEssentials by EliteScouter | GitHub | Report Issues