Farmstead Mods
EN

Служебные команды

Личное время и погода, эффекты, спавн мобов, /fly, /god, /heal и прочий повседневный инструментарий.

На этой странице

Команды 102#

КомандаСинтаксисАлиасыПравоОписание
/?/? | /? <page_or_command>—neoessentials.? по соглашениюShow available commands (alias)Алиас /help: тот же requires (neoessentials.help, консоль проходит), тот же executeHelp. Нет ветки <command> <page>. В каталоге узел выведен как neoessentials.? — это соглашение реестра, проверка идёт по neoessentials.help.
/announce/announce <message>—neoessentials.broadcastBroadcast a message (alias)Алиас /broadcast, право neoessentials.broadcast.
/antioch/antioch [flavour]—neoessentials.antioch по соглашениюSpawn lit TNT at your look target ( easter egg)Только игрок. Луж 20 блоков, PrimedTnt fuse 80. Любой greedy-аргумент включает две строки Holy Hand Grenade на весь сервер, TNT всё равно спавнится. Право neoessentials.antioch.
/anvil/anvil—neoessentials.anvil по соглашениюOpen portable anvilТолько игрок (консоль — player_only). Виртуальное меню stillValid=true, физического блока нет. Корневой .requires — instanceof ServerPlayer. Право neoessentials.anvil проверяется PermissionValidator (консоль с OP 2 сюда всё равно не попадёт из-за requires). XP за ремонт списывается как у обычной наковальни.
/backup/backup—neoessentials.backup по соглашениюTrigger a server world save and backupsave(null, true, false) по всем уровням, затем ProcessBuilder от commands.backupCommand (пустая строка / «save-all» — только сейв). Команда режется по пробелам, inheritIO, не ждёт завершения. Право neoessentials.backup.
/bb/bb <player>—neoessentials.bb по соглашению каталог /helpReturn a non-member of your current region to spawnКоманда Farmstead Claims (или исходного RegionGuard), а не NeoEssentials. Нужна базовая нода regionguard.command, а также статус owner или member обычного региона (не __global__) под игроком. Указанный игрок должен быть онлайн и находиться в том же регионе; owner/member этого же региона остаётся на месте, гость немедленно телепортируется на настроенный spawn NeoEssentials (если он установлен) либо на ванильный spawn и получает сообщение о возврате. Warmup и сообщения обычной /spawn не вызываются. В /help описание команды показывается по-русски: «Вернуть гостя текущего привата на спавн».
/bc/bc <message>—neoessentials.broadcastBroadcast a message (alias)Алиас /broadcast, право neoessentials.broadcast.
/bcastworld/bcastworld <message>—neoessentials.broadcastworldBroadcast to world (alias)Алиас: performPrefixedCommand «broadcastworld …», право neoessentials.broadcastworld.
/beezooka/beezooka [amount]—neoessentials.beezooka по соглашениюLaunch angry bees Только игрок. amount Integer 1–20, по умолчанию 1. Пчёлы с persistent anger 400–800 тиков. Право neoessentials.beezooka.
/bigtree/bigtree—neoessentials.treeGrow a large tree (alias)Зовёт тот же обработчик с type=bigoak (fancy_oak). Право neoessentials.tree.
/bottom/bottom—neoessentials.bottom по соглашениюTeleport to the bottom of the worldТолько игрок. Ищет самый нижний твёрдый блок с двумя воздухом сверху между minBuildHeight и текущим Y, пишет back через MiscTeleportManager. Нет безопасного места — no_safe.
/break/break—neoessentials.break по соглашениюBreak the looked-at blockТолько игрок, луч 20 блоков, destroyBlock без дропа. Бедрок — только с neoessentials.break.bedrock. Консоль: дерево видно, execute — player_only.
/broadcast/broadcast <message>—neoessentials.broadcast по соглашениюBroadcast a message to all playersgreedyString. Плейсхолдеры PlaceholderAPI от отправителя (консоль — без игрока). Префикс §6[Broadcast] §f, цветные коды. Шлётся всем игрокам и в системный чат сервера — отдельного «отправлено N» нет. Консоль проходит.
/broadcastworld/broadcastworld <message>—neoessentials.broadcastworld по соглашениюBroadcast to players in your worldТолько игроки текущего src.getLevel() (у консоли это обычно overworld). Префикс §6[World] §e. Плейсхолдеры PlaceholderAPI.
/burn/burn <target> [seconds]—neoessentials.burn по соглашениюSet a player on fireЦель обязательна. Seconds Integer 1–600, по умолчанию 10. Ставит remainingFireTicks = seconds×20. Отдельного burn.others нет — хватает neoessentials.burn. Консоль проходит.
/compass/compass [player]—neoessentials.compass по соглашениюShow your compass directionБез цели — только игрок, neoessentials.compass. С целью EntityArgument.player() и compass.others; консоль может смотреть чужой. Показывает стороны света, координаты, биом, дистанцию до спавна. Дополнительный литерал bearing регистрируется, но в каталоге /help его нет.
/coords/coords [player]—neoessentials.getposGet your current position (alias)Алиас /getpos, право neoessentials.getpos.
/craft/craft—neoessentials.craftingOpen portable crafting table (alias)Алиас /crafting. Право neoessentials.crafting, не neoessentials.craft. Выключается ключом commands.crafting, отдельного commands.craft нет.
/crafting/crafting—neoessentials.crafting по соглашениюOpen portable crafting tableТолько игрок (консоль — player_only). Виртуальное меню stillValid=true, физического блока нет. Право neoessentials.crafting через PermissionValidator. Алиасы craft и workbench регистрируются тем же методом, если commands.crafting включён.
/day/day—neoessentials.time.setSet time to dayСтавит 1000 во все миры. Право neoessentials.time.set, не neoessentials.time.
/depth/depth [player]—neoessentials.depth по соглашениюShow your depthКорневой .requires — instanceof ServerPlayer: консоль не выполнит даже /depth <player>. Своё — neoessentials.depth; чужое EntityArgument.player() — depth.others. Море Y=63, бедрок Y=−64. Описания слоёв зашиты по-английски (Deepslate Level, Nether Floor…).
/direction/direction [player]—neoessentials.compassShow your compass direction (alias)Алиас /compass, право neoessentials.compass / compass.others.
/ec/ec <target>—neoessentials.enderchestView another player's ender chest (alias)Алиас /enderchest, право neoessentials.enderchest.
/ecedit/ecedit <target>—neoessentials.enderchest.editView and edit another player's ender chest (alias)Алиас /enderchestedit, право neoessentials.enderchest.edit.
/effect/effect <target> clear | /effect <target> <effect> [duration] [amplifier]—neoessentials.effect по соглашениюApply potion effects to playersЦель обязательна (онлайн word). duration 1–1000000 с, по умолчанию 30; amplifier 0–255, по умолчанию 0. Эффект — path или namespace:path. Перекрывает ванильный /effect. Консоль проходит.
/enderchest/enderchest <target>—neoessentials.enderchest по соглашениюView another player's ender chestТолько чужой/указанный EC, своего без цели нет. В отличие от invsee, себя не запрещает — /ec <свой ник> откроет. Право neoessentials.enderchest.
/enderchestedit/enderchestedit <target>—neoessentials.enderchest.editView and edit another player's ender chestЖивой EC цели, замок один редактор. Право neoessentials.enderchest.edit, ключ commands.enderchestedit.
/exp/exp | /exp show [target] | /exp set <amount> [target] | /exp give <amount> [target]—neoessentials.exp по соглашениюManage player experienceПорядок — amount затем target, не наоборот. Bare /exp и show — свои XP (консоль без цели — player_only). set: neoessentials.exp.set, amount ≥ 0 (сначала обнуляет уровни/очки, потом giveExperiencePoints). give: exp.give, amount ≥ 1. Чужие set/give — exp.set.others / exp.give.others. Цель только онлайн.
/ext/ext [target]—neoessentials.ext по соглашениюExtinguish a playerrequires: p == null || узел — консоль и командный блок проходят без OP. Цель — word, только онлайн getPlayerByName. clearFire(). Чужой — ext.others.
/extinguish/extinguish [target]—neoessentials.extExtinguish a player (alias)Алиас /ext, право neoessentials.ext / ext.others.
/feed/feed [target]—neoessentials.feed по соглашениюRestore player hungerrequires: p == null || узел — консоль и командный блок проходят без OP. Цель — word, только онлайн getPlayerByName. Только голод и saturation 20, эффекты не трогает. Чужой — feed.others.
/fireball/fireball [type] [speed] [ride]—neoessentials.fireball по соглашениюShoot a projectileТолько игрок. По умолчанию type=fireball, speed=2.0, без ride. Типы-подсказки: fireball, small, large, arrow, skull, egg, snowball, expbottle, dragon, trident, windcharge. speed Double 0–10. ride — литерал, право fireball.ride. После корневого fireball execute дополнительно требует fireball.<type> или fireball.* — для голого /fireball это fireball.fireball (узла в реестре нет) либо fireball.*.
/firework/firework clear | /firework power <level> | /firework fire [amount] | /firework color <options>—neoessentials.firework по соглашениюEdit or fire held firework rocketsКорневого .executes нет — голый /firework не выполняется. Нужна ракета в основной руке. power Integer 0–127; fire 1–50 и отдельное neoessentials.firework.fire; color — greedyString: hex[,hex] и опционально fade:/shape (star, large, creeper, burst) / trail|twinkle|flicker. Только игрок.
/fly/fly | /fly on | /fly off | /fly <target> | /fly <target> on | /fly <target> off—neoessentials.fly по соглашениюToggle flight moderequires: p == null || узел — консоль и командный блок проходят без OP. Цель — word, только онлайн getPlayerByName. Порядок не [on|off] [player], а сначала цель, либо голые on/off на себя. Чужой — neoessentials.fly.others на ветке target. Без on/off — invert mayfly, при выключении сбрасывает flying и fallDistance. Включённое состояние сохраняется по UUID и восстанавливается после входа, если у игрока по-прежнему есть neoessentials.fly.
/fw/fw—neoessentials.fw по соглашениюEdit or fire held firework rockets (alias)Только запись каталога /help. Commands.literal("fw") нет — алиас не работает. Используйте /firework.
/gamemode/gamemode survival|creative|adventure|spectator [target] | /gamemode 0|1|2|3—neoessentials.gamemode по соглашениюChange player gamemodeИмена режимов — литералы, не word. Числа 0–3 = survival/creative/adventure/spectator и не принимают [target]. Чужой — gamemode.others. Консоль без цели — player_only. Перекрывает ванильный /gamemode. Цель — онлайн word.
/gc/gc—neoessentials.gc по соглашениюShow server memory and TPS infoАптайм JVM, TPS из getAverageTickTimeNanos (cap 20), used/total/max MB, сумма загруженных чанков. Консоль проходит.
/getpos/getpos [player]—neoessentials.getpos по соглашениюGet your current positionБез цели — игрок, neoessentials.getpos. С целью — getpos.others. Точные и блочные координаты, свет, блок под ногами, эквивалент Незер/Обычный мир. Дополнительный литерал pos в дереве есть, в каталоге нет.
/give/give <target> <item> [amount]—neoessentials.give по соглашениюGive items to a playerЦель и предмет обязательны. item — word (без NBT/компонентов); резолв WorthManager.resolveItem: namespace:path, иначе minecraft:path, иначе exact path любого мода, иначе contains. amount Integer 1–3456, по умолчанию 1; стопки режутся по maxStack, лишнее drop. Перекрывает ванильный /give. С /crate key give не пересекается — это подкоманда /crate.
/gma/gma [player]—neoessentials.gamemodeChange to adventure modeЯрлык Adventure. Та же схема прав и цели, что /gms.
/gmc/gmc [player]—neoessentials.gamemodeChange to creative modeЯрлык Creative. Та же схема прав и цели, что /gms.
/gms/gms [player]—neoessentials.gamemodeChange to survival modeЯрлык Survival. Включается commands.gamemode. Своё — neoessentials.gamemode, чужой EntityArgument.player() — gamemode.others. Уже в этом режиме — already_in_mode. Консоль без цели — player_only.
/gmsp/gmsp [player]—neoessentials.gamemodeChange to spectator modeЯрлык Spectator. Та же схема прав и цели, что /gms.
/god/god | /god on | /god off | /god <target> | /god <target> on | /god <target> off—neoessentials.god по соглашениюToggle god moderequires: p == null || узел — консоль и командный блок проходят без OP. Цель — word, только онлайн getPlayerByName. Включение дополнительно фулл-хилит и ставит голод 20, снимает с игрока цели ближайших мобов и не даёт мобам выбрать его новой целью. Чужой — god.others. Включённое состояние сохраняется по UUID и восстанавливается после входа, если у игрока по-прежнему есть neoessentials.god.
/grindstone/grindstone—neoessentials.grindstone по соглашениюOpen portable grindstoneТолько игрок (консоль — player_only). Виртуальное меню stillValid=true, физического блока нет. Право neoessentials.grindstone.
/hat/hat—neoessentials.hat по соглашениюWear held item as helmetТолько игрок. Меняет основную руку и слот брони 3 (шлем), даже если предмет «не шлем». Пустая рука — no_item.
/heal/heal [target]—neoessentials.heal по соглашениюRestore player health and hungerrequires: p == null || узел — консоль и командный блок проходят без OP. Цель — word, только онлайн getPlayerByName. Полное HP, голод 20, saturation 20, removeAllEffects. Мёртвого не лечит (heal.dead). Чужой — heal.others.
/help/help | /help <page_or_command> | /help <command> <page>—neoessentials.help по соглашениюShow available commandsПеред регистрацией рефлексией снимает ванильные узлы help и ?. Один word-аргумент: чистое число ≥ 1 — номер страницы (по 10 команд), иначе поиск по имени/описанию в каталоге CommandRegistry. Вторая страница только у /help <command> <page>, у /? её нет. Список фильтруется по реальному узлу из CommandPermissionRegistry; консоль и держатели neoessentials.admin / neoessentials.* видят всё. Описание сначала ищется по полному синтаксису без плейсхолдеров (например, cmd.rg.flag.clear.description), затем по корню (cmd.bb.description); поэтому отдельные ветки /rg показываются с разными русскими описаниями. Игрок может набрать корень любой команды NeoEssentials или её алиаса в любом регистре (/HOME, /Home, /home); регистр аргументов и подкоманд не меняется. Узел — neoessentials.help (не neoessentials.?).
/ice/ice [target]—neoessentials.ice по соглашениюFreeze a playersetTicksFrozen(getTicksRequiredToFreeze()+1) — механика порошкового снега, не ледяной блок. Своё — neoessentials.ice; чужой word онлайн — ice.others. Консоль без цели — player_only.
/info/info—neoessentials.info по соглашениюGet player information (alias)Не алиас /whois, несмотря на описание в каталоге. Печатает header + активный MOTD (только {player}/{name}) + footer со ссылкой на /rules. Право neoessentials.info (default true). Консоль проходит (p == null).
/inv/inv <target>—neoessentials.invseeView another player's inventory (alias)Алиас /invsee, не redirect: своё requires. Режим определяется так же: `neoessentials.invsee` — просмотр, `neoessentials.invsee.edit` — редактирование.
/invsee/invsee <target>—neoessentials.invsee по соглашениюView another player's inventoryЦель EntityArgument.player() обязательна. Консоль проходит requires, но execute — getPlayerOrException (нужен игрок). Аудит — neoessentials/inventory_audit.log. С `neoessentials.invsee` открывается read-only окно (mayPickup/mayPlace=false); с `neoessentials.invsee.edit` — редактируемый живой инвентарь и замок «один редактор на цель». Нода `.edit` также даёт доступ к самой команде и имеет приоритет над просмотром. Свою инвентарь смотреть нельзя (invsee.self). Включается commands.invsee.
/kill/kill <target>—neoessentials.kill по соглашениюKill a playerЦель обязательна — себя без ника не убить (в отличие от ванильного /kill). Только онлайн-игрок. exempt + отсутствие kill.force у игрока-отправителя блокирует; консоль обходит exempt. genericKill. Перекрывает ванильный /kill (сущности/селекторы больше не работают).
/killme/killme | /killme confirm—neoessentials.suicideKill yourself (alias)Алиас /suicide, право neoessentials.suicide. Включается commands.suicide.
/kittycannon/kittycannon—neoessentials.kittycannon по соглашениюLaunch an exploding baby cat Только игрок. Детёныш-кот (age −24000) с импульсом взгляда×2; через 20 тиков discard + explode power 0, ExplosionInteraction.NONE — блоков не ломает. Право neoessentials.kittycannon.
/lightning/lightning [target]—neoessentials.lightning по соглашениюStrike lightning at a playerБез цели — удар в точку луча 100 блоков (нужен игрок). С целью — в ноги онлайн-игрока, право lightning.others. Консоль без цели — player_only.
/list/list—neoessentials.list по соглашениюList online playersНет аргументов. С ванишем без neoessentials.vanish.see скрытые не показываются. При загруженном LuckPerms — строки по primary group (вес убывает, default всегда снизу); иначе одна серая «Players:». Консоль проходит PermissionValidator при OP 2.
/mem/mem—neoessentials.gcShow server memory info (alias)Алиас /gc, право neoessentials.gc.
/mob/mob <mob> [amount]—neoessentials.spawnmobSpawn entities (alias)Алиас /spawnmob без ветки [target] — заспавнить у другого игрока этой командой нельзя. Право neoessentials.spawnmob.
/more/more [amount]—neoessentials.more по соглашениюFill held stack to maxТолько игрок, основная рука. Без amount — maxStackSize; иначе Integer 1–3456 (можно больше максимума стопки). Пустая рука — no_item. Консоль: дерево видно (p == null), execute — player_only.
/motd/motd | /motd set <message> | /motd clear | /motd reload | /motd broadcast | /motd profile list | /motd profile create <name> <message> | /motd profile delete <name> | /motd profile switch <name> | /motd profile info [name] | /motd rotation enable <intervalMinutes> | /motd rotation disable | /motd rotation next—neoessentials.motdView message of the dayКорень закрыт allowsAny: neoessentials.motd / motd.set / motd.broadcast / motd.reload / motd.profile / motd.rotation — достаточно одного, чтобы увидеть дерево. Голый /motd всё равно проверяет neoessentials.motd внутри. set/clear — motd.set; reload — motd.reload; broadcast — motd.broadcast (шлёт только игрокам с motd); ветка profile — motd.profile; rotation — motd.rotation (интервал Integer 1–10080). set и create: greedyString, & → §, плейсхолдеры {player}/{online}/{max}/{time} и PlaceholderAPI.
/n/n <message>—neoessentials.noticeSend a configurable server noticeАвтоматически ставит перед текстом красный префикс §c[Объявление] §7>> §r. Аргумент — greedyString; поддерживаются цветовые коды & и плейсхолдеры PlaceholderAPI от отправителя, поэтому сам текст можно оформить любым цветом. Доступ: neoessentials.notice либо OP уровня 2; консоль также проходит. Сообщение рассылается напрямую как системное и не попадает в обработчики обычного чата.
/near/near [radius]—neoessentials.near по соглашениюFind nearby playersТолько игрок. Радиус Integer 1–500, по умолчанию 100. Та же размерность, ваниш — попарно canViewerSeeVanishedPlayer. Клик /tp в подсказке только при neoessentials.teleport.tp. Консоль не работает.
/nearby/nearby [radius]—neoessentials.nearby по соглашениюFind nearby players (alias)Отдельное дерево, те же 1–500 / 100. Проверка — neoessentials.near, не neoessentials.nearby. Включается ключом commands.nearby независимо от commands.near.
/night/night—neoessentials.time.setSet time to nightСтавит 13000 во все миры. Право neoessentials.time.set.
/nuke/nuke [target]—neoessentials.nuke по соглашениюRain TNT on a playerНе удаление сущностей. Без цели — все онлайн; с целью — один ник. Над каждым 5×5 сетка PrimedTnt (шаг 5, −10..10) на maxBuildHeight, fuse 80 тиков. Право neoessentials.nuke. Консоль без цели бомбит всех.
/online/online—neoessentials.listList online players (alias)Алиас /list, право neoessentials.list.
/ping/ping [player]—neoessentials.ping по соглашениюCheck your pingБез аргумента — свой ping (консоль получит player=null из PermissionValidator.success() и уйдёт в latency() — не вызывайте без цели). Чужой: EntityArgument.player() (только онлайн) и neoessentials.ping.others (по умолчанию true). Качество — английские строки Excellent…Terrible, не из lang.
/playtime/playtime [target]—neoessentials.playtime по соглашениюCheck player play timeЦель — word + онлайн-ник (getPlayerByName). Счётчик: Stats.PLAY_TIME плюс миллисекунды текущей сессии из sessionStart (кладётся в onPlayerJoin). Консоль без цели — player_only. Чужой — neoessentials.playtime.others.
/pong/pong—neoessentials.pong по соглашениюCheck your ping (alias)Только запись каталога /help (registerCommand в NeoEssentials.java). Commands.literal("pong") в исходниках нет — в автодополнении Brigadier команды не будет, /pong ничего не выполнит. Смотрите /ping.
/potion/potion clear | /potion add <effect> [duration] [amplifier]—neoessentials.potion по соглашениюEdit potion effects on held potion itemНе /effect: правит POTION_CONTENTS предмета в руке (potion / splash / lingering / tipped_arrow). duration 1–1000000 с default 30; amplifier 0–255 default 0. Корневого .executes нет. Только игрок. Право neoessentials.potion.
/ptime/ptime | /ptime reset [target] | /ptime <time> [target]—neoessentials.ptime по соглашениюSet per-player time overrideКлиентский ClientboundSetTimePacket, серверное время не меняет. Bare — показать. reset снимает; <time> — sunrise/day/morning/noon/afternoon/sunset/night/dusk/midnight или ticks; «reset» в word тоже даёт −1. Чужой — ptime.others. Карта в памяти, onPlayerQuit стирает.
/pweather/pweather | /pweather reset [target] | /pweather sun [target] | /pweather clear | /pweather storm [target] | /pweather rain—neoessentials.pweather по соглашениюSet per-player weather overrideКлиентские RAIN/THUNDER_LEVEL_CHANGE. clear и rain — синонимы sun/storm, но без ветки [target]. Чужой — pweather.others. Состояние в памяти, при выходе сбрасывается. Грома отдельно нет.
/realname/realname <player>—neoessentials.realname по соглашениюFind player by nicknameБез аргумента — usage. Ищет онлайн: точный ник, затем никнейм без &-кодов, затем contains. Несколько совпадений печатает список (до 10). Офлайн не ищет. Право neoessentials.realname.
/recipe/recipe [item]—neoessentials.recipe по соглашениюShow/unlock recipe for an itemТолько игрок. Без item — предмет в основной руке. Иначе word → minecraft:path. awardRecipes всем рецептам с этим результатом. Перекрывает ванильный /recipe (ветки give/take больше нет).
/remove/remove <type> [radius]—neoessentials.remove по соглашениюRemove entities in radiusТолько игрок. type: all, items, drops, mobs, animals, monsters, arrows, xp, paintings, boats, minecarts, tnt. Радиус Integer 1–10000, по умолчанию 200. Игроков не трогает. Неизвестный type совпадёт с 0 удалений. Не путать с /rules remove.
/rest/rest [target]—neoessentials.rest по соглашениюReset your sleep timer (prevent phantoms)Не голосование за пропуск ночи. resetStat(TIME_SINCE_REST) — сбрасывает таймер фантомов. Своё — neoessentials.rest (default true); чужой — rest.others. Консоль без цели — player_only.
/rg/rg define <id> | /rg claim <id> | /rg redefine <id> | /rg remove <id> | /rg delete <id> | /rg list | /rg tp <id> | /rg clearowners <id> | /rg clearmembers <id> | /rg info [id] | /rg addowner <id> <player> | /rg addmember <id> <player> | /rg delowner <id> <player> | /rg delmember <id> <player> | /rg flag <id> list | /rg flag <id> <flag> <value> | /rg flag <id> clear <flag> [value]—neoessentials.rg по соглашению каталог /helpCreate a region from your current selectionhelpCatalogOnly: NeoEssentials не строит Brigadier для /rg. Дерево принадлежит моду приватов — Farmstead Claims («farmstead_claims») или исходному RegionGuard («regionguard»); эти 17 строк, а также /bb <player>, попадают в /help только если на старте загружен farmstead_claims или regionguard. В /help каждая ветка /rg получает своё переведённое описание (например, define, list и flag clear), а не общий текст для корня /rg. Без мода /rg и /bb в каталоге нет и NE их не регистрирует. Права и поведение — у мода приватов, не у узлов neoessentials.rg.
/rtoggle/rtoggle | /rtoggle on | /rtoggle off | /rtoggle <target> | /rtoggle <target> on | /rtoggle <target> off—neoessentials.rtoggle по соглашениюToggle /r reply-to-sender directionКуда отвечает /r: enabled (по умолчанию) — последнему, кому писали вы; disabled — последнему, кто писал вам. Чужой — rtoggle.others. Консоль без цели — player_only. Состояние в памяти процесса.
/rules/rules | /rules <page> | /rules add <rule> | /rules remove <number> | /rules edit <number> <newText> | /rules insert <number> <rule> | /rules clear | /rules reload—neoessentials.rules по соглашениюView server rulesПросмотр — neoessentials.rules (default true), по 10 строк, page Integer ≥ 1. Админ-ветки — rules.admin. add/edit/insert: greedyString, & → §. Нумерация с 1. Файл config/neoessentials/rules_data.json; устаревший rules.json мигрирует сам. PermissionValidator (консоль = OP 2).
/seen/seen <player>—neoessentials.seen по соглашениюCheck when player was last seenБез аргумента корневой .executes отвечает usage и возвращает 0. Ищет онлайн по точному нику, иначе case-insensitive по seen_data.json (UUID → активность). Консоль: PermissionValidator, нужен source.hasPermission(2). Файл config/neoessentials/seen_data.json.
/smite/smite [target]—neoessentials.lightningStrike lightning (alias)Алиас /lightning, право neoessentials.lightning.
/spawner/spawner <mob>—neoessentials.spawner по соглашениюChange a spawner typeТолько игрок, луч 6 блоков, блок должен быть SPAWNER. Кроме neoessentials.spawner нужен spawner.<mob> или spawner.*. id без «:» → minecraft:. Меняет setEntityId, дропов нет.
/spawnmob/spawnmob <mob> [amount] [target]—neoessentials.spawnmob по соглашениюSpawn entitiesamount Integer 1–100, по умолчанию 1. Без target — у ног отправителя (консоль — player_only). Чужой — spawnmob.others. finalizeSpawn COMMAND. id без «:» → minecraft:.
/speed/speed <speed> [target] | /speed walk <speed> [target] | /speed fly <speed> [target]—neoessentials.speed по соглашениюSet walk or fly speedrequires: p == null || узел — консоль и командный блок проходят без OP. Цель — word, только онлайн getPlayerByName. Float 0–10 → Minecraft 0.0–1.0 (cap 1.0). Голый /speed <n> смотрит, летит ли цель сейчас (abilities.flying), а не mayfly. Walk — MOVEMENT_SPEED; fly — Abilities.flyingSpeed + onUpdateAbilities. Чужой — speed.others.
/stonecutter/stonecutter—neoessentials.stonecuttingOpen portable stonecutter (alias)Алиас /stonecutting. Право neoessentials.stonecutting.
/stonecutting/stonecutting—neoessentials.stonecutting по соглашениюOpen portable stonecutterТолько игрок (консоль — player_only). Виртуальное меню stillValid=true, физического блока нет. Право neoessentials.stonecutting. Дополнительно регистрируется литерал stonecut (в каталоге /help его нет — не отдельная claimed-команда).
/storm/storm—neoessentials.weatherSet weather to stormЯрлык /weather storm без длительности, право neoessentials.weather.
/sudo/sudo <target> <command> | /sudo * <command> | /sudo ** <command>—neoessentials.sudo по соглашениюRun a command as another playerЛитералы * и ** отдельные (word() не ест «*»). * — все кроме отправителя; ** — все включая. command — greedyString; префикс c: шлёт чат через ServerChatEvent (форматтер/мут/антиспам), иначе performPrefixedCommand без ведущего /. Себя по имени нельзя (sudo.self); exempt молча пропускается в bulk и блокирует одиночную цель, если отправитель — игрок (консоль обходит exempt).
/suicide/suicide | /suicide confirm—neoessentials.suicide по соглашениюKill yourselfТолько игрок. Первый вызов ставит окно 10 с; confirm убивает DamageTypes.GENERIC_KILL (не PvP). Кулдаун 30 с после успеха. Creative/Spectator — invalid_gamemode. Не алиас ванильного /kill.
/sun/sun—neoessentials.weatherSet weather to clearЯрлык /weather sun без длительности, право neoessentials.weather.
/thunder/thunder—neoessentials.weatherSet weather to thunderЯрлык /weather thunder без длительности, право neoessentials.weather.
/time/time | /time set <value> | /time add <value> | /time <value>—neoessentials.time по соглашениюGet or set world timeBare — текущие тики мира источника. set/add и shorthand value требуют neoessentials.time.set. Имена: sunrise=23000, day/morning=1000, noon=6000, afternoon=9000, sunset=12000, night/dusk=13000, midnight=18000, либо Long. Пишет setDayTime во ВСЕ измерения. Перекрывает ванильный /time.
/tree/tree <type>—neoessentials.tree по соглашениюGrow a tree at look targetТолько игрок, луч 20 блоков, сажает на блок выше попадания. Типы: oak, birch, spruce, jungle, acacia, darkoak, mangrove, cherry, azalea, bigoak, mega_spruce, mega_jungle. Право neoessentials.tree.
/unlimited/unlimited | /unlimited list [target] | /unlimited clear [target] | /unlimited <item> [target]—neoessentials.unlimited по соглашениюToggle unlimited item useBare и list печатают набор id. clear снимает всё. <item> тоглит id (minecraft: префикс или hand — id из руки отправителя). Чужой — unlimited.others. Набор в памяти, onPlayerQuit стирает. Пополнение стопки делает обработчик использования предмета.
/weather/weather sun|clear|rain|storm|thunder [duration]—neoessentials.weather по соглашениюSet world weatherduration Integer 1–1000000 секунд; 0 в коде → 6000 тиков (5 мин). clear=sun, rain=storm. Только измерения с hasSkyLight (Незер/Энд пропускаются). Перекрывает ванильный /weather.
/whereami/whereami [player]—neoessentials.getposGet your current position (alias)Алиас /getpos, право neoessentials.getpos.
/who/who—neoessentials.listList online players (alias)Алиас /list, право neoessentials.list.
/whois/whois <player>—neoessentials.whois по соглашениюGet player informationКорневого .executes нет. Две ветки: EntityArgument.player() (онлайн) и word playername. Offline-ветка вызывает getOfflinePlayerSeenInfo, который всегда Optional.empty() — офлайн-ник даст player_not_found. UUID/координаты/IP только при neoessentials.whois.detailed. Узел whois по умолчанию false. Не путать с /info.
/workbench/workbench—neoessentials.craftingOpen portable crafting tableАлиас /crafting. Право neoessentials.crafting. В каталоге объявлен с этим узлом явно.
/world/world | /world <dimension> [target]—neoessentials.world по соглашениюTeleport to a world/dimensionBare — список dimension().location(). Телепорт на shared spawn измерения; путь или полный id, case-insensitive. Чужой — world.others. Консоль без цели — player_only.
/xp/xp | /xp set <amount> | /xp give <amount>—neoessentials.expManage player experience (alias)Урезанный алиас /exp: те же права neoessentials.exp / exp.set / exp.give, но нет show и нет [target] на set/give — чужой XP этой командой не выдать. Ванильный /xp перекрыт.

Примеры#

Переключить режим себе и другому ярлыками#

Проверить, что /gms и /gmc ходят в то же дерево, что полный /gamemode, и что чужой режим закрыт отдельным узлом.

/gms
/gmc Steve
/gamemode spectator
/gamemode 1 Steve

/gms без цели ставит Survival отправителю (нужен neoessentials.gamemode; консоль получит player_only). /gmc Steve требует gamemode.others и онлайн-игрока EntityArgument — офлайн «player not found». /gamemode spectator — полный литерал, не число. /gamemode 1 Steve не разберётся: ветки 0–3 не принимают [target], единица — только себе. Уже находясь в этом режиме, ярлыки отвечают already_in_mode.

Портативные GUI без блока#

Открыть верстак и наковальню в поле, убедиться, что консоль это не сделает.

/workbench
/craft
/anvil
/grindstone
/stonecutter

workbench и craft — один обработчик /crafting (право neoessentials.crafting, ключ commands.crafting). anvil / grindstone / stonecutter — отдельные команды и ключи. Меню виртуальные (stillValid всегда true), опыт на наковальне списывается как обычно. Из консоли все пять ответят player_only (у anvil ещё и корневой requires ServerPlayer).

Объявление на весь сервер и только в своём мире#

Отличить /broadcast от /broadcastworld и увидеть, что плейсхолдеры берутся от отправителя.

/broadcast &6Рестарт через {online} игроков
/bc Техокно
/broadcastworld Только этот мир

/broadcast и /bc шлют всем онлайн и в системный чат сервера строку §6[Broadcast] §f… — отдельного «отправлено N» нет, своё сообщение вы увидите как получатель. {online} режет PlaceholderAPI. /broadcastworld помечает §6[World] §e и фильтрует по src.getLevel(): игрок в Незере не увидит объявление из Обычного мира; консоль обычно вещает в overworld.

Шуточные снаряды#

Проверить, что /antioch, /kittycannon и /beezooka требуют игрока и не работают из консоли.

/antioch
/antioch holy
/kittycannon
/beezooka 3

Смотрите в блок (луч 20). /antioch ставит TNT с запалом 80 тиков; любой хвост вроде holy дополнительно рассылает две строки Holy Hand Grenade. /kittycannon запускает котёнка, через секунду сущность пропадает и играет взрыв силы 0 (блоки целы). /beezooka 3 — три злые пчелы (лимит 20). Консоль на все три — player_only.

Farmstead Claims в справке, не в NeoEssentials#

Понять, почему /rg то есть в /help, то нет, и кто на самом деле выполняет команду.

/help rg
/rg list

Если загружен Farmstead Claims (или исходный RegionGuard), /help rg покажет 17 синтаксисов из каталога (define, claim, flag…). Сам /rg list выполняет мод приватов: NeoEssentials только вызвал registerCommand("rg …") при старте. Без мода приватов этих строк в /help нет, а /rg list либо неизвестная команда, либо дерево другого мода — NeoEssentials его не создаёт.

Тонкие места#

OP и узлы прав — три разных проверки#

Большинство деревьев в PlayerState/ServerAdmin/Fun/Utility пишут .requires(p == null || PermissionAPI.hasPermission(...)). Консоль, командный блок и функция проходят всегда. У игрока PermissionAPI при opsBypassPermissions: true (значение по умолчанию в config.json) отдаёт true любому OP, даже без узла. При permissions.requireExplicitGrant: true (поставка) registry-default сам доступ не даёт — не-OP нужен явный грант.

Команды на PermissionValidator (seen, ping, depth, anvil, crafting, rules, /motd целиком, suicide, list, near, whois, compass, getpos, gamemode-ярлыки) для не-игрока требуют source.hasPermission(2) — командный блок без OP 2 получит отказ. Игроку узел всё равно нужен, если он не OP и обход выключен.

Ярлыки /gms и полный /gamemode расходятся: ярлыки — PermissionValidator, /gamemode — PermissionAPI с p == null.

Что делать: Не-OP выдавайте узлы явно. Чтобы OP не получал /give и /nuke «просто так», поставьте opsBypassPermissions: false и раздайте узлы группам. Командные блоки с /sudo и /nuke ограничивайте ванильным OP и доступом к блокам.

Консоль против игрока#

GUI (anvil, crafting, grindstone, stonecutting), /hat, /more, /break, /tree, /fireball, /spawner, /recipe, /remove, /bottom, /suicide и все fun-команды в execute требуют ServerPlayer. /depth и /anvil дополнительно ставят .requires(instanceof ServerPlayer) — консоль не дойдёт даже до цели.

Чужой онлайн-ник принимают fly/god/heal/give/kill/effect: /give Steve diamond 64 из консоли работает. /ping и /compass без ника из консоли нельзя (свой ping/компас).

/nuke без аргумента из консоли бомбит всех онлайн. /list и /gc из консоли работают при OP 2 (Validator) или сразу (PermissionAPI).

Что делать: Из консоли всегда указывайте ник там, где есть [player]/[target]. Не оставляйте командный блок с голым /nuke.

/give не сталкивается с кейсами и ломает ванильный /give#

Ключи кейсов выдаёт /crate key give <player> <crate> <amount> — другой литерал, другой модуль. Совпадения с /give нет.

NeoEssentials регистрирует собственный /give <target> <item> [amount]: item это word без компонентов/NBT, amount 1–3456. Ванильный /give <targets> <item> с селекторами @a, количеством через компонент и data-компонентами в квадратных скобках после регистрации мода больше не разбирается — Brigadier держит узел мода.

Резолв предмета — WorthManager: minecraft:diamond, diamond или кусок пути (copper возьмёт первый id, где path содержит «copper»).

Что делать: Ванильную выдачу с NBT делайте через /minecraft:give. Для кейсов — только /crate key give. Не полагайтесь на порядок «первый diamond_ore vs diamond» в fuzzy contains.

Состояние /fly и /god сохраняется, остальные персональные переключатели — нет#

Включённые /fly и /god пишутся в коллекцию DataStore player_command_states по UUID и восстанавливаются при следующем входе. Восстановление требует, чтобы у игрока осталось соответствующее право neoessentials.fly или neoessentials.god; при снятом праве сохранённый флаг удаляется. playerTimes, playerWeather и unlimitedItems остаются картами в памяти и при выходе очищаются.

Что делать: Для постоянного полёта или защиты включите /fly или /god один раз. Для клиентского времени, погоды и unlimited используйте командный блок, скрипт или панель после входа.

/xp не равен /exp, /mob не равен /spawnmob#

/exp умеет show/set/give и [target] на set/give. /xp — только bare, set и give себе. /spawnmob <mob> [amount] [target] телепортирует спавн к другому игроку; /mob останавливается на amount. Оба алиаса в каталоге подписаны как полные, дерево короче.

Что делать: Чужой XP и мобов у другого игрока вызывайте каноническими /exp и /spawnmob.

Известные проблемы#

/pong и /fw есть в /help, в Brigadier их нет#

NeoEssentials.java вызывает registerCommand("pong") и registerCommand("fw"), поэтому строки попадают в каталог HelpCommand. Ни PingCommand, ни FunCommands не делают Commands.literal("pong") / literal("fw"). Автодополнение и разбор команды идут по дереву: /pong и /fw — неизвестные команды (или ваниль/другой мод, если кто-то ещё их занял).

Что делать: Пинг — /ping. Фейерверк — /firework clear|power|fire|color. Не обещайте игрокам алиасы из /help, пока литералы не появятся в исходнике.

/info в каталоге подписан как алиас whois, а выполняет другое#

registerCommand("info", "Get player information (alias)") описывает whois, но WhoisCommand литерал info не регистрирует. FunCommands вешает /info на печать MOTD + footer про /rules. Право neoessentials.info, аргументов нет — /info Steve не сработает как whois.

Что делать: Данные игрока — только /whois . /info трактуйте как краткий MOTD.

/compass печатает карточку дважды#

В ветке без цели CompassCommand подряд дважды вызывает showCompassInfo(...). Игрок видит дублирующийся блок «facing / coordinates / biome». Ветка с [player] вызывается один раз.

Что делать: Пока не исправят — смотрите первую карточку. Чужой /compass дубля не даёт.

/whois не показывает офлайн-игроков#

Ветка word вызывает showOfflinePlayerInfo → getOfflinePlayerSeenInfo, который всегда возвращает Optional.empty() (заглушка «integrate with SeenCommand»). Даже с neoessentials.whois.detailed офлайн-ник заканчивается player_not_found. Онлайн — EntityArgument.player() — работает.

Что делать: Офлайн-статус смотрите /seen (seen_data.json). /whois только для тех, кто сейчас в мире.

Голый /fireball требует несуществующий узел fireball.fireball#

Корневой requires проверяет neoessentials.fireball. executeFireball для типа по умолчанию "fireball" дополнительно требует neoessentials.fireball.fireball или neoessentials.fireball.*. Узла fireball.fireball в PermissionRegistry нет. Игрок с одним только fireball (и без OP-обхода) получит no_perm_type. Подсказка trident есть в PROJECTILE_TYPES, в switch его нет — спавнится large fireball.

Что делать: Выдайте neoessentials.fireball.* (или OP при opsBypassPermissions). Для трезубца не рассчитывайте на отдельную сущность.

/recipe, /give, /kill, /xp, /effect перекрывают ваниль#

Мод регистрирует те же литералы позже ванили. Пропадают: /recipe give, /give с селекторами и компонентами, /kill @e, полный /xp add/query, ванильный /effect. /help мод снимает рефлексией и ставит свой. Это не сбой разбора — последнее дерево побеждает.

Что делать: Ванильный разбор — с префиксом пространства имён: /minecraft:give, /minecraft:kill, /minecraft:recipe, /minecraft:xp, /minecraft:effect, /minecraft:help.

/rest не пропускает ночь#

Апстрим-wiki пишет «Skip the night (vote)». Реализация — resetStat(TIME_SINCE_REST): обнуляет счётчик бессонницы, из-за которого появляются фантомы. Игровой день, погода и sleep-vote не меняются.

Что делать: Ночь — /time night / /day или ванильный сон. /rest — только антифантомы.

Права 86#

УзелВ реестреЧто даёт
neoessentials.anvilреестр: даOpen portable anvil
neoessentials.broadcastреестр: нетBroadcast a message to all players
neoessentials.broadcastworldреестр: нетBroadcast to players in your current world
neoessentials.burnреестр: нетSet a player on fire
neoessentials.compassреестр: даView compass / bearing / coordinates info (/compass)
neoessentials.compass.othersреестр: нетView compass info for another player
neoessentials.craftingреестр: даOpen portable crafting table
neoessentials.depthреестр: даView depth/Y-level information
neoessentials.depth.othersреестр: нетView others' depth information
neoessentials.effectреестр: нетApply potion effects to players
neoessentials.enderchestреестр: нетView other players' ender chests
neoessentials.enderchest.editреестр: нетEdit other players' ender chests
neoessentials.expреестр: даView XP info
neoessentials.exp.giveреестр: нетGive XP to self
neoessentials.exp.give.othersреестр: нетGive XP to another player
neoessentials.exp.setреестр: нетSet own XP
neoessentials.exp.set.othersреестр: нетSet another player's XP
neoessentials.extреестр: даExtinguish self
neoessentials.ext.othersреестр: нетExtinguish another player
neoessentials.feedреестр: нетRestore own hunger
neoessentials.feed.othersреестр: нетRestore another player's hunger
neoessentials.flyреестр: нетToggle flight mode
neoessentials.fly.othersреестр: нетToggle flight for other players
neoessentials.gamemodeреестр: нетChange own gamemode
neoessentials.gamemode.othersреестр: нетChange others' gamemode
neoessentials.gcреестр: нетView server memory and TPS info
neoessentials.godреестр: нетToggle god mode (invincibility)
neoessentials.god.othersреестр: нетToggle god mode for other players
neoessentials.grindstoneреестр: даOpen portable grindstone
neoessentials.hatреестр: нетWear held item as helmet
neoessentials.healреестр: нетRestore own health and hunger
neoessentials.heal.othersреестр: нетRestore another player's health
neoessentials.helpреестр: даView command help list
neoessentials.helpopреестр: даSend a help request to staff
neoessentials.helpop.receiveреестр: нетReceive help-op requests
neoessentials.invseeреестр: нетView other players' inventories
neoessentials.invsee.editреестр: нетEdit other players' inventories
neoessentials.killреестр: нетKill players
neoessentials.kill.exemptреестр: нетExempt from being killed by /kill
neoessentials.kill.forceреестр: нетForce kill even exempt players
neoessentials.lightningреестр: нетStrike lightning at look target
neoessentials.lightning.othersреестр: нетStrike lightning at a named player
neoessentials.listреестр: даView online player list
neoessentials.moreреестр: нетFill held stack to max
neoessentials.motdреестр: даView the message of the day
neoessentials.motd.broadcastреестр: нетBroadcast MOTD to all online players
neoessentials.motd.profileреестр: нетManage MOTD profiles (create/delete/switch/info)
neoessentials.motd.reloadреестр: нетReload MOTD profiles from disk
neoessentials.motd.rotationреестр: нетControl MOTD auto-rotation (enable/disable/next)
neoessentials.motd.setреестр: нетSet MOTD on the active profile
neoessentials.nearреестр: даList nearby players
neoessentials.pingреестр: даView your ping
neoessentials.ping.othersреестр: даView another player's ping
neoessentials.playtimeреестр: даView own playtime
neoessentials.playtime.othersреестр: нетView another player's playtime
neoessentials.ptimeреестр: нетSet own per-player time override
neoessentials.ptime.othersреестр: нетSet another player's time override
neoessentials.pweatherреестр: нетSet own per-player weather override
neoessentials.pweather.othersреестр: нетSet another player's weather override
neoessentials.realnameреестр: даLook up real name from nickname
neoessentials.recipeреестр: даShow/unlock crafting recipe for an item
neoessentials.rtoggleреестр: даToggle /r reply direction
neoessentials.rtoggle.othersреестр: нетToggle /r reply direction for another player
neoessentials.rulesреестр: даView server rules
neoessentials.rules.adminреестр: нетManage server rules
neoessentials.seenреестр: даView when a player was last online
neoessentials.spawnerреестр: нетChange a mob spawner type
neoessentials.spawner.*реестр: нетChange spawner to any mob type
neoessentials.spawnmobреестр: нетSpawn entities at a player
neoessentials.spawnmob.othersреестр: нетSpawn entities at another player
neoessentials.speedреестр: нетSet walk/fly speed
neoessentials.speed.othersреестр: нетSet another player's speed
neoessentials.stonecuttingреестр: даOpen portable stonecutter
neoessentials.sudoреестр: нетRun commands as another player
neoessentials.sudo.exemptреестр: нетCannot be sudo'd by non-console
neoessentials.suicideреестр: даKill yourself with /suicide
neoessentials.timeреестр: нетView current world time
neoessentials.time.setреестр: нетSet or add world time
neoessentials.treeреестр: нетGrow a tree at look target
neoessentials.unlimitedреестр: нетToggle unlimited item use
neoessentials.unlimited.othersреестр: нетToggle unlimited items for another player
neoessentials.weatherреестр: нетSet world weather
neoessentials.whoisреестр: нетView detailed player info
neoessentials.whois.detailedреестр: нетView detailed player information
neoessentials.worldреестр: нетTeleport to a world/dimension
neoessentials.world.othersреестр: нетTeleport another player to a world

Подробное руководство#

Раздел ниже — исходная документация проекта (docs/Wiki/UtilitySystems.md). Ссылки на другие страницы вики переписаны на этот сайт; текст самих руководств не редактируется, чтобы синк с апстримом не давал конфликтов.

Version: 1.0.4+build.16


Table of Contents#

  1. Player Info Commands
  2. Nicknames
  3. MOTD System
  4. Rules System
  5. Helpop
  6. Suicide
  7. Depth
  8. Player State Commands
  9. Per-Player Time & Weather
  10. Server Admin Commands
  11. World Interaction
  12. Fun Commands
  13. Mail

Overview#

Miscellaneous quality-of-life commands covering player info, server admin tools, world/environment manipulation, fun commands, and player state management.


Player Info Commands#

Command Aliases Permission Description
/seen <player> — neoessentials.seen Show online/offline status with location or last-seen time
/near [radius] /nearby neoessentials.near List nearby players and their distance (default 100 blocks, max 500)
/ping [player] /pong neoessentials.ping Show own latency (colour-coded). Checking others requires neoessentials.ping.others
/playtime [player] — neoessentials.playtime Show total play time in h/m/s. Others requires neoessentials.playtime.others
/whois <player> — neoessentials.whois Show UUID, dimension, coords, gamemode, ping, health, food. Detailed view requires neoessentials.whois.detailed
/realname <nick> — neoessentials.realname Look up real username from nickname
/list /who, /online neoessentials.list List online players with count
/motd — neoessentials.motd Display the active server MOTD

Permissions note: neoessentials.whois is an admin-only node (default: false). Use neoessentials.whois.detailed for detailed diagnostics (IPs, internal flags). neoessentials.ping.others is granted to all players by default.


Nicknames#

Commands#

Command Permission Description
/nick neoessentials.nick Show your current nickname
/nick <name> neoessentials.nick Set your nickname
/nick reset neoessentials.nick Remove your nickname
/nick off neoessentials.nick Alias for /nick reset
/nickname … neoessentials.nick Full alias — redirects to /nick
/setnick <player> <name> neoessentials.nick.others Set another player's nickname (admin)
/setnick <player> reset neoessentials.nick.others Remove another player's nickname (admin)

Permission nodes#

Node Default Description
neoessentials.nick true Set / clear own nickname
neoessentials.nick.color false Use &-colour codes in nickname
neoessentials.nick.others false Set / clear another player's nickname

Nickname rules#

  • Length: 3–16 characters (after stripping colour codes).
  • Characters: a-z A-Z 0-9 _ & # § only.
  • Uniqueness: case-insensitive; two players cannot share the same plain-text nick.
  • Colour codes: &0–9, &a–f, &k–r, and hex &#RRGGBB are all supported when the player has neoessentials.nick.color.

Storage#

Nicknames are persisted in config/neoessentials/nickname_data.json (UUID → raw nick string with & codes). They are loaded on server start and re-applied to all online players.


MOTD System#

The MOTD (Message of the Day) system supports multiple named profiles, auto-rotation, and web-dashboard management.

Commands#

Command Permission Description
/motd neoessentials.motd Show the active MOTD
/motd set <message> neoessentials.motd.set Set the active profile's MOTD text
/motd clear neoessentials.motd.set Clear the active profile's MOTD
/motd reload neoessentials.motd.reload Reload all profiles from disk
/motd broadcast neoessentials.motd.broadcast Broadcast active MOTD to all online players
/motd profile list neoessentials.motd.profile List all profiles and the active one
/motd profile create <name> <message> neoessentials.motd.profile Create or overwrite a named profile
/motd profile delete <name> neoessentials.motd.profile Delete a profile (at least one must remain)
/motd profile switch <name> neoessentials.motd.profile Switch the active profile
/motd profile info [name] neoessentials.motd.profile Show details for a profile (defaults to active)
/motd rotation enable <minutes> neoessentials.motd.rotation Enable auto-rotation every N minutes
/motd rotation disable neoessentials.motd.rotation Disable auto-rotation
/motd rotation next neoessentials.motd.rotation Rotate to the next profile immediately

Color codes#

Use & color codes in MOTD messages (e.g. &aGreen text &cRed text). They are converted to § automatically.

Profiles#

Profiles are persisted through the pluggable DataStore backend (JSON by default — see Storage Backend), across two collections:

  • motd_profiles — one record per profile, keyed by profile name, holding motd/author/timestamp
  • motd_meta — a single "settings" record holding activeProfile, rotationEnabled, rotationIntervalMinutes, and rotationCurrentIndex

Legacy file: config/neoessentials/motd_data.json (both the multi-profile layout and the older single-MOTD-at-root layout) is only read once, automatically, to migrate its contents into the DataStore collections above the first time the profile collection is empty — it is never written to again afterward.

Dashboard API#

The dashboard exposes /api/motd for full profile management:

Method Path Description
GET /api/motd Get all profiles + rotation settings
GET /api/motd/active Get the active profile only
POST /api/motd/profiles Create/update a profile {name, motd, author?}
DELETE /api/motd/profiles/{name} Delete a profile
PUT /api/motd/active Switch active profile {name}
PUT /api/motd/rotation Update rotation {enabled, intervalMinutes}
POST /api/motd/rotation/next Rotate to next profile immediately
POST /api/motd/broadcast Broadcast active MOTD to online players

Rules System#

The Rules system stores server rules in config/neoessentials/rules_data.json.
Rules are auto-generated with sensible defaults on first startup if no file exists.

Commands#

Command Permission Description
/rules neoessentials.rules Display rules (page 1)
/rules <page> neoessentials.rules Show a specific page
/rules add <text> neoessentials.rules.admin Append a new rule
/rules remove <n> neoessentials.rules.admin Remove rule number n
/rules edit <n> <text> neoessentials.rules.admin Replace rule number n
/rules insert <n> <text> neoessentials.rules.admin Insert rule before position n
/rules clear neoessentials.rules.admin Remove all rules
/rules reload neoessentials.rules.admin Reload rules from disk without a server restart

Color codes#

Use & color codes in rule text (e.g. &cNo griefing). They are converted to § automatically when displayed.

Data file#

Rules are stored in config/neoessentials/rules_data.json:

{
  "rules": [
    "&6Be respectful to all players and staff members",
    "&cNo griefing, stealing, or destroying other players' builds",
    "&eNo spamming in chat or using excessive caps"
  ]
}

Location: config/neoessentials/rules_data.json
Generated automatically: Yes — 10 default rules are written on first start if the file is absent.
Edit in-game: Use /rules add, /rules edit, /rules remove.
Edit on disk: Modify rules_data.json directly, then run /rules reload in-game.

Legacy migration: Servers upgrading from NeoEssentials <1.0.2.6 may have rules.json.
NeoEssentials automatically detects and migrates it to rules_data.json on first load — no manual action needed.

Console feedback#

NeoEssentials logs detailed guidance to the console when rules fail to load:

╔══════════════════════════════════════════════════════╗
║  RULES LOAD ERROR: rules_data.json is corrupt JSON  ║
║  File: config/neoessentials/rules_data.json         ║
║  Error: Unexpected character ...                    ║
║  Fix:  Delete the file and run /rules reload to     ║
║        regenerate defaults, then re-add your rules. ║
╚══════════════════════════════════════════════════════╝

If the file is simply missing, NeoEssentials creates it automatically and logs its absolute path along with quick-start edit instructions.

Dashboard API#

The dashboard exposes /api/rules for full rule management:

Method Path Description
GET /api/rules List all rules with 1-based index
POST /api/rules Replace all rules {"rules": ["...", ...]}
POST /api/rules/add Append a rule {"rule": "..."}
PUT /api/rules/{n} Edit rule at position n {"rule": "..."}
DELETE /api/rules/{n} Delete rule at position n
POST /api/rules/reload Reload rules from disk

All /api/rules endpoints require Bearer-token authentication (same as every other dashboard endpoint).


Helpop#

The /helpop command lets players send requests to online staff. Staff receive them if they have the neoessentials.helpop.receive permission.

Commands#

Command Aliases Permission Description
/helpop <message> /ac, /amsg neoessentials.helpop Send a help request to all online staff

Permission nodes#

Node Default Description
neoessentials.helpop true Send a help request
neoessentials.helpop.receive false Receive help requests (staff)

Behaviour#

  • Messages are broadcast to all online players who have neoessentials.helpop.receive.
  • The sender's name is prefixed in the staff notification (e.g. [HelpOp] PlayerName: message).
  • Console operators always receive helpop messages.

Suicide#

Commands#

Command Aliases Permission Description
/suicide /killme neoessentials.suicide Kill yourself (requires confirmation)
/suicide confirm /killme confirm neoessentials.suicide Confirm the suicide within 10 seconds

Behaviour#

  1. /suicide displays a confirmation prompt. Players have 10 seconds to type /suicide confirm.
  2. If the confirmation window expires, the prompt is silently cancelled.
  3. After a successful suicide, a 30-second cooldown prevents spamming.
  4. /suicide is blocked in Creative and Spectator modes.
  5. Death uses DamageTypes.GENERIC_KILL (does not count as PvP; no attacker credited).

Note: /kill is the vanilla admin command (can target entities). NeoEssentials' /suicide is strictly self-only and is intentionally not aliased to /kill.


Depth#

Shows Y-coordinate information including depth below sea level and height above bedrock.

Commands#

Command Permission Description
/depth neoessentials.depth Show own depth/elevation info
/depth <player> neoessentials.depth.others Show another player's depth info

Output#

  • Current Y level
  • Depth below / height above sea level (Y=63)
  • Height above bedrock (Y=−64)
  • Layer description (e.g. Deepslate Region, Nether, Diamond Level)

Player State Commands#

Command Syntax Permission Description
/fly /fly [on\|off] [player] neoessentials.fly Toggle flight
/god /god [on\|off] [player] neoessentials.god Toggle god mode
/heal /heal [player] neoessentials.heal Full health, hunger, and saturation
/feed /feed [player] neoessentials.feed Full hunger and saturation
/speed /speed [walk\|fly] <0-10> [player] neoessentials.speed Set walk or fly speed
/ext /ext [player] neoessentials.ext Extinguish fire
/extinguish alias same Alias
/burn /burn <player> [seconds] neoessentials.burn Set fire ticks on a player
/give /give <player> <item> [amount] neoessentials.give Give items to a player
/more /more [amount] neoessentials.more Fill held stack to max
/hat /hat neoessentials.hat Wear held item as helmet
/exp /exp [show\|set\|give] [amount] [player] neoessentials.exp Show, set, or give XP
/xp alias same Alias for /exp
/gamemode /gamemode <mode\|0-3> [player] neoessentials.gamemode Change gamemode
/gms, /gmc, /gma, /gmsp shortcut same Gamemode shortcuts

Per-Player Time & Weather#

Command Syntax Permission Description
/ptime /ptime [reset\|day\|noon\|night\|<ticks>] [player] neoessentials.ptime Set client-side time (server time unaffected)
/pweather /pweather [reset\|sun\|storm\|clear\|rain] [player] neoessentials.pweather Set client-side weather

Server Admin Commands#

Command Syntax Permission Description
/broadcast /broadcast <message> neoessentials.broadcast Server-wide announcement
/bc, /announce aliases same Aliases
/broadcastworld /broadcastworld <message> neoessentials.broadcastworld Broadcast to current world only
/bcastworld alias same Alias
/time /time [set\|add] <value\|day\|night…> neoessentials.time (view) / neoessentials.time.set (set/add) Get/set server time
/day, /night shortcuts neoessentials.time.set Shortcuts (use the set-time permission, not neoessentials.time)
/weather /weather <sun\|storm\|thunder> [dur] neoessentials.weather Set server weather
/sun, /storm, /thunder shortcuts same Shortcuts
/sudo /sudo <player> <command> neoessentials.sudo Run a command as another player
/gc /gc neoessentials.gc Show TPS, memory, uptime, chunks
/mem alias same Alias
/backup /backup neoessentials.backup Trigger a server backup
/kill /kill <player> neoessentials.kill Kill a player
/spawner /spawner <mob> neoessentials.spawner Set spawner type at looked block
/spawnmob /spawnmob <mob> [amount] [player] neoessentials.spawnmob Spawn entities at a player
/mob alias same Alias
/effect /effect <player> <effect\|clear> [dur] [amp] neoessentials.effect Apply/clear potion effects
/unlimited /unlimited [list\|clear\|<item\|hand>] [player] neoessentials.unlimited Unlimited item mode (never depleted)
/recipe /recipe [item] neoessentials.recipe Unlock crafting recipes for an item

World Interaction#

Command Syntax Permission Description
/fireball /fireball [type] [speed] [ride] neoessentials.fireball.<type> Shoot a projectile (11 types)
/tree /tree <type> neoessentials.tree Grow a tree at your feet
/bigtree /bigtree neoessentials.tree Grow a big tree
/break /break neoessentials.break Instantly break looked-at block
/ice /ice [player] neoessentials.ice Fully freeze a player (powder snow mechanic)
/lightning /lightning [player] neoessentials.lightning Strike lightning
/smite alias same Alias
/remove /remove <type> [radius] neoessentials.remove Remove entities by type in radius
/nuke /nuke neoessentials.nuke Remove all nearby entities
/tptoggle /tptoggle [on\|off] neoessentials.tptoggle Toggle receiving TP requests
/msgtoggle /msgtoggle [on\|off] neoessentials.msgtoggle Toggle receiving private messages
/rtoggle /rtoggle [on\|off] neoessentials.rtoggle Toggle receiving /reply messages

Fun Commands#

Command Syntax Permission Description
/me /me <action> neoessentials.me Broadcast a third-person action message
/firework /firework clear\|power <0-127>\|fire [amount]\|color <hex[,hex]> [fade:<hex>] [shape:<shape>] [effect:<effect>] neoessentials.firework (fire additionally needs neoessentials.firework.fire) Edit and launch the firework rocket you're holding — there's no bare /firework with no subcommand
/antioch /antioch neoessentials.antioch Launch a Holy Hand Grenade 🐇
/kittycannon /kittycannon neoessentials.kittycannon Launch a kitten
/beezooka /beezooka neoessentials.beezooka Launch bees
/rest /rest neoessentials.rest Skip the night (vote)
/info /info neoessentials.info Show server/mod info
/itemdb /itemdb [item] neoessentials.itemdb Show registry info for held/named item

Mail#

Command Syntax Permission Description
/mail read /mail read [page] neoessentials.mail Read your mail
/mail send /mail send <player> <message> neoessentials.mail.send Send mail
/mail sendtemp /mail sendtemp <player> <duration> <message> neoessentials.mail.sendtemp Send expiring mail (duration like 30s/5m/2h/1d/1w)
/mail sendall /mail sendall <message> neoessentials.mail.sendall Broadcast mail to all players (admin)
/mail sendtempall /mail sendtempall <duration> <message> neoessentials.mail.sendtempall Broadcast expiring mail to all players (admin)
/mail delete /mail delete <id> neoessentials.mail Delete a single message by its short ID
/mail clear /mail clear [index] neoessentials.mail.clear Clear your mailbox or a specific message
/mail clear /mail clear <player> [index] neoessentials.mail.clear.others Clear another player's mailbox (admin)
/mail clearall /mail clearall neoessentials.mail.clearall Wipe every player's mailbox (admin)

Back to Wiki Home