Чтобы создать блок-пломбу для инструмента, нужен не “особый предмет”, а правило, какие блоки он может ломать. В ваниле это делается через команду /give: вы выдаёте предмет с параметрами CanDestroy (и, при необходимости, ограничением на размещение через CanPlaceOn).

Что именно можно ограничить

Ограничение работает так:
- CanDestroy - какие блоки предмету разрешено ломать
- CanPlaceOn - где предмет можно ставить (полезно для блоков, которые являются “основанием”)

Если в CanDestroy нет нужного блока, предмет будет вести себя обычным образом или не сможет корректно добывать блок, в зависимости от типа предмета и версии игры.

Вариант 1. Выдать инструмент или блок, который ломает только выбранные блоки (Java Edition)

Шаг 1. Найдите ID блоков, которые вы хотите разрешить

Например:
- кварцевый блок: minecraft:quartz_block
- земля (как пример для CanPlaceOn): minecraft:dirt

ID можно сверить в вики по нужным блокам.

Шаг 2. Составьте команду /give с CanDestroy

Общий вид команды для примера с блоком:

/give @a minecraft:diamond_block{CanPlaceOn:["minecraft:dirt"],CanDestroy:["minecraft:quartz_block"]}

Смысл:
- minecraft:diamond_block - выдаваемый предмет
- CanPlaceOn - куда этот блок можно ставить
- CanDestroy - какие блоки он будет ломать

Этот же принцип применяется, когда вы задаёте список блоков. Можно перечислять несколько значений в массиве.

Шаг 3. Уточните, кому выдавать и сколько

Для одиночного игрока:

/give Steve minecraft:diamond_block{CanDestroy:["minecraft:quartz_block"]}

Для всех:

/give @a minecraft:diamond_block{CanDestroy:["minecraft:quartz_block"]}

Вариант 2. Если вы хотите “секретный” предмет под конкретные правила

Иногда нужно не только ограничить ломание, но и запретить лишние действия (например, чтобы предмет не выбросили). Для этого есть теги item_lock.

Примеры (Java Edition):
- предмет нельзя сдвинуть из слота:

/give @r wooden_shovel 1 0 {"item_lock":{"mode":"lock_in_slot"}}
  • предмет нельзя выбросить и создавать с ним:
/give @s iron_axe 1 0 {"item_lock":{"mode":"lock_in_inventory"}}

Это не управляет ломанием напрямую, но помогает удержать предмет только в нужном виде на сервере или в карте.

Таблица: какие теги отвечают за что

Задача Какой тег использовать Где указывать Пример
Разрешить ломать только выбранный блок CanDestroy в данных предмета в команде /give {CanDestroy:["minecraft:quartz_block"]}
Разрешить ставить на выбранные поверхности CanPlaceOn в данных предмета в команде /give {CanPlaceOn:["minecraft:dirt"]}
Запретить перемещение предмета item_lock (lock_in_slot) в данных предмета {"item_lock":{"mode":"lock_in_slot"}}
Запретить выбрасывание и использование для создания item_lock (lock_in_inventory) в данных предмета {"item_lock":{"mode":"lock_in_inventory"}}

Типичные ошибки

  1. Путают CanDestroy и CanPlaceOn.
    CanPlaceOn про размещение, CanDestroy про ломать.
  2. Ставят неверный ID блока.
    Один лишний символ, и правило не сработает.
  3. Думают, что это ограничит “в целом всё ломание”.
    Работает именно в рамках параметров предмета. Если вы выдаёте не тот тип предмета, эффекта может быть меньше или он будет другим.
  4. Проверяют не на том клиенте/сервере и не на той версии.
    Синтаксис и поддержка тегов зависят от издания и версии.

Полезные ссылки

  • Minecraft Wiki (команда /give, аргументы и примеры, в том числе CanPlaceOn и CanDestroy): https://minecraft.fandom.com/ru/wiki/%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8/give