Мод «Achievement Mod» для tModLoader добавляет возможность разблокировать достижения, как в ванильной версии Terraria, и поддерживает интеграцию достижений из других модов.

Описание Achievement Mod

Основные функции
Achievement Mod предлагает систему достижений, совместимую с ванильными достижениями и другими модификациями, что позволяет более полно отслеживать игровой прогресс и добавлять уникальные цели от других авторов. Основные возможности включают:

  • Разблокировка достижений: поддерживает ванильные достижения и достижения, добавляемые другими модами.
  • Гибкость настроек: можно создавать отдельные достижения для каждого игрока.
  • Управление достижениями через команды:
    • /achievement clear — сброс всех достижений.
    • /achievement grant [название достижения] — получение определенного достижения.
    • /achievement revoke [название достижения] — отмена достижения.
    • /achievement unlockvanilla — разблокировка всех ванильных достижений.

Сохранение прогресса
Прогресс достижений сохраняется в JSON-файле в папке «AchievementData», расположенной рядом с папками игроков и миров. Это позволяет продолжить прохождение даже при смене устройства.

Поддержка для разработчиков
Achievement Mod предоставляет простой API для добавления собственных достижений. Ключевые параметры для создания достижения:

  • Название и категория достижения
  • Путь к текстуре (размер 128×64): иконка для отображения состояния разблокировки/блокировки достижения.
  • Кастомная рамка (опционально): текстура 72×72 для уникальной рамки достижения.
  • Прогресс-бар и карточка достижения: можно отобразить прогресс выполнения условия и управлять порядком отображения.

Пример добавления достижения:

csharpКопировать кодmod.Call("AddAchievement", this, "AchievementName", AchievementCategory.Collector, "YourMod/Assets/Textures/Achievement", null, false, false, 2.5f, new string[] { "Collect_" + ItemID.RodofDiscord });

Типы условий для достижения
Achievement Mod поддерживает следующие условия для достижения цели:

  • Сбор предметов: "Collect_" + [ID предмета]
  • Крафт предметов: "Craft_" + [ID предмета]
  • Добыча блоков: "Mine_" + [ID блока]
  • Уничтожение НПС: "Kill_" + [ID NPC]
  • Особые события: "Event_ExampleEvent"

Также можно задать условия по увеличению значений (например, собрать 100 единиц ресурса).

Дополнительные команды
Команда /achievement debuglist позволяет вывести список всех доступных достижений (включая из модов) в лог-файл клиента для отладки и настройки.

Скачать Achievement Mod для Террарии