⚡Questborn⚡Система квестов

Плагин ⚡Questborn⚡Система квестов 1.8.1

Создайте и подтвердите аккаунт для скачивания
🔧 Новое:
  • Новая настройка для интервала автоматического сохранения данных глобальных квестов:
    YAML:
    auto-save:
      global-interval-seconds: 900 # Auto-save interval for global quests in seconds (15 mins)
  • Новая настройка для логирования всех взаимодействий игроков с квестами:
    YAML:
    logs:
      enabled: false # Enable/disable gameplay events logging to logs/YYYY-MM-DD.log
🛠 Исправления и изменения:
  • Теперь данные глобальных квестов сохраняются в выбранную базу данных, вместо файла .yml (старые данные мигрируют автоматически!).
  • Исправлена работа автоматического сохранения данных, теперь оно работает корректно и логируется в консоль (при включенном дебаге).
  • Исправлен баг, когда глобальный квест мог активироваться в неразрешенном игровом режиме, из-за чего прогресс не засчитывался после изменения настроек.
  • Исправлен некорректный перевод в большинстве языковых файлов под новые ключи локализации.
  • Убраны ненужные файлы перевода для сторонних библиотек, что уменьшило вес плагина.
Приятного использования обновления!
⚠️ ВНИМАНИЕ: Пожалуйста, сделайте резервную копию папки плагина перед установкой этого обновления!

🔧 Нововведения:

  • Новый тип квестов (Engine) GLOBAL:
    Это новый тип заданий, которые игроки выполняют сообща всем сервером.
    Для выполнения такого квеста каждый участвующий игрок вносит свой вклад в общий прогресс.
    Добавлена возможность настраивать поэтапные награды за каждые N единиц вклада игрока в глобальный квест.
    Можно установить лимит личного вклада для игроков, чтобы предотвратить выполнение всего квеста одним человеком.
    После достижения лимита личного вклада, игроку нужно будет дождаться завершения квеста остальными игроками, чтобы получить финальную награду.
    После завершения глобального квеста в чате отобразится статистика: топ игроков по вкладу, затраченное время и общее количество участников.
  • Добавлено проигрывание звука на весь сервер при завершении глобального квеста.
  • Добавлены новые визуальные задержки в config.yml (delays): stage-complete, quest-complete, auto-activate-next.
  • Добавлена поддержка ядер Spigot и Folia.
🛠 Исправления и Изменения:
  • Полностью удалены следующие типы целей (objectives) для квестов: DELIVER_ITEM, COLLECT_ITEM, FISHING_BOBBER_HOOK.
  • Изменена логика засчитывания для OPEN_CONTAINER - теперь учитываются только уникальные открытые контейнеры. Это ограничение можно обойти с помощью права questborn.antiabuse.bypass.
  • Оптимизированы обработчики квестов для лучшей производительности.
  • Улучшена работа с базами данных.
Желаю приятного использования обновления!
⚠️ ВНИМАНИЕ: Пожалуйста, сделайте резервную копию папки плагина перед установкой этого обновления!

Нововведения:

  • Добавлена официальная поддержка версий 26.1, 26.2
  • Добавлена поддержка кастомных и точных названий миров в квесте CHANGE_DIMENSION (без ложных срабатываний из-за похожих названий).
  • Добавлена секция worlds в config.yml для перевода названий любых измерений (напр. world_nether -> Нижний мир).

Исправления:
  • Прогресс передачи предметов теперь показывает точное общее количество (напр. 0/32), а не 0/1.
  • Исправлен баг, из-за которого сообщение в ActionBar исчезало за миллисекунду.
  • Сообщение об успешной передаче предметов теперь всегда показывается ПЕРЕД сообщением о завершении квеста.
  • Убран лишний спам Vault economy provider not found в консоли, если Vault отключен.
  • Очищено GUI меню квестов: убрано дублирующееся сообщение о передаче предметов из главного описания.
  • Отредактирована терминология и полностью исправлены баги с кодировками во всех 10 файлах языков.

Желаю приятного использования обновления!
Изменения в типах заданий (Objectives):
  • INTERACT_BLOCK - Теперь засчитывает только 1 раз. Если это тот же самый блок, который уже был засчитан - он просто не засчитается, если нет права questborn.antiabuse.bypass для обхода.
  • HARVEST_CROP - Теперь засчитывает сбор нароста из Незера.
  • STRIP_LOG - Исправлено ложное зачисление прогресса, когда в левой руке щит, а в правой топор.
  • FILL_FUEL - Теперь засчитывает количество положенного предмета как прогресс, а не количество раз.
  • TRAVEL_DISTANCE - Теперь не засчитывает пройденную дистанцию по оси Y.
  • SPRINT_DISTANCE - Теперь не засчитывает пройденную дистанцию по оси Y.
  • CONDUIT_ACTIVATE - Исправлено постоянное зачисление прогресса, когда игрок активировал его только 1 раз.
  • REACH_LOCATION - Теперь работает (ранее не работало вообще).
  • ENTER_REGION - Теперь работает (ранее не работало вообще).
  • LEAVE_REGION - Теперь работает (ранее не работало вообще).

Новые типы заданий:
  • BURN_FUEL - Засчитывает прогресс, когда игрок сжигает нужные предметы в различных печах.
  • VILLAGER_BUY_ITEM - Засчитывает прогресс, когда игрок покупает у Жителя указанный предмет.
  • VILLAGER_SELL_ITEM - Засчитывает прогресс, когда игрок продает Жителю указанный предмет.
  • REACH_BIOME - Засчитывает прогресс, когда игрок посещает указанный биом.

Удаленные типы заданий:
  • TELEPORT - Было полностью удалено. (Если нужно, чтобы игрок телепортировался в указанный мир, используйте CHANGE_DIMENSION).
  • TRADE_WITH_VILLAGER - Было полностью удалено. (Его заменили 2 новых типа: VILLAGER_BUY_ITEM и VILLAGER_SELL_ITEM).

Обновление menus.yml:
Теперь поддерживаются действия (actions) при нажатии на предмет. Пример:
YAML:
menus:
  main:
    items:
      close_btn:
        slot: 44
        material: IRON_DOOR
        name: "<#ff8888>✖ Закрыть меню"
        lore:
          - "<#cccccc>Нажмите, чтобы выйти"
          - "<#cccccc>из главного меню"
        actions:
          - "[close]"

      website_btn:
        slot: 36
        material: COMPASS
        name: "<#aaffaa>🌐 Наш сайт"
        lore:
          - "<#cccccc>Узнавайте новости и"
          - "<#cccccc>обновления на нашем сайте!"
          - ""
          - "<#ffffff>» Нажмите, чтобы открыть"
        actions:
          - "[close]"
          - "[player] website"

Другие обновления:
  • Теперь на мгновение прогресс заполняется полностью в ActionBar / BossBar / Scoreboard, когда игрок получил последний прогресс, а затем проигрываются указанные эффекты.
  • При вводе команд - команды, которые начинаются на questborn:, больше не будут подсвечиваться.
  • Исправлено, когда иногда количество страниц в GUI могло показывать больше, чем есть на самом деле.

Обновление локализации:
  • Добавлен ключ gui.details.objective.villager-sell-item
  • Добавлен ключ gui.details.objective.villager-buy-item
  • Добавлен ключ gui.details.objective.reach-biome
  • Добавлен ключ quest.icons.villager-sell-item
  • Добавлен ключ quest.icons.villager-buy-item
  • Добавлен ключ quest.icons.reach-biome
  • Удален ключ quest.icons.teleport
  • Удален ключ quest.icons.trade-with-villager
  • Удален ключ gui.details.objective.trade-with-villager
  • Удален ключ gui.details.objective.teleport
  • Удалены ключи gui.details.objective.cause.*

Желаю приятного использования обновления!
  • Люблю это (+2)
Реакции: n1ktxs
Обязательно сделайте полную резервную копию папки плагина Questborn (особенно данных игроков и конфигов) перед обновлением!

Новый движок ROTATION

Представляем абсолютно новый движок ROTATION! Он идеально подходит для создания ежедневных, еженедельных или любых других цикличных квестов:
  • Пулы квестов: Автоматическая и случайная генерация квестов из заранее настроенных пулов.
  • Таймеры сброса: Гибкая настройка времени сброса прогресса (ежедневно, раз в несколько дней или в точное время).
  • Индивидуальная генерация: Теперь можно настроить так, чтобы каждый игрок получал свой уникальный набор квестов из пула, или же общий для всех.
  • Отображение в GUI: Полная поддержка настройки слотов, где будут появляться выбранные квесты для каждого типа (rotation-slots).
  • Встроенные квесты обновлены: Стандартные ежедневные (daily) и еженедельные (weekly) квесты были полностью переписаны для использования возможностей нового движка ROTATION!

Вот как это выглядит сейчас (daily.yml):
YAML:
# Уникальный идентификатор для этого типа квестов
id: daily

# Папка, где хранятся квесты данного типа
folder: quests/daily

# Отображаемое имя в GUI
display-name: "<#fffb99>☀ Ежедневные Квесты"

# Опционально: Переопределяет стандартный заголовок GUI для этого типа.
# gui-type-title: "<#fffb99>☀ Ежедневные Квесты &8| &f{page}/{total}"

# Опционально: Переопределяет стандартный заголовок меню деталей квеста.
# gui-quest-title: "<#fffb99>☀ Ежедневный - {quest}"

# Опционально: Переопределяет стандартный заголовок меню передачи предметов.
# gui-transfer-title: "<#fffb99>☀ Передача - {quest}"

# Описание (Лор), отображаемое в GUI
lore:
- "<#cccccc>Новые задания доступны каждый день."
- "<#cccccc>Выполняйте их, чтобы получать"
- "<#cccccc>полезные награды."
- ""
- "<#fffb99>Прогресс за сегодня:"
- " <#a7ff99>✔ <#ffffff>{cooldown}/{total} <#cccccc>выполнено"
- ""
- "<#7dd3ff>Нажмите, чтобы открыть"

# Материал иконки в GUI
material: CREEPER_SPAWN_EGG
# Позиция слота в главном меню GUI
slot: 20

# Режим работы движка квестов
# Выберите, как квесты в этой категории будут себя вести:
# - DEFAULT: Все квесты всегда доступны, обрабатываются индивидуально.
# - CHAIN: Игроки разблокируют следующий квест только после завершения предыдущего.
# - ROTATION: Игроки получают N случайных квестов, которые периодически сбрасываются.
engine: ROTATION

# Количество квестов из каждого пула для добавления в ротацию
# Если не указано, создается пул 'default', соответствующий количеству rotation-slots
rotation-pools:
  common: 3
  rare: 2

# Слоты GUI, где будут появляться назначенные квесты
rotation-slots:
  - 20
  - 21
  - 22
  - 23
  - 24

# Сбрасывать каждый 1 день
reset-period: "1d"
# Опционально: Установить конкретное время дня для глобального сброса
reset-time: "00:00"
# Опционально: 1=Пн, 2=Вт...7=Вс. Якорный день для глобального сброса.
# reset-anchor-day: 1

# Опционально: Требования для разблокировки этого типа квестов
# requirements:
#   permission: "questborn.type.daily"
#   quest-completed: "starter_chain_01_wood_call"
#   type-completed: "starter_chain"

# Опционально: Описание требований, отображаемое в GUI, когда закрыто
# requirements-lore:
#   - "<#ff5555>Требуется завершение:"
#   - " <#ff5555>• <#ffffff>Начальной цепочки"

# Установите false, чтобы полностью отключить этот тип квестов (он не будет загружен плагином)
enabled: true

Глобальное обновление баз данных
Система хранения прогресса была полностью переписана с нуля, чтобы обеспечить лучшую производительность и стабильность.
  • Поддерживаемые базы данных: Теперь плагин поддерживает H2, SQLite, MySQL, PostgreSQL, MongoDB и YAML.
  • Новый стандарт: Тип базы данных по умолчанию теперь H2. Это гарантирует намного более быстрое, стабильное и надежное сохранение по сравнению с обычными .yml файлами.
  • Автоматическая миграция: Не беспокойтесь о ваших старых данных! При первом запуске версии 1.5.0 ваш старый файл playerdata.yml будет автоматически распознан, и все данные игроков будут бесшовно перенесены в новый формат H2.

Вот как это выглядит сейчас (config.yml):
YAML:
# ------------------------------
#   ХРАНЕНИЕ
# ------------------------------

storage:
  # Бэкенд хранения данных игроков.
  # Доступные варианты:
  #   H2 - файловая база данных H2 (быстрая альтернатива SQLite, рекомендуется по умолчанию)
  #   YAML  - Индивидуальные YAML файлы для каждого игрока (устаревший вариант)
  #   MYSQL - База данных MySQL / MariaDB (рекомендуется для сетей из нескольких серверов)
  #   POSTGRESQL - База данных PostgreSQL (альтернатива MySQL)
  #   SQLITE - файловая база данных SQLite (золотая середина для одиночных серверов)
  #   MONGODB - MongoDB через официальный драйвер (требует интернет или локальный сервер)
  type: H2

  # Настройки MySQL / MariaDB (используются только при type: mysql)
  mysql:
    host: localhost
    port: 3306
    database: questborn
    username: root
    password: ""
    # Размер пула соединений
    pool-size: 5
    # Тайм-аут соединения в миллисекундах
    connection-timeout: 30000
    # Использовать SSL для подключения
    use-ssl: false

  # Настройки PostgreSQL (используются только при type: postgresql)
  postgresql:
    host: localhost
    port: 5432
    database: questborn
    username: postgres
    password: ""
    # Размер пула соединений
    pool-size: 5
    # Использовать SSL для подключения
    use-ssl: false

  # Настройки MongoDB (используются только при type: mongodb)
  mongodb:
    uri: "mongodb://localhost:27017"
    database: questborn
    collection: player_data
    # Тайм-ауты в миллисекундах
    connect-timeout: 5000
    read-timeout: 5000

  # Настройки SQLite (используются только при type: sqlite)
  # Файл базы данных находится в папке данных плагина.
  sqlite:
    file: questborn.db

Желаю приятного использования обновления!
ВАЖНО - ПЕРЕД ОБНОВЛЕНИЕМ:
  • Сделайте полную резервную копию папки плагина Questborn (особенно конфигов, данных прогресса и файлов игроков) перед обновлением!
  • После обновления удалите старый файл config.yml - плагин автоматически создаст новый со всеми свежими настройками.
  • Старый файл top.yml больше не используется и его можно полностью удалить - всё перенесено в новый menus.yml.

Новые функции и изменения:

  • 📦 Новая интеграция с ItemsAdder
    Добавлена возможность использовать кастомные предметы из ItemsAdder в квестах.

    Пример использования:
    YAML:
    objectives:
        type: ITEM_FISH
        amount: 6
        target-materials:
          - "itemsadder:iasurvival:blue_parrotfish"

  • 🔗 Полная интеграция с PlaceholderAPI
    Добавлена полная поддержка PlaceholderAPI. Теперь информацию о квестах можно выводить в голограммы, чат, таб-лист, Scoreboard и т.д.

    Доступные плейсхолдеры:
    • Код:
      %questborn_quests_completed%
      - общее количество выполненных квестов игроком
    • Код:
      %questborn_status_<id>%
      - статус квеста (ACTIVE, COMPLETED, COOLDOWN, AVAILABLE, UNAVAILABLE)
    • Код:
      %questborn_cooldown_<id>%
      - оставшееся время кулдауна конкретного квеста
    • Код:
      %questborn_active_id%
      - ID текущего активного квеста
    • Код:
      %questborn_active_name%
      - название текущего квеста
    • Код:
      %questborn_active_description%
      - описание текущего квеста
    • Код:
      %questborn_active_stage_current%
      - текущая стадия
    • Код:
      %questborn_active_stage_total%
      - общее количество стадий
    • Код:
      %questborn_active_progress_current%
      - текущий прогресс цели стадии
    • Код:
      %questborn_active_progress_target%
      - целевой прогресс цели стадии
    • Код:
      %questborn_active_progressbar%
      - графическая полоса прогресса
    • Код:
      %questborn_active_objective%
      - текст текущей цели (первая строка)
    • Код:
      %questborn_active_objective-<number>%
      - конкретная строка (например -0, -1 и т.д.)

  • 🎯 Отображение квеста (Scoreboard & BossBar)
    Добавлено удобное отображение текущего квеста на экране через Scoreboard и BossBar. Всё гибко настраивается в config.yml.

    Пример конфигурации:
    YAML:
    bossbar:
      enabled: true
      title: "&e{quest_name} &7[{progress}/{target}]"
      color: AUTO
      mode: "STATIC"
      style: SOLID
    
    scoreboard:
      enabled: true
      lines:
        - "&fQuest:"
        - "{quest_name}"
        - "{objective_details}"

    Scoreboard-1.png
    Boss-Bar-1.png


  • 🎨 Новая система конфигурации меню (menus.yml)
    Старый файл top.yml объединён в единый menus.yml. Теперь можно свободно настраивать размер GUI и точное расположение элементов в каждом меню.

    Пример для Top-меню:
    YAML:
    menus:
      top:
        rows: 5
        slots:
          players:
            - "10-16"
            - "19-25"
            - "28-34"
        mask:
          - "0-9"
          - "17, 18, 26, 27, 35, 36"
          - "36-44"
        rank-styles:
          1:
            prefix: "<#FFAA00>♛ "
            footer: "<#FFAA00>🏆 TOP 1 LEADER 🏆"

  • 👤 Интеграция с SkinsRestorer
    Добавлена небольшая интеграция для улучшенного отображения скинов в лидерборде игроков.

  • ⚙️ Технические улучшения
    • Обновлена и оптимизирована структура конфигурации
    • Мелкий рефакторинг кода и оптимизация производительности


Приятного использования обновления!
  • Мне нравится (+1)
  • Люблю это (+2)
Реакции: MrLavX и blackgrandstyle
Обновлена библиотека, из-за которой ActionBar не работал в версии 1.21.11.
!!! ВАЖНОЕ ЗАМЕЧАНИЕ !!!
Перед использованием этой версии плагина сделайте резервную копию данных плагина. Также удалите существующий файл конфигурации, файлы локализации и пресеты эффектов, чтобы плагин мог сгенерировать новые, обновленные версии этих файлов.

Журнал обновлений

Новая интеграция с NPC (Citizens и FancyNPCs)

Добавлена полная поддержка NPC из плагинов Citizens и FancyNPCs!

- Теперь игроки могут принимать и выполнять задания, взаимодействуя с NPC.

- Индикатор над головой NPC отображает статус доступных заданий.

Новые поддерживаемые версии
  • 1.16
  • 1.17
  • 1.18
  • 1.19
  • 1.20

Новые настройки в config.yml

Интеграция
YAML:
integration:
  # Включить или отключить интеграцию с NPC
  enabled: true
  # Выберите плагин: CITIZENS или FANCYNPCS
  npc-plugin: FANCYNPCS
  # Режимы:
  # MIXED – работают как команды, так и NPC
  # NPC_ONLY – только NPC (команды отключены)
  # MENU_ONLY – только команды (NPC отключены)
  mode: MIXED

  # Кнопка для взаимодействия с NPC (LEFT / RIGHT)
  interaction-button: RIGHT

Индикаторы над головой NPC
YAML:
npc-indicators:
  enabled: true
  view-distance: 20.0     # Расстояние для наблюдения за указателями
  offset-y: 0.6           # Высота над головой NPC
  icons:
    available: "&6&l!"
    in-progress: "&a&l▣"
    completed: "<#00ff94>&l✔"
    cooldown: "&b⏳"
    locked: "&c&l🔒"
    reward-available: "<#00ff66>&l🎁"

Другие новые настройки
YAML:
gameplay:
  # Разрешенные режимы игры для выполнения заданий
  allowed-gamemodes:
  - SURVIVAL
  - CREATIVE
  - ADVENTURE

YAML:
chat:
  # Отображать подробную информацию (цели + кликабельная ссылка) в сообщениях об активации/этапе
  show-details: true

YAML:
rewards:
  # Если true, награды выдаются автоматически после завершения задания (без получения награды NPC).
  # Если false, игрок должен получить награду (через взаимодействие с NPC или графический интерфейс).
  auto-claim: false

Новые команды
- /quest npc link <typeID> <npcID> – привязать тип задания к NPC
Примеры:

• FancyNPCs: /quest npc link daily joe

• Citizens: /quest npc link daily 1

- /quest npc unlink <typeID> <npcID> – отменить привязку типа задания к NPC
Примеры:

• FancyNPCs: /quest npc unlink daily joe

• Citizens: /quest npc unlink daily 1

- /quest details – открыть подробное представление текущего активного задания

Примечание: Перед привязкой NPC создайте его в Citizens или FancyNPCs и запишите его ID (для Citizens – числовой ID, для FancyNPCs – имя).

Улучшенное меню сведений о задании
Интерфейс сведений о задании полностью переработан – все элементы теперь расположены удобно, красиво и информативно.

Обновлена документация
Документация обновлена в соответствии с текущей версией плагина:
You must be logged in to see this link.
Спасибо за использование Questborn!
Исправленные задания:
  • BREWING -Теперь правильно учитывает прогресс при подборе приготовленного зелья.
  • STRIP_LOG - Теперь учитывается только при тесании бревна, ранее учитывалось даже при добыче бревна.
  • PLANT_SEED - Теперь учитываются как различные семена сельскохозяйственных культур, так и саженцы деревьев.

Изменена иконка активного задания:
  • Активное задание теперь помечается зачарованием.
  • Выполненное разовое задание теперь отображает иконку задания.

Полностью обновлены встроенные задания:
  • 4 новых типа заданий.
  • Более 60 новых заданий.
(Эти задания созданы для демонстрации возможностей плагина).

Небольшое исправление локализации.
  • Мне нравится (+1)
Реакции: n1ktxs
Исправления:

- Задания типа «starter»:
Проблема: Нарушалась цепочка выполнения встроенных заданий типа «starter», что препятствовало активации последующих заданий.
Исправление: Исправлена внутренняя логика цепочки. Теперь выполнение заданий типа «старт» работает корректно.

- Цель ITEM_CRAFT (Создание предмета):
Проблема: Успешное создание предмета не регистрировалось, если игрок сразу же выбрасывал полученный предмет, наведя на него курсор и нажав Q. Использование Shift для создания нескольких предметов также не регистрировалось.
Исправление: Обновлена логика отслеживания, чтобы действие создания записывалось как успешное в момент создания предмета, до любого управления инвентарем.
Нажатие Q для выбрасывания только что созданного предмета теперь корректно засчитывается в выполнение цели.
Создание нескольких предметов с помощью Shift + Click теперь также регистрируется корректно.
Назад
Сверху Снизу