1. Вики
  2. /Предметы
  3. /Оружие и инструменты

Оружие и инструменты

Сделайте рубиновый меч и рубиновую кирку для Minecraft Bedrock: урон, прочность, зачарование, починка и скорость добычи.

В этом гайде вы сделаете из рубинов две вещи: рубиновый меч, который бьёт сильнее железного, и рубиновую кирку, которая быстро добывает камень и руды. По пути вы узнаете компоненты, которые использует любое оружие и любой инструмент: урон, прочность, зачарование, починку и копание.

Этот гайд продолжает гайд Ваш первый предмет. Шаги с иконкой, текстурой и названием там точно такие же, поэтому здесь мы сосредоточимся на новом.

Быстрый способ: GodCraft

В GodCraft есть готовые объекты «Меч» и «Инструмент». Вы выбираете числа, а приложение пишет компоненты и теги.

  1. Откройте Мастерскую и добавьте в аддон Меч или Инструмент.
  2. Нарисуйте его в пиксельном редакторе (по диагонали, рукоятью в левый нижний угол, как ванильные инструменты).
  3. Задайте урон, прочность, предметы для починки и зачарования.
  4. Нажмите Экспорт и испытайте его на ближайшем зомби.

А вот как это выглядит вручную.

Вручную: меч

Мы используем пространство имён myname. Везде замените его на своё.

BP/items/ruby_sword.json
{
  "format_version": "1.26.30",
  "minecraft:item": {
    "description": {
      "identifier": "myname:ruby_sword",
      "menu_category": {
        "category": "equipment",
        "group": "minecraft:itemGroup.name.sword"
      }
    },
    "components": {
      "minecraft:icon": {
        "textures": {
          "default": "myname_ruby_sword"
        }
      },
      "minecraft:display_name": {
        "value": "item.myname:ruby_sword.name"
      },
      "minecraft:max_stack_size": 1,
      "minecraft:hand_equipped": true,
      "minecraft:damage": 7,
      "minecraft:durability": {
        "max_durability": 900
      },
      "minecraft:enchantable": {
        "slot": "sword",
        "value": 14
      },
      "minecraft:repairable": {
        "repair_items": [
          {
            "items": ["myname:ruby"],
            "repair_amount": "query.max_durability * 0.25"
          },
          {
            "items": ["myname:ruby_sword"],
            "repair_amount": "context.other->query.remaining_durability"
          }
        ]
      },
      "minecraft:tags": {
        "tags": ["minecraft:is_sword"]
      }
    }
  }
}

Что делает каждая часть

  1. menu_category кладёт меч во вкладку Снаряжение (Equipment), в ту же папку, где лежат ванильные мечи.
  2. minecraft:max_stack_size равен 1, потому что оружие не складывается в стопки.
  3. minecraft:hand_equipped заставляет игрока держать предмет как инструмент, направленным вперёд, а не как плоский предмет.
  4. minecraft:damage - сколько урона добавляет предмет при атаке. Чем больше, тем сильнее. Для меча уровня алмазного начните примерно с 7, потом проверьте на нескольких мобах и подправьте.
  5. minecraft:durability - сколько износа выдержит предмет, прежде чем сломаться. У железных инструментов 250, у алмазных 1561. Можно также добавить damage_chance с процентами min и max, если хотите, чтобы прочность тратилась не каждый раз.
  6. minecraft:enchantable решает, какие зачарования подходят. slot - вид предмета (здесь sword), а value - насколько хорошие зачарования выпадают на столе зачарований: у золота очень высокое значение, у камня низкое, 14 - крепкая середина.
  7. minecraft:repairable перечисляет, чем можно починить предмет на наковальне. В каждой записи есть items и repair_amount - небольшая формула на Molang. Первая запись возвращает четверть прочности за каждый рубин. Вторая позволяет игрокам объединять два повреждённых меча.
  8. minecraft:tags с minecraft:is_sword сообщает игре и другим аддонам, что это меч.

Текстура и название

Сохраните PNG 16x16 в RP/textures/items/ruby_sword.png, затем добавьте его в item_texture.json (внутрь texture_data), а название - в языковой файл:

RP/textures/item_texture.json
"myname_ruby_sword": {
  "textures": "textures/items/ruby_sword"
}
RP/texts/en_US.lang
item.myname:ruby_sword.name=Ruby Sword
item.myname:ruby_pickaxe.name=Ruby Pickaxe

Вручную: кирка

Инструмент - это оружие с ещё одной работой: быстро ломать блоки. За эту работу отвечает minecraft:digger.

BP/items/ruby_pickaxe.json
{
  "format_version": "1.26.30",
  "minecraft:item": {
    "description": {
      "identifier": "myname:ruby_pickaxe",
      "menu_category": {
        "category": "equipment",
        "group": "minecraft:itemGroup.name.pickaxe"
      }
    },
    "components": {
      "minecraft:icon": {
        "textures": {
          "default": "myname_ruby_pickaxe"
        }
      },
      "minecraft:display_name": {
        "value": "item.myname:ruby_pickaxe.name"
      },
      "minecraft:max_stack_size": 1,
      "minecraft:hand_equipped": true,
      "minecraft:damage": 5,
      "minecraft:durability": {
        "max_durability": 900
      },
      "minecraft:enchantable": {
        "slot": "pickaxe",
        "value": 14
      },
      "minecraft:repairable": {
        "repair_items": [
          {
            "items": ["myname:ruby"],
            "repair_amount": "query.max_durability * 0.25"
          }
        ]
      },
      "minecraft:digger": {
        "use_efficiency": true,
        "destroy_speeds": [
          {
            "block": {
              "tags": "query.any_tag('stone', 'metal')"
            },
            "speed": 7
          },
          {
            "block": "minecraft:obsidian",
            "speed": 7
          }
        ]
      },
      "minecraft:tags": {
        "tags": ["minecraft:is_pickaxe", "minecraft:is_tool", "minecraft:diamond_tier"]
      }
    }
  }
}

Как работает копание

  • destroy_speeds - это список. Каждая запись говорит, какие блоки и с какой скоростью.
  • block может быть одним ID блока, например "minecraft:obsidian", или объектом с tags и запросом Molang. query.any_tag('stone', 'metal') подходит к каждому блоку, у которого есть хотя бы один из этих тегов, так что не нужно перечислять сотни блоков.
  • speed - как быстро ломаются эти блоки. Для ориентира: деревянные инструменты - 2, каменные - 4, железные - 6, алмазные - 8, незеритовые - 9, золотые - 12.
  • use_efficiency со значением true позволяет зачарованию «Эффективность» ускорять инструмент ещё больше.

Теги инструментов

Теги говорят Minecraft, что это за инструмент. minecraft:is_pickaxe и minecraft:is_tool означают «это кирка». Тег уровня вроде minecraft:iron_tier или minecraft:diamond_tier говорит, насколько инструмент силён, это те же теги, что у ванильных инструментов. Другие виды инструментов используют minecraft:is_axe, minecraft:is_shovel или minecraft:is_hoe.

Если нужен топор или лопата

Скопируйте кирку и поменяйте три вещи: slot в minecraft:enchantable (axe или shovel), теги блоков в destroy_speeds (например 'wood' для топора, 'dirt', 'sand' и 'gravel' для лопаты) и тег is_.

Проверьте

  1. Загрузите пакеты в новый мир (см. Экспорт и установка).
  2. Выдайте себе оба предмета командой /give:
Чат
/give @s myname:ruby_sword
/give @s myname:ruby_pickaxe
  1. Ударьте моба, накопайте камня и попробуйте зачаровать оба предмета на столе.
  2. Немного повредите их, а затем положите один на наковальню вместе с рубином, чтобы проверить починку.

Какие слоты зачарования можно использовать

slotЗачаровывается как
swordМеч
axe, pickaxe, shovel, hoeСоответствующий инструмент
bow, crossbowОружие дальнего боя
g_toolЛюбой инструмент
g_diggingЛюбой копающий инструмент
allЧто угодно

Если что-то пошло не так

Что вы видитеСкорее всего, причина
Предмет держится плоско, как листок бумагиНет minecraft:hand_equipped
Копает так же медленно, как кулакТеги блоков в destroy_speeds не совпадают или в запросе Molang опечатка
Его нельзя зачароватьНет minecraft:enchantable или slot написан с ошибкой
Наковальня его не чинитНеверный ID предмета в repair_items

Больше решений в разделе Когда что-то сломалось. Чтобы игроки могли скрафтить эти предметы, прочитайте Рецепты крафта и печи, а подходящую броню ищите в гайде Своя броня.

Предметы: Гайды

We use cookies to improve your experience and analyse site traffic. Learn more