Farmstead Mods
EN

Предметы

Починка, зачарование, powertool, переименование, сжатие стеков и книги.

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

Команды 29#

КомандаСинтаксисАлиасыПравоОписание
/book/book | /book unlock | /book title <title> | /book author <author>—neoessentials.book по соглашениюManage booksБез аргумента выдаёт writable book. unlock / title / author работают с книгой в руке и требуют neoessentials.book.unlock / .title / .author.
/cartography/cartography—neoessentials.cartography по соглашениюOpen portable cartography tableПортативный стол картографа.
/cartographytable/cartographytable—neoessentials.cartographyOpen portable cartography table (alias)Алиас /cartography.
/ci/ci—neoessentials.item.clearinventoryClear inventory (alias)Алиас /clearinventory, отдельный флаг commands.ci.
/ciconfirmtoggle/ciconfirmtoggle—neoessentials.ciconfirmtoggle по соглашениюToggle /ci confirmation promptsПереключает флаг в памяти ciConfirmDisabled. /clearinventory этот флаг не читает — подтверждения всё равно нет.
/clear/clear—neoessentials.item.clearinventoryClear inventory (alias)В реестре справки объявлен как алиас очистки инвентаря, но ClearInventoryCommand регистрирует только clearinventory, ci и clearinv. Корневого Commands.literal("clear") у этой системы нет — в игре остаётся ванильный /clear.
/clearinventory/clearinventory—neoessentials.item.clearinventoryClear inventoryТолько себе, аргумента <player> нет. Чистит main + armor + offhand и пишет три числа. neoessentials.item.clearinventory. Подтверждения в коде команды нет.
/clearinventoryconfirmtoggle/clearinventoryconfirmtoggle—neoessentials.ciconfirmtoggleToggle /ci confirmation prompts (alias)Алиас /ciconfirmtoggle, то же право neoessentials.ciconfirmtoggle.
/condense/condense [<item>]—neoessentials.condense по соглашениюCompact items to their block formsСжимает по фиксированной таблице (самородки→слитки→блоки и т.п.). Без аргумента — все подходящие типы в инвентаре; <item> — word, сравнивается с полным id. Остаток, который не влез, падает под ноги.
/ctext/ctext [<chapter> [<page>]]—neoessentials.customtextDisplay a custom server text page (alias)Алиас /customtext.
/customtext/customtext [<chapter> [<page>]]—neoessentials.customtext по соглашениюDisplay a custom server text pageФайл config/neoessentials/text/<chapter>.txt, по 10 строк на страницу. Без аргументов — chapter info, page 1. Имя главы режется до [a-zA-Z0-9_-]. `{player}` и `&` заменяются при выводе.
/dispose/dispose [confirm|cancel]—neoessentials.item.disposeDispose of itemsБез аргумента открывает сундук 27 слотов. Предметы, положенные туда, держатся в pendingDisposals до confirm (уничтожить), cancel (вернуть) или выхода с сервера (вернуть). Закрытие GUI само по себе ничего не уничтожает.
/enchant/enchant <enchantment> [<level>] | /enchant <player> <enchantment> [<level>]—neoessentials.item.enchantEnchant itemsПерекрывает ванильный /enchant. <enchantment> — ResourceLocation из реестра, <level> целое 1–32767 (без аргумента — 1). Ветка с игроком требует neoessentials.item.enchant.others (или OP 2). unsafe — neoessentials.item.enchant.unsafe или глобальный unsafe-enchantments; any — neoessentials.item.enchant.any. Предмет — основная рука цели. Литералы ench и enchanthand в дереве есть при своих флагах, в реестре справки их нет.
/fix/fix—neoessentials.item.repairRepair items (alias)Тот же код, что /repair. Включается флагом commands.fix отдельно от commands.repair.
/i/i <item> [<amount>]—neoessentials.itemGive yourself an item by name (alias)Алиас /item, то же дерево аргументов и то же право neoessentials.item.
/item/item <item> [<amount>]—neoessentials.item по соглашениюGive yourself an item by nameВыдача себе по id. <item> — word (minecraft: префикс можно опустить), <amount> 1–64; без количества — defaultMaxStackSize. Только игрок, neoessentials.item. Не путать с /give из PlayerStateCommands (служебные команды).
/itemdb/itemdb [<item>]—neoessentials.itemdb по соглашениюLook up item registry infoБез аргумента — предмет в руке; иначе word-id. Печатает registry id, max stack, прочность.
/itemlore/itemlore add <text> | /itemlore set <line> <text> | /itemlore remove <line> | /itemlore clear—neoessentials.itemlore по соглашениюEdit held item lore<line> 1-based. add/set берут greedy text. Предмет в основной руке.
/itemname/itemname [<name>]—neoessentials.itemname по соглашениюRename held itemБез аргумента или имя `-` снимает CUSTOM_NAME. Иначе greedy-строка с `&`-цветами на предмет в руке. neoessentials.itemname.
/loom/loom—neoessentials.loom по соглашениюOpen portable loomПортативный ткацкий станок, neoessentials.loom.
/powertool/powertool list | /powertool remove | /powertool <command>—neoessentials.item.powertoolBind commands to itemsПривязка по типу предмета в основной руке, не по слоту. list/remove/<command> требуют neoessentials.item.powertool внутри executes. Строка, начинающаяся с «@p », не биндится, а сразу выполняет команду по всем онлайн кроме вас (нужен neoessentials.command.target). Корневого executes нет. В дереве также ptool (commands.ptool) и powertooltoggle/ptt — в реестре справки их нет. Привязки живут в HashMap процесса и пропадают при рестарте.
/powertoollist/powertoollist—neoessentials.powertoollist по соглашениюList all active powertool bindingsТолько свои привязки, право neoessentials.powertoollist (не item.powertool). Пустой список — ошибка empty.
/ptlist/ptlist—neoessentials.powertoollistList all active powertool bindings (alias)Алиас /powertoollist, то же право.
/rename/rename [<name>]—neoessentials.itemnameRename held item (alias)Алиас /itemname.
/repair/repair [all]—neoessentials.item.repairRepair itemsТолько игрок, право neoessentials.item.repair. Без аргумента чинит предмет в основной руке (setDamageValue(0)) и всегда пишет успех, даже если рука пустая или предмет без прочности. /repair all чинит все повреждённые предметы в основном инвентаре, броне и второй руке; ответ содержит число реально починенных предметов.
/sign/sign | /sign <line> <text> | /sign clear [<line>]—neoessentials.sign по соглашениюEdit sign textТабличка под прицелом. Без аргументов — показать 4 строки. <line> 1–4. clear без номера чистит все строки.
/skull/skull [<player>]—neoessentials.skull по соглашениюGet a player head itemГолова с профилем: без аргумента — своя, иначе word-ник (можно офлайн, если есть в profile cache; иначе GameProfile со случайным UUID и этим именем). Только себе в инвентарь.
/smithing/smithing—neoessentials.smithing по соглашениюOpen portable smithing tableПортативный стол кузнеца, neoessentials.smithing.
/trash/trash—neoessentials.item.disposeDispose of items (alias)Только открытие GUI, без веток confirm|cancel. Право neoessentials.item.dispose.

Примеры#

Выдать себе предмет, зачаровать и подписать#

Собрать именной меч без ванильного /give и без редактора NBT.

/item minecraft:diamond_sword
/enchant minecraft:sharpness 5
/itemname &bКлинок
/itemlore add &7Первый клинок сервера

item без количества кладёт полный стек по defaultMaxStackSize (у меча 1). enchant вешает чары на основную руку; уровень 5 пройдёт, если включены unsafe-enchantments или есть neoessentials.item.enchant.unsafe, иначе валидатор отвергнет. itemname ставит цветное имя; itemlore add дописывает строку. /give здесь не используется: это другая команда в служебных.

Привязать команду к типу предмета#

ПКМ палкой телепортирует домой, не занимая слот хоткея навсегда.

/item minecraft:stick 1
/powertool spawn
/powertool list
/powertoollist

Привязка ключуется id типа (minecraft:stick): любая палка в любой руке вызовет команду, ванильный ПКМ по блоку отменяется. list и powertoollist показывают одно и то же, но разные права (item.powertool vs powertoollist). Рестарт сервера обнуляет HashMap — привязку нужно поставить снова. Не используйте /pt для бинда: без аргументов это paytoggle (см. edgeCases).

Починить инструмент и выбросить мусор#

Починить кирку в руке и безопасно уничтожить хлам, с возможностью отменить.

/repair
/dispose
/dispose cancel

repair обнуляет damage основной руки и всегда пишет success; /repair all чинит все повреждённые предметы в инвентаре, броне и второй руке. dispose открывает 27 слотов; положенные туда предметы исчезают из инвентаря, но ещё не уничтожены — они в pending. cancel возвращает их; confirm уничтожает; выход с сервера тоже возвращает. Просто закрыть окно недостаточно, чтобы стереть вещи навсегда.

Сжать руду и посмотреть id предмета#

9 алмазов в блок и узнать точный registry id для китов/ящиков.

/condense diamond
/itemdb
/itemdb minecraft:diamond_block

condense diamond ищет minecraft:diamond (9→diamond_block). itemdb без аргумента описывает то, что в руке после сжатия; с аргументом — справочно, предмет в инвентарь не кладёт.

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

/pt — это paytoggle, подкоманды powertool на нём висят сбоку#

Экономика регистрирует Commands.literal("pt").executes(paytoggle) раньше. Powertool потом добавляет к тому же литералу детей list, remove и greedy <command> и не ставит свой корневой executes — Brigadier сливает узлы. Итог: /pt без аргументов переключает приём /pay (neoessentials.economy.paytoggle). /pt list, /pt remove, /pt spawn — powertool (neoessentials.item.powertool). В справке мода /pt числится как алиас powertool — это про каталог, не про корневой executes.

Что делать: Бинды ставьте через /powertool <command>. Для paytoggle используйте /paytoggle или голый /pt. Не документируйте /pt как замену /powertool.

/give этой системе не принадлежит#

/give регистрирует PlayerStateCommands (служебные команды), ванильно-подобный выдаче другому игроку. Выдача себе по короткому id — /item / /i (MiscItemCommands, amount 1–64). Путать их нельзя: другое дерево, другое право (neoessentials.give vs neoessentials.item).

Что делать: В гайдах по предметам пишите /item diamond 16, не /give.

/invsee: просмотр или правка по ноде#

Команды живут в InventoryViewCommands (в инвентаре — likelySystem utility, права neoessentials.invsee / .edit). /invsee и /inv при neoessentials.invsee открывают снимок через buildReadOnlyMenu: слоты с mayPickup/mayPlace = false. При neoessentials.invsee.edit та же команда открывает живой инвентарь цели и ставит lock «один редактор». Нода .edit также разрешает выполнить команду и имеет приоритет. Свою цель открыть нельзя. EntityArgument — только онлайн. Алиасы inv/ec/ecedit — полные литералы с requires(), не redirect().

Что делать: Модераторам выдавайте invsee (и при необходимости enderchest). Для редактирования чужого инвентаря выдавайте invsee.edit; отдельной команды больше нет.

Powertool: тип предмета, память процесса, @p#

Карта UUID → itemId → command — статический HashMap, на диск не пишется. ПКМ выполняет команду от имени игрока (performPrefixedCommand с его source) и отменяет ванильное действие (нельзя одновременно есть/ставить этот тип). Префикс @p в /powertool — не бинд, а немедленный прогон по всем прочим онлайн с правом neoessentials.command.target и подстановкой {player}. allowUnsafeCommands по умолчанию true; в false режутся @, ~, { и т.п.

Что делать: После рестарта привязки ставьте заново. Команду с селектором биндьте как обычную строку, не через @p — этот префикс сработает сразу.

/repair без аргумента всегда «успех», /clearinventory без цели и без confirm#

/repair all чинит все повреждённые предметы собственного основного инвентаря, брони и второй руки. Но /repair и /fix без аргументов чинят только основную руку, а сообщение success уходит даже если ничего не сломано. Очистка — только свой инвентарь (main+armor+offhand). isCiConfirmDisabled нигде, кроме самого тоггла, не вызывается.

Что делать: Для всей экипировки и инвентаря используйте /repair all. Чужой инвентарь чистите через /invsee с правом neoessentials.invsee.edit, не через /ci.

enchant перекрывает ваниль и путает первый аргумент#

Две соседние ветки: ResourceLocation и EntityArgument.player(). Ник, совпадающий с путём чар, может уйти не в ту ветку. Уровень в Brigadier не ниже 1. Совместимость предмета — грубая (isEnchantable); книги пропускаются. applyEnchantment при выключенном unsafe дополнительно сверяет getMaxLevel().

Что делать: Для другого игрока всегда /enchant <ник> <id чар> [уровень]. Небезопасные уровни — узел .unsafe или конфиг.

dispose: GUI ≠ уничтожение#

Комментарий в коде говорит «удаляются при закрытии», реализация другая: закрытие оставляет SimpleContainer в pendingDisposals. Уничтожение — только /dispose confirm. /trash ветки confirm не имеет — подтверждать всё равно /dispose confirm.

Что делать: После сортировки хлама в окне выполните /dispose confirm. Передумали — /dispose cancel или перезайдите.

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

Раньше /invsee копировал предметы в инвентарь смотрящего (исправлено)#

До build.214 /invsee//inv//ec//enderchest открывали ChestMenu над SimpleContainer с .copy() стака. Клиент мог вытащить копии, оригиналы оставались у цели. Сейчас read-only идёт через buildReadOnlyMenu (mayPickup/mayPlace = false). Правка шла через меню без слотов хотбара смотрящего — рассинхрон; слоты зрителя добавлены. Алиасы больше не redirect() без requires() (обход прав на /inv//ec закрыт).

Что делать: На текущей сборке дублирование через read-only окно не воспроизводится. Если игрок «вынес» вещи из /invsee — это либо старый билд, либо у него есть neoessentials.invsee.edit.

/ciconfirmtoggle ни на что не влияет#

MiscItemCommands.isCiConfirmDisabled ни один вызов /clearinventory//ci не читает: подтверждения нет, тоггл только пишет «enabled/disabled» в чат. Состояние в памяти, без DataStore.

Что делать: Не обещайте игрокам превью перед очисткой. Нужна страховка — не выдавайте neoessentials.item.clearinventory.

Права 29#

УзелВ реестреЧто даёт
neoessentials.bookреестр: даGive yourself a writable book
neoessentials.book.authorреестр: нетSet the author of a written book
neoessentials.book.titleреестр: нетSet the title of a written book
neoessentials.book.unlockреестр: нетUnlock a written book for editing
neoessentials.cartographyреестр: нетOpen portable cartography table
neoessentials.ciconfirmtoggleреестр: даToggle /clearinventory confirmation prompts
neoessentials.condenseреестр: нетCondense items to storage blocks
neoessentials.customtextреестр: даDisplay custom server text pages
neoessentials.itemреестр: нетGive yourself an item by name (/item)
neoessentials.item.clearinventoryреестр: нетClear inventory
neoessentials.item.clearinventory.othersреестр: нетClear others' inventory
neoessentials.item.disposeреестр: даUse disposal system
neoessentials.item.enchantреестр: нетEnchant items
neoessentials.item.enchant.anyреестр: нетEnchant any item (ignore restrictions)
neoessentials.item.enchant.othersреестр: нетEnchant others' items
neoessentials.item.enchant.unsafeреестр: нетUnsafe enchanting
neoessentials.item.powertoolреестр: нетUse powertools
neoessentials.item.powertool.toggleреестр: нетToggle powertools
neoessentials.item.repairреестр: нетRepair items
neoessentials.item.spawnреестр: нетUse /spawnitem command
neoessentials.itemdbреестр: нетLook up item registry information
neoessentials.itemloreреестр: нетEdit held item lore
neoessentials.itemnameреестр: нетRename held item
neoessentials.loomреестр: нетOpen portable loom
neoessentials.powertoollistреестр: даList all active powertool bindings
neoessentials.signреестр: даEdit sign text
neoessentials.sign.colorsреестр: нетUse colors in signs
neoessentials.skullреестр: нетGet a player head item
neoessentials.smithingреестр: даOpen portable smithing table

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

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

Version: 1.0.5+build.54 · Last verified: 2026-08-25


Overview#

Item management commands for repair, disposal, enchanting, inventory management, powertool bindings, and item utilities.


Commands#

Repair & Disposal#

Command Syntax Permission Description
/repair /repair [hand\|all] neoessentials.item.repair Repair held item or all items
/fix alias same Alias
/dispose /dispose neoessentials.item.dispose Open a disposal chest (items placed are destroyed)
/trash alias same Alias

Inventory#

Command Syntax Permission Description
/clearinventory /clearinventory [player] neoessentials.item.clearinventory Clear inventory
/ci alias same Alias
/clearinv alias same Alias
/ciconfirmtoggle /ciconfirmtoggle neoessentials.ciconfirmtoggle Toggle confirmation prompt for /ci (own dedicated node, distinct from neoessentials.item.clearinventory)
/clearinventoryconfirmtoggle alias same Alias
/invsee /invsee <player> neoessentials.invsee View a player's inventory (read-only)
/inv alias same Alias
/invseeedit /invseeedit <player> neoessentials.invsee.edit View and edit a player's inventory
/enderchest /enderchest [player] neoessentials.enderchest View a player's ender chest (read-only)
/ec alias same Alias
/enderchestedit /enderchestedit <player> neoessentials.enderchest.edit View and edit a player's ender chest
/ecedit alias same Alias

⚠️ Security fix (build.40) — Prior to build.40, /inv and /ec were registered as Brigadier redirect() nodes with no requires() predicate, which meant any player could bypass permission checks and open another player's inventory or ender chest. This has been fixed; each alias now carries its own permission check.
neoessentials.invsee and neoessentials.enderchest are granted to the moderator group by default. | /condense | /condense [item] | neoessentials.condense | Compact loose items to storage blocks |

Item Customisation#

Command Syntax Permission Description
/itemname /itemname [name\|-] neoessentials.itemname Rename held item (omit or - to clear)
/rename alias same Alias
/itemlore /itemlore add\|set <n>\|remove <n>\|clear <text> neoessentials.itemlore Edit held item lore lines
/more /more [amount] neoessentials.more Fill held stack to max
/hat /hat neoessentials.hat Wear held item as helmet
/item /item <id> [amount] neoessentials.item Give yourself an item by registry ID
/i alias same Alias
/skull /skull [player] neoessentials.skull Get a player head item

Enchanting#

Command Syntax Permission Description
/enchant /enchant <enchantment> [level] neoessentials.item.enchant Enchant held item (overrides vanilla /enchant)
/enchant <player> <enchantment> [level] /enchant <player> <enchantment> [level] neoessentials.item.enchant.others Enchant another player's held item
/ench alias for /enchant same Alias
/enchanthand /enchanthand <enchantment> [level] neoessentials.item.enchant Hand-only enchant command, gated independently of /enchant (its own config toggle)
/potion /potion add <effect> [duration] [amp] · /potion clear neoessentials.potion Edit potion effects on held potion (no remove subcommand — use clear to remove all)

neoessentials.item.enchant.unsafe allows enchant levels/combinations beyond vanilla limits; neoessentials.item.enchant.any allows enchanting item types the enchantment wouldn't normally apply to. Both are checked internally by /enchant — they aren't separate commands.

Powertool#

Command Syntax Permission Description
/powertool /powertool <command> neoessentials.item.powertool Bind a command to held item type
/powertool remove /powertool remove same Remove powertool from held item
/powertool list /powertool list same List all your powertool bindings
/ptool alias same Alias (full command tree, not just an alias name)
/powertooltoggle /powertooltoggle (none — open to any player) Toggle all powertools on/off
/ptt alias same Alias
/powertoollist /powertoollist neoessentials.powertoollist List active powertool bindings
/ptlist alias same Alias

Note: /powertooltoggle and /ptt have no dedicated permission node — any player who can run commands can toggle their own powertools on/off. /powertoollist//ptlist use a separate neoessentials.powertoollist node, distinct from neoessentials.item.powertool (which gates binding/removing/listing via the /powertool command itself).

How powertools work: - Bindings are stored by item type (not slot) — the command travels with the item regardless of which inventory slot it's in - Right-clicking with the item (on a block, mob, or in air) executes the bound command as you - /powertooltoggle globally enables/disables all your powertools without removing bindings - Use @p <command> syntax to execute the command on all other online players

Command Safety Filter

Before a command is accepted by /powertool, NeoEssentials runs it through a safety check.
If the command is rejected you will see:

Command contains potentially dangerous operations. Enable 'allowUnsafeCommands' in config to use this command.

or

Command contains unsafe characters. Enable 'allowUnsafeCommands' in config to use special characters.

Commands that work without any config change (common examples):

Command Notes
/give @s minecraft:diamond 1 Standard item give
/effect give @s minecraft:speed 30 1 Potion effect
/gamemode creative Mode switch
/say Hello Chat message
/neoe heal NeoEssentials shortcut

Commands blocked when allowUnsafeCommands is false:

Command Blocked because
/tp ~ 100 ~ Contains ~ (relative coords)
/tp ~0 ~10 ~0 Contains ~
/execute as @a run ... Contains @
/tellraw @a {"text":"hi"} Contains @ and {
/give @s shulker_box{Items:[]} Contains @ and {

allowUnsafeCommands ships true by default — the patterns above are not blocked out of the box. Set it to false if you want powertool bindings restricted to the simpler patterns in the "works without any config change" table above; leave it true (the default) to allow the full range of commands, including relative coordinates and selectors, in a powertool binding.

  • Split config mode: config/neoessentials/security.json → security.allowUnsafeCommands
  • Monolithic mode: config/neoessentials/config.json → security.allowUnsafeCommands

Then run /neoe reload — no restart needed.

ℹ️ Full details, all blocked patterns, and security advice are in SplitConfigs — Security Configuration.

Portable Workstations#

Command Permission Description
/anvil neoessentials.anvil Open portable anvil
/workbench / /crafting / /craft neoessentials.crafting Open portable crafting table
/grindstone neoessentials.grindstone Open portable grindstone
/smithing neoessentials.smithing Open portable smithing table
/stonecutting / /stonecutter neoessentials.stonecutting Open portable stonecutter
/loom neoessentials.loom Open portable loom
/cartography neoessentials.cartography Open portable cartography table

Back to Wiki Home