Если ты когда-нибудь мечтал добавить в Minecraft свои собственные достижения, чтобы удивить друзей или просто прокачать свою карту — ты попал по адресу! В этом посте мы разберём, как создать кастомные достижения, что для этого нужно, какие подводные камни могут встретиться и как их обойти. Приготовься к погружению в мир JSON, триггеров и иконок — но не переживай, всё будет просто и понятно!


Что такое достижения в Minecraft и зачем они нужны

Достижения (advancements) — это такие виртуальные медали, которые игрок получает за выполнение определённых условий в игре. Они делают процесс прохождения более увлекательным и дают ощущение прогресса. Создавая свои достижения, ты можешь задать уникальные цели для игроков на своей карте или в моде.


Структура файлов достижений — где и как хранить

Чтобы Minecraft увидел твои достижения, нужно положить их в правильную папку проекта. Вот как выглядит путь к файлу:

src/main/resources/assets/твоймод/advancements/имя_достижения.json

Например:

src/main/resources/assets/mycoolmod/advancements/first_step.json

В этой папке ты создаёшь JSON-файлы — каждый описывает одно достижение.


Основные поля достижения — что и зачем

В JSON-файле достижения есть несколько ключевых полей, которые нужно заполнить:

Поле Описание Пример значения
display Визуальная часть: иконка, название, описание, рамка См. ниже
icon Иконка достижения — предмет или блок Minecraft "item": "minecraft:wool", "data": 6
title Название достижения — можно использовать переводимые строки (translate) или прямой текст "translate": "advancements.tutorial.key.title" или "text": "Первый шаг"
description Описание достижения — тоже переводимая строка или текст "translate": "advancements.tutorial.key.description"
frame Тип рамки вокруг достижения — влияет на визуал и значимость "goal", "task", "challenge"
criteria Условия получения достижения — триггеры и их параметры См. ниже

Как выбрать правильный frame

Поле frame задаёт стиль рамки достижения и его важность:

  • goal — крупная цель, например, "Победить дракона"
  • task — обычное задание, например, "Собрать 10 алмазов"
  • challenge — сложное достижение, например, "Выжить 100 дней"

Пример:

"frame": "goal"

Триггеры достижений — как задать условие

Триггеры — это события в игре, которые запускают проверку условия для достижения. Вот самые популярные:

Триггер Описание Пример использования
minecraft:recipe_unlocked Открытие рецепта крафта Получить достижение за изучение рецепта
minecraft:inventory_changed Изменение инвентаря игрока Получить достижение за наличие предмета

Пример условия с триггером inventory_changed:

"criteria": {
  "trigger": "minecraft:inventory_changed",
  "conditions": {
    "items": [
      {
        "item": "твоймод:твойпредмет"
      }
    ]
  }
}

Пример полного JSON достижения

{
  "display": {
    "icon": {
      "item": "minecraft:wool",
      "data": 6
    },
    "title": {
      "translate": "advancements.tutorial.key.title"
    },
    "description": {
      "translate": "advancements.tutorial.key.description"
    },
    "frame": "goal"
  },
  "criteria": {
    "recipe_unlocked": {
      "trigger": "minecraft:recipe_unlocked",
      "conditions": {
        "recipe": "tut:key"
      }
    }
  }
}

Переводы и текст — когда использовать translate, а когда прямой текст

Если ты хочешь, чтобы твои достижения были доступны на разных языках, используй ключи перевода (translate). Они ссылаются на строки в файлах локализации. Если же тебе не нужна многоязычность — можно просто написать текст прямо в JSON.


Как избежать проблем с текстурами и фоном достижений

Частая проблема — черно-фиолетовый фон ветки достижений. Это значит, что Minecraft не может найти нужную текстуру. Чтобы исправить:

  • Проверь, что все пути к иконкам и текстурам указаны правильно
  • Убедись, что файлы текстур действительно есть в папке ресурсов
  • Используй стандартные предметы Minecraft для иконок, если не хочешь заморачиваться

Тестирование достижений — как проверить, что всё работает

Чтобы проверить достижение:

  • Запусти игру с твоим модом или картой
  • Выполни условие достижения (например, получи нужный предмет)
  • Убедись, что достижение появляется в игре и отображается корректно

Если не сработало — проверь JSON на ошибки, правильность путей и триггеров.


Частые ошибки и как их избежать

Ошибка Как избежать
Неправильный синтаксис JSON Используй валидаторы JSON перед загрузкой
Неверные имена предметов Проверяй названия в Minecraft или документации
Ошибки регистра букв Minecraft чувствителен к регистру — будь внимателен
Отсутствие файлов локализации Добавляй переводимые строки или пиши текст прямо

Совместимость и версии Minecraft

  • Указывай, для какой версии Minecraft сделано достижение (например, 1.12, 1.17)
  • Помни, что разные версии могут иметь разные форматы достижений
  • Если используешь моды, уточняй совместимость с Forge или Fabric

Навигация и структура страницы с достижениями

Для удобства пользователей стоит разделить достижения по категориям и версиям:

Раздел Описание
По версиям игры Достижения, совместимые с конкретными версиями
По категориям Сборки модов, карты, патчи, инструкции
Дополнительно Фильтры по размеру, языку, безопасности
По разрешению Фильтр по разрешению текстур или интерфейса

Полезные советы для новичков

  • Начни с простых достижений — например, за сбор определённого предмета
  • Используй готовые шаблоны JSON и меняй под себя
  • Проверяй достижения в игре сразу после создания
  • Не бойся экспериментировать с триггерами и условиями

Таблица с примером триггеров и их применением

Триггер Описание Пример использования
recipe_unlocked Открытие рецепта Достижение за изучение нового рецепта
inventory_changed Изменение инвентаря Достижение за получение предмета
entity_killed_player Убийство игрока мобом Достижение за выживание
player_killed_entity Убийство моба игроком Достижение за охоту

Заключение

Создание своих достижений в Minecraft — это отличный способ сделать свою карту или мод уникальными. Следуй простым шагам, проверяй JSON на ошибки, используй правильные триггеры и не забывай тестировать. Помни, что поле frame задаёт важность достижения, а criteria — условие его получения. Иконки и переводы сделают твои достижения красивыми и понятными.


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


Теперь ты вооружён знаниями и готов творить свои достижения! Вперёд, покорять мир Minecraft с новыми целями и вызовами!