AstBounty | Плагин на заказы на убийства (контракты)

Плагин AstBounty | Плагин на заказы на убийства (контракты) 1.0

Создайте и подтвердите аккаунт для скачивания
Поддерживаемые версии
  1. 1.16
  2. 1.17
  3. 1.18
  4. 1.19
  5. 1.20
  6. 1.21
Ядра и Прокси
  1. Paper
Минимальная версия Java
17
Исходный код
https://github.com/Asteris-dev/AstBounty
AstBounty - Заказы на убийство

📚 Описание

AstBounty - плагин, который добавляет мощную систему контрактов на убийства. Включает в себя очень большой функционал с настройками процентов, полной настройки оплат и многое другое.

  1. Полная поддержка форматов: MiniMessage (<gradient:#FAEDCB:#C9E4DE>), HEX (&#FAEDCB) и Legacy (&b)
  2. GUI-меню: удобные интерфейсы - настройки заказов и списка активных заказов
  3. Анонимность: скрытие ника в контракте
  4. Доли: наличие налогов на создание заказа и настройка процентов, которое получит исполнитель и сколько вернётся заказчику
  5. Таймер: ограничения по времени, паузы если цель вышла из сети и защита от накрутки
  6. База данных: поддержка "SQLITE" (локальный файл) или "MYSQL" (внешняя БД)

🎬 Картинки

AstBounty (2).png


📌 Плейсхолдеры

ПлейсхолдерЧто выводит
%astbounty_placed_total%Количество заказов, сделанных игроком
%astbounty_target_total%Сколько раз этот игрок был целью заказа
%astbounty_completed_total%Количество выполненных заказов
%astbounty_current_target%Текущий ник цели охотника

⚙️ Файлы

YAML:
# ========================================================================
# AstBounty - Награды за убийства | Конфигурация
# ========================================================================
#
# Плейсхолдеры плагина (Требуется PlaceholderAPI):
# * %astbounty_placed_total% - Количество заказов, сделанных игроком
# * %astbounty_target_total% - Сколько раз этот игрок был целью заказа
# * %astbounty_completed_total% - Количество выполненных заказов
# * %astbounty_current_target% - Текущий ник цели охотника
#
# В плагине полная поддержка форматов цвета:
# - Legacy: &a, &l
# - HEX: &#FAEDCB
# - MiniMessage: <gradient:#FAEDCB:#C9E4DE>Текст</gradient>
# ========================================================================

database:
  # Тип базы данных: "SQLITE" (локальный файл) или "MYSQL" (внешняя БД)
  type: "SQLITE"
  mysql:
    host: ""
    port: 3306
    database: ""
    username: ""
    password: ""
    use-ssl: false

settings:
  # Символ валюты, который будет отображаться после суммы, отображается заполнителем {symbol}
  currency-symbol: "$"

  # Минимальная сумма для создания заказа
  min-bounty-amount: 1000

  # Лимит ставок от разных людей на одного и того же игрока
  max-bounties-per-target: 5

  # Максимальное количество активных заказов, которые может создать один игрок
  max-bounties-per-assigner: 3

  # Кулдаун (в секундах) на заказ одного и того же игрока одним и тем же человеком
  same-target-cooldown-seconds: 86400

  # Время (в секундах), через которое заказ полностью удаляется, если его никто не взял
  global-expiration-seconds: 259200

  # Настройка стоимости взятия заказа исполнителем
  bounty-take-cost:
    # Тип: PERCENT - сумма расчитывается как процент от общего банка заказа,
    # Тип: FIXED - фиксированная сумма
    type: PERCENT
    value: 10.0

  # Время (в секундах), которое даётся охотнику на выполнение заказа
  time-limit-seconds: 86400

  # Время ожидания (в секундах) перед тем, как игрок сможет взять новый заказ после провала
  fail-cooldown-seconds: 43200

  # Формат отображения времени. Доступно: %d% (дни), %h% (часы), %m% (минуты), %s% (секунды)
  time-format: "%d%д. %h%ч. %m%м. %s%с."

  # Ставить ли таймер на паузу, если цель вышла с сервера
  pause-timer-on-offline: true

  # Анонимные заказы
  anonymous:
    enabled: true # Разрешены ли анонимные заказы
    cost: 500 # Доп. сумма на анонимность
    name: "&8Аноним" # Отображение
    return-on-expire: true # Возвращать ли эту сумму при отмене заказа (Если он истёк)
    money-format: "{money} &a+ {cost}" # Этот формат отображается в чате, в сообщении при создании заказа (bounty-placed)

  # Выкуп своей жизни
  buyout:
    enabled: true # Можно ли будет выкупать заказ на себя
    return-money: true # Возвращать ли деньги всем заказчикам, если заказ был выкуплен
    multiplier: 1.5 # Множитель цены выкупа (Общий банк * множитель)

  # Выпадение "трофея", головы при убийстве цели
  trophy-head:
    enabled: true # Включение/выключение этой функции
    name: "&cГолова {target}"
    lore:
      - "&7Убит охотником: &c{hunter}"
      - "&7Награда составляла: &e{money} {symbol}"
      - "&7Дата: &a{date}"

  # Постоянный текст над инвентарем для охотника
  actionbar:
    enabled: true
    message: "<gradient:#FAEDCB:#C9E4DE>Активен заказ за голову. Цель: {name}. Награда: {money}{symbol}</gradient>"

# Озвучка
sounds:
  place: "ENTITY_EXPERIENCE_ORB_PICKUP;1.0;1.0" # Создание заказа
  take: "ENTITY_ENDER_DRAGON_GROWL;1.0;1.0" # Взятие заказа охотником
  complete: "UI_TOAST_CHALLENGE_COMPLETE;1.0;1.0" # Выполнение заказа
  fail: "ENTITY_VILLAGER_NO;1.0;1.0" # Провал заказа (при истечении времени)
  buyout: "BLOCK_ANVIL_USE;1.0;1.0" # Выкуп заказа
  error: "BLOCK_NOTE_BLOCK_BASS;1.0;1.0" # Ошибки
  click: "UI_BUTTON_CLICK;1.0;1.0" # Кнопки в настройке заказа

messages:
  prefix: "&#FAEDCB[AstBounty] &r"
  no-permission: "&cУ вас нет прав для этого."
  usage: "&cИспользование: /bounty <игрок> <сумма>"
  not-enough-money: "&cНедостаточно средств."
  invalid-amount: "&cСумма должна быть целым числом больше нуля."
  min-amount: "&cМинимальная сумма заказа: {money} {symbol}."
  max-assigner-bounties: "&cВы достигли лимита! Максимум активных заказов от вас: {max}."
  place-cooldown: "&cВы сможете снова заказать этого игрока только через {time}."
  player-offline: "&cИгрок не найден или оффлайн."
  self-bounty: "&cВы не можете назначить награду за себя."
  cannot-hunt-self: "&cВы не можете взять заказ на самого себя!"
  target-limit: "&cНа этого игрока достигнут лимит заказов."
  menu-empty: "&cВ данный момент активных заказов нет."

  status-online: "&aОнлайн"
  status-offline: "&cОффлайн"
  current-bounty-status: "<gradient:#A8FF78:#78FFD6>Ваша цель: {target} [{status}] | Награда: {money}{symbol} | Осталось: {time}</gradient>"

  bounty-placed: "<gradient:#A8FF78:#78FFD6>✔ Вы назначили награду за {target} в размере {money}{symbol}</gradient>"
  target-notified-placed: "<gradient:#FF416C:#FF4B2B>☠ Внимание! На вашу голову назначена награда: {money}{symbol}!</gradient>"
  bounty-accepted: "<gradient:#A8FF78:#78FFD6>⚔ Вы взяли заказ на {target}. У вас есть {time}</gradient>"
  target-notified-taken: "<gradient:#FF416C:#FF4B2B>☠ Внимание! Охотник {hunter} вышел за вашей головой!</gradient>"

  # Уведомления о входе/выходе цели
  target-left: "&cВаша цель {target} покинула игру. Таймер приостановлен."
  target-joined: "&aВаша цель {target} вернулась в игру! Охота продолжается."

  bounty-failed: "<gradient:#FF416C:#FF4B2B>✖ Вы не успели убить {target}. Заказ провален.</gradient>"
  bounty-expired: "&cВремя действия заказа на {target} истекло. Банк возвращен заказчикам."
  bounty-completed: "<gradient:#f12711:#f5af19>☠ Вы убили {target} и получили {money}{symbol}!</gradient>"
  bounty-reward-returned: "<gradient:#A8FF78:#78FFD6>✔ Охотник {hunter} выполнил ваш заказ на {target}! Ваша доля: {money}{symbol}</gradient>"
  buyout-notified-assigner: "&cИгрок {target}, на которого вы ставили награду, откупился!"
  on-cooldown: "&cВы провалили прошлый заказ. Ждите {time}."
  already-hunting: "&cУ вас уже есть активный заказ."
  buyout-success: "<gradient:#A8FF78:#78FFD6>✔ Вы успешно выкупили свою жизнь за {money}{symbol}!</gradient>"
  reloaded: "&aПлагин AstBounty успешно перезагружен."

  pending-setup: "&cЗавершите настройку предыдущего заказа!"
  cannot-hunt-invested: "&cВы не можете взять заказ, в который вы вложились."
  no-target: "Нет цели" # Вывод плейсхолдера %astbounty_current_target% если цели нет
YAML:
# ========================================================================
# AstBounty - Награды за убийства | GUI-меню
# ========================================================================
#
# В плагине полная поддержка форматов цвета:
# - Legacy: &a, &l
# - HEX: &#FAEDCB
# - MiniMessage: <gradient:#FAEDCB:#C9E4DE>Текст</gradient>
# ========================================================================

# Меню создания заказа (/bounty <игрок> <сумма>)
percentage-menu:
  title: "&8Настройка заказа"
  size: 27

  # Статус анонимности
  status-on: "&aВключена"
  status-off: "&cВыключена"

  anon-money-format: "{money} {symbol} &a+ {cost}" # Формат вывода Суммы если включена анонимность
  percent-format: "{percentage}% &8(&7Вам: &a{hunter_percentage}%&8)"

  items:
    info-book:
      slot: 22
      material: BOOK
      name: "&aИнформация о заказе"
      lore:
        - "&7Цель: &c{target}"
        - "&7Сумма: &e{money} {symbol}"
        - "&7Процент убийце: &a{percentage}%"
        - "&7Анонимность: {status}"
    confirm:
      slot: 24
      material: GREEN_STAINED_GLASS_PANE
      name: "&a✔ Подтвердить заказ"
    anonymous-toggle:
      slot: 20
      material: SKELETON_SKULL
      name: "&8Скрыть ник (Аноним)"
      lore:
        - "&7Сделать ваш заказ анонимным."
        - "&7Доп. стоимость: &e{cost} {symbol}"
        - "&7Статус: {status}"
    add-1:
      slot: 5
      material: LIME_CARPET
      name: "&a+1%"
    add-10:
      slot: 6
      material: LIME_WOOL
      name: "&a+10%"
    sub-1:
      slot: 3
      material: RED_CARPET
      name: "&c-1%"
    sub-10:
      slot: 2
      material: RED_WOOL
      name: "&c-10%"

# Главное меню со всеми заказами (/bounty)
main-menu:
  title: "&8Активные заказы"
  size: 54
  items:
    bounty-head:
      name: "&cЗаказ на: {target}"
      lore:
        - "&7Общий банк: &e{total_bank} {symbol}"
        - "&7Средний % убийце: &a{avg_killer_percent}%"
        - "&7Истекает через: &e{global_expire}"
        - ""
        - "&7Заказчики:"
        - "{assigners}"
        - ""
        - "&eКликните, чтобы взять заказ за {take_cost} {symbol}!"
        - "{buyout_lore}"
    assigner-format: "&8- &7{name}: &e{money} {symbol} &8(&a{killer_percent}%&8)" # Формат для списка заказчиков
    buyout-format: "&cКликните ПКМ, чтобы выкупить себя за {money} {symbol}!" # Доп. строка которая показывается только игроку на которого этот заказ

    decor:
      material: BLACK_STAINED_GLASS_PANE
      name: " "
      slots: [36, 37, 38, 39, 40, 41, 42, 43, 44]

    info-item:
      slot: 48
      material: BOOK
      name: "&aИнформация"
      lore:
        - "&7Здесь вы можете взять контракт"
        - "&7на убийство других игроков."
        - ""
        - "&eКоманды:"
        - "&f/bounty &8- &7Открыть это меню"
        - "&f/bounty <ник> <сумма> &8- &7Создать заказ"

    stats-item:
      slot: 50
      material: PAPER
      name: "&eВаша статистика"
      lore:
        - "&7Сделано заказов: &a{placed_total}"
        - "&7Был целью: &c{target_total}"
        - "&7Выполнено: &e{completed_total}"
        - ""
        - "&7Текущая цель: &6{current_target}"

🚀 Установка
  1. Скачать AstBounty.jar
  2. Поместить в plugins/
  3. Перезагрузить сервер
  4. Настроить config.yml, menu.yml и пользоваться плагином!
Зависимости
Vault, PlaceholderAPI
Команды и права
КомандаОписаниеПраво
/bountyМеню всех заказовastbounty.use
/bounty <игрок> <сумма>Создать заказastbounty.use
/astbounty reloadПерезагрузить плагинastbounty.admin
Автор
Asteris
Скачивания
2
Просмотры
72
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Asteris

Поделиться ресурсом

Назад
Сверху Снизу