Skip to content

Core Features

Reece Williams edited this page Sep 2, 2026 · 2 revisions

Core Features

ServerTools' "Core" is the Essentials-style command set: fly, heal, tp, warps, spawn, messaging, and the usual player/staff utilities. Everything lives under the Core: section of config.yml and each command flips on/off with its own Enabled flag.

Dependencies

No hard external deps. These classes are self-contained Bukkit/Spigot code, they don't import or need EssentialsX at all. Perm nodes just happen to be named like essentials.fly for familiarity, that's cosmetic.

One exception: Repair. It's the only Core class that touches Vault (net.milkbowl.vault.economy.Economy). If Vault + an economy provider are present it charges money per repair, otherwise repairs are free (costs fall back to 0). So Repair is the only feature with a soft Vault dependency, and even that degrades gracefully.

Note: Core.GiveItems exists in config but has no matching Java class or registered command, it's a vestigial/unused entry. Skipping it.

Player utilities

Ping Core.Ping (disabled by default). Reflects into the NMS handle to read your real ping in ms. No perm node.

Realname Core.Realname (disabled). /realname <player> tells you the actual account name behind an online player. Perm essentials.realname.

Compass Core.Compass (disabled). /compass prints the cardinal direction you're facing plus bearing degrees. Perm essentials.compass.

Hat Core.Hat (enabled). /hat swaps the item in your hand onto your head (and back). Perm essentials.hat.

Workbench Core.Workbench (enabled). /workbench or /craft opens a crafting table anywhere. Perm essentials.workbench.

Trash Core.Trash (enabled). /trash opens a throwaway 54-slot inventory, close it and the items are gone. No perm node.

Fly Core.Fly (enabled). /fly toggles your flight; /fly <player> toggles someone else's if you have essentials.fly.others (the .others suffix is derived from the base perm). Base perm essentials.fly.

Enchant Core.Enchant (enabled). /enchant <name> [level] adds an unsafe enchant to the held item (bypasses vanilla level caps). Perm essentials.enchant.

Nickname Core.Nickname (disabled). /nick <name/off> sets a display + tab name, 3-20 chars, rejects names already in use. Config prefix (default ~) is prepended in chat unless you have prefixBypass. Perms nickname.use, nickname.prefixbypass.

Top Core.Top (enabled). /top teleports you onto the highest block above your position. Perm essentials.top.

InvSee Core.InvSee (disabled). /invsee <player> opens their live inventory (/invsee <player> <anything> shows armor). Read-only unless you have ModifyOthers; a target with StaffNoModify can't be edited by anyone. Perms: essentials.invsee, modify essentials.invsee.modify, protect essentials.invsee.preventmodification.

Enderchest Core.Enderchest (disabled). /enderchest opens your own. Needs ViewOthers to open someone else's, and ModifyOthers to actually edit it. Perms: essentials.enderchest, essentials.enderchest.others, essentials.enderchest.modify.

Repair Core.Repair (disabled). /repair (or /fix) mends the held tool/weapon/armor; /repair all mends everything. Enchanted items need repair.enchanted. Charges Vault money when available: Single Cost 1500 (perm essentials.repair), All Cost 15000 (perm essentials.repair.all). Free if no Vault economy.

Staff / admin

God Core.God (disabled). /god toggles damage immunity + auto-heal for yourself. State clears on quit. Perm essentials.god.

Extinguish Core.Extinguish (disabled). /extinguish puts out fire on yourself; with StaffPermission you can /extinguish <player> others. Perms essentials.ext, essentials.ext.others.

ClearInv Core.ClearInv (enabled). /clearinv empties your inventory; /clearinv <player> clears someone else with the .others perm suffix. Base perm essentials.clearinventory.

Heal Core.Heal (enabled). /heal (self), /feed (food only), /healall (everyone online). Perms: essentials.heal, essentials.feed, essentials.heal.others (for healall). Console can target a named player.

Gamemode Core.Gamemode (enabled). /gamemode <mode> plus shortcuts /gm /gms /gmc /gma /gmsp. Each mode gated by its own perm: essentials.gamemode.creative/survival/spectator/Adventure. Console bypasses perm checks.

Broadcast Core.Broadcast (enabled). /broadcast <msg> sends a server-wide message using the configured format. Perm essentials.broadcast.

AdminChat Core.AdminChat (enabled). /adminchat <msg> broadcasts only to players holding the perm, also logs to console. Perm tools.adminchat.

Messaging

Messaging Core.Messaging (enabled). Covers /msg, /r, /socialspy, /togglemsg, /disablemessaging. Social spy lets staff see all private messages live. Players can toggle receiving PMs (togglemsg); staff with StaffBypass message them anyway. disablemessaging globally halts PMs. Optional ping sound on receive (Sound.Enabled, default BLOCK_NOTE_BLOCK_PLING). Formats and these perms are all configurable:

Permissions:
  Message: essentials.message
  Reply: essentials.reply
  SocialSpy: essentials.socialspy
  ToggleMSG: essentials.togglemsg
  DisableMessaging: chat.disablemessaging
  StaffBypass: staff.bypassdisabledmsg

Teleport & spawn

Teleport Core.Teleport (enabled). Handles /tp, /tpo, /tpa (request/accept flow with /tpaccept + /tpdeny), and /tphere. Console can do /tp <player> <target> or /tp <player> <x> <y> <z>. Perms: essentials.tp, essentials.tpa, essentials.tphere.

Spawn Core.Spawn (enabled). /spawn teleports you; /spawn <player> sends someone else (needs admin perm). /setspawn saves the spot to spawn.yml. Also forces respawns and first-time joins to spawn. Options: spawnFirstUniqueJoinOnly (send brand-new players to spawn, default true), onJoinInstantly (send everyone on every join, default false), and teleportWhenInVoid which yanks players out of the void back to spawn (with a message and per-world disabledWorlds skip list). Perms: spawn.use (command), spawn.admin (setspawn + send others).

Warps Core.Warps (enabled). /warp <name> [player], /warps (paged list), /setwarp <name> [perm], /delwarp <name>, /warpinfo <name>. Warps persist in Warps.yml and can carry an optional per-warp permission, so locked warps show red in the list and are hidden from tab-complete. Warping another player needs WarpOtherPlayToWarpPerm. Config perms:

DeleteWarpPerm: tools.delwarp
SetWarpPerm: tools.setwarp
ViewWarpPerm: tools.viewwarp
WarpOtherPlayToWarpPerm: tools.warpother

Heads up: in the current code the set/delete perm fields are read swapped (setWarpPerm loads DeleteWarpPerm and vice versa). Both default to tools.setwarp/tools.delwarp so it usually doesn't bite, but worth knowing if you customize them.

Clone this wiki locally