- Supports version
- 1.8.✘
- 1.9.✘
- 1.10.✘
- 1.11.✘
- 1.12.✘
- 1.13.✘
- 1.14.✘
- 1.15.✘
- 1.16.✘
- 1.17.✘
- 1.18.✘
- 1.19.✘
- 1.20.✘
- 1.21.✘
- Official page
- https://www.spigotmc.org/resources/116800/
- Documentation
- https://wiki.pixelstudios.dev/epicachievements
Описание плагина EpicAchievements:
EpicAchievements делает игру увлекательнее, добавляя более 20 видов достижений за такие задачи, как фермерство, исследование и битвы.Плагин включает испытания и многоуровневые достижения с настраиваемыми условиями и наградами. Интегрированный с популярными плагинами, он позволяет игрокам зарабатывать очки, получать награды и легко отслеживать свой прогресс.
Особенности плагина EpicAchievements:
20+ видов достижений
EpicAchievements предлагает более 20 встроенных видов достижений! Награждай игроков за фермерство, исследование, битвы и другие захватывающие задания!Испытания и многоуровневые достижения
Испытательные достижения включают одну цель, в то время как многоуровневые достижения имеют несколько уровней для прогресса игроков.Бесконечные интеграции
EpicAchievements предлагает бесконечные интеграции с популярными плагинами, такими как MythicMobs, ItemsAdder, Oraxen, MMOItems и многими другими!Условия
Сделай свои достижения уникальными с помощью настраиваемых условий! Устанавливай требования, такие как игровые режимы, определенные миры или предметы, чтобы формировать индивидуальное путешествие каждого игрока.Поддержка нескольких серверов
Синхронизируй прогресс между несколькими серверами, обеспечивая непрерывный игровой опыт. Для этого требуется база данных MySQL или MongoDB.Система наград
За выполнение достижений ты получаешь очки и открываешь специальные награды!Редактор в игре
Создавай достижения и категории прямо из игры в несколько кликов.Отслеживание прогресса
Выбирай, какие достижения отслеживать, и легко следи за своим прогрессом!API для разработчиков
Развивай свои идеи с помощью API для разработчиков: создавай пользовательские виды достижений, устанавливай уникальные условия и создавай новые награды, расширяя возможности еще больше!Команды плагина EpicAchievements:
Команды для игроков:
/achievements menu — Открывает главное меню достижений./achievements rewards — Открывает меню наград.
/achievements tracker — Открывает меню трекера.
Команды для админов:
/achievements setprogress <player> <achievement> <progress> — Устанавливает прогресс достижения для игрока./achievements unlock <player> <achievement> — Разблокирует достижение для игрока.
/achievements reset <player> [achievement/category/rewards] [id] — Сбрасывает прогресс достижения для игрока.
/achievements reload — Перезагружает плагин.
Права плагина EpicAchievements:
achievements.admin — Право, необходимое для использования админских команд.achievements.track — Право, необходимое для отслеживания достижений.
Конфигурация плагина EpicAchievements:
Достижения
Информация
Существует два типа достижений:- CHALLENGE — одиночный уровень
- TIERED — несколько уровней Тип автоматически определяется по количеству уровней.
Интерактивная настройка
Самый простой способ создать и редактировать достижения — использовать редактор в игре.Для доступа к нему введите команду /achievements editor.
Ручное редактирование конфигураций
Если ты опытный пользователь, ты можешь вручную редактировать конфигурации достижений.Замечание
Достижения находятся в папке plugins/EpicAchievements/achievements/<category>. Ты можешь иметь столько файлов достижений в категории, сколько захочешь. По умолчанию, редактор в игре создаст новые достижения в файле achievements.yml, если он не существует.Пример конфигурации достижения:
Файл: achievements/survival/achievements.yml YAML:
# Уникальный идентификатор. Не изменяй его, иначе игроки потеряют свой прогресс!
builder:
# Тип задачи: см. https://wiki.pixelstudios.dev/epicachievements/configuration/tasks
type: PLACE
# Название, используемое в сообщениях и меню
name: "Builder"
# Описание достижения
description:
- "&fPlace blocks."
# (Необязательно) Разрешение, необходимое для прогресса в достижении
# permission: achievements.builder
# Условия: см. https://wiki.pixelstudios.dev/epicachievements/configuration/conditions
blocks:
- STONE_BRICKS
- BRICKS
worlds:
- world
- resource_world
game-modes:
- SURVIVAL
# Список уровней. Должен быть хотя бы один уровень
tiers:
1:
# Прогресс, необходимый для завершения уровня
required-amount: 10
# Очки, присуждаемые за завершение уровня
points: 25
# Список наград. см. https://wiki.pixelstudios.dev/epicachievements/configuration/rewards
# Формат: REWARD_TYPE:VALUE
rewards:
- "VAULT:100"
- "COMMAND:say {player} has completed the Builder achievement!"
# Другие уровни можно добавить ниже
Задачи
EpicAchievements предлагает широкий спектр встроенных задач.Таблица задач:
Задача | Описание | Поддерживаемые условия | Минимальная версия Minecraft |
---|---|---|---|
ADVANCEMENT | Завершить достижение | Требует дополнительной настройки | 1.12 |
BREAK | Сломать блок | блоки | 1.8 |
BREED | Разводить существа | существа | 1.10 |
BREW | Варить предмет | предметы, эффекты зелий | 1.18 |
CONSUME | Потребить предмет | предметы | 1.8 |
CRAFT | Создать предмет | предметы | 1.8 |
DAMAGE | Нанести урон существу | существа | 1.8 |
DEATH | Умереть | 1.8 | |
DROP | Выбросить предмет | предметы | 1.8 |
ENCHANT | Зачаровать предмет | предметы | 1.8 |
FARM | Собирать урожай | блоки | 1.16 |
FISH | Поймать предмет при рыбалке | предметы | 1.8 |
KILL | Убить существо | существа | 1.8 |
MILK | Подоить существо | 1.8 | |
PICKUP | Подобрать предмет | предметы | 1.8 |
PLACE | Поставить блок | блоки | 1.8 |
PLACEHOLDER | Проверить плейсхолдер PlaceholderAPI | Требует дополнительной настройки | 1.8 |
PLAYTIME | Играть определенное количество времени | Время должно быть указано в секундах | 1.8 |
SHEAR | Постричь существо | существа | 1.8 |
SMELT | Переплавить предмет | предметы | 1.8 |
TAME | Приручить существо | существа | 1.8 |
WALK | Пройти определенное количество блоков | 1.8 |
Задача Advancement
Эта задача срабатывает, когда игрок завершает достижение. Редактор в игре не позволяет установить все необходимые свойства, поэтому рекомендуется редактировать конфигурации вручную.Внимание
Эти достижения ограничены только одним уровнем.Необходимо установить свойство advancement.
Если пространство имен не указано, по умолчанию будет использоваться minecraft. Список доступных достижений можно найти здесь. ID находится в столбце Resource location.
Пример конфигурации:
Файл: achievements/survival/achievements.yml Code:
birdwatcher:
type: ADVANCEMENT
# Можно также указать пользовательское пространство имен
# <namespace>:<resource-location>
advancement: "adventure/spyglass_at_parrot"
name: "Birdwatcher"
description:
- "&fWatch a parrot through a spyglass!"
tiers:
1:
required-amount: 1
points: 10
Задача Placeholder
Эта задача позволяет EpicAchievements интегрироваться практически с любым другим плагином, который имеет плейсхолдеры PlaceholderAPI. Редактор в игре не позволяет установить все необходимые свойства, поэтому рекомендуется редактировать конфигурации вручную.Плейсхолдеры, возвращающие целые числа
Конфигурация по сути такая же, как для других типов задач. Необходимо установить свойство placeholder.Пример конфигурации:
Файл: achievements/survival/achievements.yml YAML:
lumberjack:
type: PLACEHOLDER
placeholder: "%auraskills_foraging%"
name: "Professional Lumberjack"
description:
- "&fCut down trees!"
tiers:
1:
required-amount: 1
points: 10
2:
required-amount: 2
points: 15
3:
required-amount: 3
points: 20
Плейсхолдеры, возвращающие текст
Ты можешь использовать один из операторов ниже для проверки плейсхолдера. Необходимо установить свойство placeholder.
Оператор | Описание |
---|---|
EQUALS | Проверяет, совпадает ли вывод с указанным значением. |
EQUALS_IGNORE_CASE | Проверяет, совпадает ли вывод с указанным значением, игнорируя регистр. |
NOT_EQUALS | Проверяет, не совпадает ли вывод с указанным значением. |
NOT_EQUALS_IGNORE_CASE | Проверяет, не совпадает ли вывод с указанным значением, игнорируя регистр. |
CONTAINS | Проверяет, содержит ли вывод указанное значение как подстроку. |
STARTS_WITH | Проверяет, начинается ли вывод с указанного значения. |
ENDS_WITH | Проверяет, заканчивается ли вывод указанным значением. |
REGEX | Проверяет, совпадает ли вывод с указанным регулярным выражением. |
Пример конфигурации:
Файл: achievements/survival/achievements.yml YAML:
first-nap:
type: PLACEHOLDER
placeholder: '%player_is_sleeping%'
name: "First Nap"
description:
- '&fSleep for the first time!'
tiers:
1:
placeholder:
operator: EQUALS
value: "yes"
points: 10
rewards: []
Категории
Достижения организованы по категориям. Для каждой категории можно указать сервера, на которых можно выполнить достижения.Категории можно создавать и редактировать с помощью редактора в игре, вводя команду /achievements editor.
Информация
ID сервера определяется в файле config.yml:Пример конфигурации:
Файл: config.yml YAML:
# ID сервера
server: survival
categories.yml:
# Уникальный идентификатор категории
global:
# Название, используемое в сообщениях и меню
name: Global
# Описание категории
description:
- '&7Achievements that can be completed'
- '&7across all servers.'
# Список серверов, на которых можно выполнить достижения
servers:
- ALL
# Предмет, отображаемый в главном меню
item:
material: COMPASS
slot: 12
Условия
Условия используются для установки требований к выполнению достижения.Глобальные условия
Поддерживаются всеми типами достижений.Условие | Описание | Примеры |
---|---|---|
game-modes | Список игровых режимов | - SURVIVAL |
worlds | Список миров | - "world" |
item-in-hand | Список предметов, которые должны быть в руке игрока | - <material> |
item-equipped | Список предметов, которые должны быть экипированы | - <material> |
riding-entity | Список сущностей, на которых должен ехать игрок | - HORSE, BOAT |
regions | Список регионов WorldGuard | - "spawn" |
Условия для конкретных задач
Поддерживаются только некоторыми типами достижений.Условие | Описание | Примеры |
---|---|---|
entities | Список сущностей | - CHICKEN, mythicmobs:<mob-id>, mm:<mob-id> |
items | Список предметов | - <material> |
blocks | Список блоков | - <material> |
potion-effects | Список типов зелий | - SWIFTNESS |
Награды
EpicAchievements предлагает множество встроенных наград.Награда | Описание |
---|---|
BROADCAST | Отправить сообщение на сервер |
COMMAND | Выполнить команду от имени консоли |
EXPERIENCE_LEVELS | Дать игроку уровни опыта |
EXPERIENCE | Дать игроку очки опыта |
MESSAGE | Отправить сообщение игроку |
VAULT | Дать игроку деньги |
Система уровней наград
Используя очки, заработанные за выполнение достижений, игроки могут разблокировать награды.Пример конфигурации:
Файл: rewards.yml rewards.yml:
rewards:
# Диапазон уровней
1-100:
# Очки, необходимые для разблокировки награды. Поддерживаются математические выражения!
required-points: "{level} * 100"
# Список наград
rewards:
- "VAULT:{level} * 10"
# Предмет, отображаемый, когда награда заблокирована
locked-item:
material: "COAL"
name: "&cAchievement Reward"
lore:
- "&8Level {level}"
- "&7Required Points: &e{points}"
- ""
- "&7Reward:"
- "{rewards}"
- ""
- "{status}"
# Предмет, отображаемый, когда награда разблокирована
unlocked-item:
material: "GOLD_NUGGET"
name: "&aAchievement Reward"
lore:
- "&8Level {level}"
- "&7Required Points: &e{points}"
- ""
- "&7Reward:"
- "{rewards}"
- ""
- "{status}"
# Другие уровни можно добавить ниже
Плэйсхолдеры плагина EpicAchievements:
Внутренние плейсхолдеры
Общие плейсхолдеры
Эти плейсхолдеры можно использовать в любом меню.Плейсхолдер | Описание |
---|---|
{player} | Имя игрока |
{points} | Очки игрока |
{total_points} | Общие очки всех достижений |
{points_percentage} | Процент набранных очков |
{unlocked_achievements} | Количество разблокированных достижений |
{total_achievements} | Общее количество достижений |
{unlocked_achievements_percentage} | Процент разблокированных достижений |
{unclaimed_rewards} | Количество не полученных наград |
Плейсхолдеры категорий
Плейсхолдер | Описание |
---|---|
{category_id} | Уникальный идентификатор категории |
{category_name} | Название категории |
{category_description} | Описание категории |
{category_achievements} | Количество достижений в категории |
{category_item} | Материал предмета, отображаемого в главном меню |
{category_item_slot} | Слот предмета, отображаемого в главном меню |
{category_servers} | Сервера, на которых можно выполнить достижения |
Плейсхолдеры достижений
Плейсхолдер | Описание |
---|---|
{achievement_id} | Уникальный идентификатор достижения |
{achievement_name} | Название достижения |
{achievement_description} | Описание достижения |
{achievement_type} | Тип достижения (испытание / многоуровневое) |
{achievement_type_name} | Название типа достижения |
{achievement_task} | Тип задачи достижения |
{achievement_progress} | Прогресс игрока в достижении |
{achievement_progress_percentage} | Процент прогресса в достижении |
{achievement_progress_bar} | Полоса прогресса, отображающая текущий прогресс |
{achievement_permission} | Разрешение, необходимое для прогресса в достижении |
{tier} | Номер уровня |
{tier_roman} | Номер уровня римскими цифрами |
{tier_requirement} | Требование для завершения уровня |
{tier_points} | Очки, присуждаемые за завершение уровня |
{tier_rewards} | Список наград |
{tier_progress_percentage} | Процент прогресса в уровне |
{tier_progress_bar} | Полоса прогресса, отображающая текущий прогресс уровня |
Плейсхолдеры уровня награды
Плейсхолдер | Описание |
---|---|
{level} | Номер уровня |
{points} | Очки, необходимые для достижения уровня |
{status} | Статус уровня |
{rewards} | Список наград |
Плейсхолдеры сортировки
Плейсхолдер | Описание |
---|---|
{sorting_type} | Текущий тип сортировки |
{sorting_description} | Описание текущего типа сортировки |
{next_sorting_type} | Следующий тип сортировки |
{next_sorting_description} | Описание следующего типа сортировки |
{completion_sorting_type} | Тип сортировки завершения |
PlaceholderAPI
Плейсхолдеры
Плейсхолдер | Описание |
---|---|
%achievements_points_[category]_[challenge/tiered]% | Возвращает количество очков, которые есть у игрока |
%achievements_points_percentage_[category]_[challenge/tiered]% | Возвращает процент очков, которые есть у игрока |
%achievements_unlocked_[category]_[challenge/tiered]% | Возвращает количество достижений, разблокированных игроком |
%achievements_unlocked_percentage_[category]_[challenge/tiered]% | Возвращает процент достижений, разблокированных игроком |
%achievements_achievement_<id><points/requirement/progress/percentage/bar/unlocked>[tier]% | Возвращает информацию о достижении. По умолчанию уровень (tier) равен 1, если не указан. |
%achievements_tracked% | Возвращает количество достижений, отслеживаемых игроком |
%achievements_unclaimed% | Возвращает количество не полученных наград |
Замечания:
- <required> - обязательный аргумент
- [optional] - необязательный аргумент
Developer API в EpicAchievements:
Зависимости
Помести jar файл плагина в папку внутри своего проекта:Maven
XML:
<dependency>
<groupId>dev.pixelstudios</groupId>
<artifactId>EpicAchievements</artifactId>
<version>{version}</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/EpicAchievements.jar</systemPath>
</dependency>
Gradle
XML:
dependencies {
compileOnly files('libs/EpicAchievements.jar')
}
Использование
События
Ты можешь отслеживать события, расположенные в пакете dev.pixelstudios.achievements.api.events.Методы
Класс AchievementsAPI предоставляет методы для регистрации пользовательских задач, наград и условий (используй встроенные реализации как пример), а также другие полезные утилиты.Установка плагина EpicAchievements:
Требования:
- Java 8 или выше
- Minecraft версии от 1.8.8 до 1.21
- (Опционально) база данных MySQL или MongoDB
Необязательные зависимости:
EpicAchievements не требует других плагинов для работы, но может интегрироваться с некоторыми внешними плагинами для предоставления дополнительных функций.- PlaceholderAPI — требуется для плейсхолдеров PAPI и достижений PLACEHOLDER
- Vault — требуется для наград в экономике
- MythicMobs — требуется для условий, связанных с MythicMobs
- ItemsAdder, Oraxen, MMOItems, EcoItems — для создания пользовательских предметов и блоков
- WorldGuard — требуется для условий, связанных с регионами