Skip to content

AdventProduction/AParrots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Предисловие

AParrots - плагин с уникальной механикой попугаев. Данный плагин добавляет возможность изменять характеристики игрока, применяя атрибуты, используя попугаев. Аналогичен работе талисманов/сфер, на популярном режиме "Анархия", только без использований эффектов зелий (пока что).

Версия: 1.16.5 (Paper)

Функционал

В моем плагине на данный момент есть три типа попугаев:

  • Шахтерский (MINER)
  • Фермерский (FARMER)
  • Боевой (COMBAT)

Также присутствует система прокачки попугаев.

Шахтерский

Прокачивается за счет ломания блоков (указывается в конфиге)

Фермерский

Прокачивается за счет ломания культур (указывается в конфиге)

Боевой

Прокачивается за счет убийств энтити (указывается в конфиге)

Конфиг

Теперь самое интересное.

Дефолтный конфиг

parrots: # Обязательная секция
  first: # Ключ попугая
    type: MINER # Тип попугая
    variant: CYAN # Расцветка попугая
    item: # Секция предмета
      material: PLAYER_HEAD # Сам предмет
      # Если в material стоит PLAYER_HEAD, то вы можете наложить текстуру на эту голову.
      # Иначе texture можно пропустить или удалить, она все равно не применится.
      texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjBlMDNiMTBjMTVlZTU2MDE0MjM4NjdkZmI4YmNiY2JjOTE5Y2E5NmMwZWVhNjMwNzNlYzhlNzk1ZWFiZDA1ZiJ9fX0="
      name: "&6Шахтерский попугай" # Название предмета
      # Описание предмета
      lore:
        - "&7Тип: &6Шахтёрский"
        - "&7Прокачивается при добыче блоков"
        - "&a{level} &7текущий уровень попугая"
        - "&a{exp} &7текущий опыт попугая"
        - "&a{generic_max_health} &7к максимальному здоровью"
        - "&a{generic_movement_speed} &7к скорости передвижения"
        - ""
        - "&eПКМ &7- установить попугая"
    max-level: 5 # Максимальный уровень попугая
    levels: # Обязательная секция
      1: # 1 уровень
        exp-required: 10 # Необходимый опыт для повышения уровня 1 -> 2
        attributes:
          - "GENERIC_MAX_HEALTH:add_scalar:0.10"
      2: # 2 уровень
        exp-required: 20 # Необходимый опыт для повышения уровня 2 -> 3
        attributes:
          - "GENERIC_MAX_HEALTH:add_scalar:0.20"
          - "GENERIC_MAX_SPEED:add_scalar:0.05"
      3: # 3 уровень
        exp-required: 30 # Необходимый опыт для повышения уровня 3 -> 4
        attributes:
          - "GENERIC_MAX_HEALTH:add_scalar:0.30"
          - "GENERIC_MAX_SPEED:add_scalar:0.10"
      4: # 4 уровень
        exp-required: 40 # Необходимый опыт для повышения уровня 4 -> 5
        attributes:
          - "GENERIC_MAX_HEALTH:add_scalar:0.40"
          - "GENERIC_MAX_SPEED:add_scalar:0.15"
      5: # 5 уровень
        # Здесь необязательно вставлять exp-required, т.к. это последний уровень
        attributes:
          - "GENERIC_MAX_HEALTH:add_scalar:0.50"
          - "GENERIC_MAX_SPEED:add_scalar:0.20"

settings: # Обязательная секция
  exp-per-block: # Настройки для типа MINER
    STONE: 1 # За каждый сломанный камень выдается 1 опыт
    COBBLESTONE: 1
    COAL_ORE: 3
    IRON_ORE: 5
    GOLD_ORE: 7
    DIAMOND_ORE: 10
    EMERALD_ORE: 12
    NETHER_QUARTZ_ORE: 4
    NETHER_GOLD_ORE: 6
    ANCIENT_DEBRIS: 15

  exp-per-kill: # Настройки для типа COMBAT
    ZOMBIE: 5 # За каждое убийство зомби выдается 5 опыта
    SKELETON: 6
    CREEPER: 8
    SPIDER: 4
    ENDERMAN: 10
    BLAZE: 12
    WITHER_SKELETON: 15
    PLAYER: 20

  exp-per-crop: # Настройки для типа FARMER
    WHEAT: 2 # За каждую сломанную созревшую пшеницу выдается 2 опыта
    CARROTS: 2
    POTATO: 2
    BEETROOT: 3
    MELON: 4
    PUMPKIN: 4
    SUGAR_CANE: 1
    CACTUS: 1
    BAMBOO: 1

Поддерживаемые атрибуты

  • GENERIC_LUCK - Удача игрока (выпадение редких предметов с мобов, рыбалки)
  • GENERICK_MAX_HEALTH - Максимальное здоровье игрока
  • GENERIC_ARMOR - Очки брони
  • GENERIC_KNOCKBACK_RESISTANCE - Устойчивость к отбрасыванию
  • GENERIC_MOVEMENT_SPEED - Скорость передвижения
  • GENERIC_ATTACK_DAMAGE - Урон от атаки
  • GENERIC_ATTACK_SPEED - Скорость атаки
  • GENERIC_ATTACK_KNOCKBACK - Сила отдачи
  • GENERIC_ARMOR_TOUGHNESS - Прочность брони

Note

Важно - не путайте атрибуты с эффектами зелий.

Теперь о формате атрибутов Разделим строку GENERIC_MAX_HEALTH:add_scalar:0.50 на три части

  1. GENERIC_MAX_HEALTH - это сам атрибут
  2. add_scalar - это операция применяемая к атрибуту
  3. 0.50 - значение атрибута

Операции

  • add_scalar - добавление к базовому значению в процентном отношении. Применяется в случаях, где базовое значение != 0.
  • add_number - добавление к базовому значению в численном отношении. Применяется в случаях, где базовое значение = 0.

Примеры аттрибутов
GENERIC_MAX_HEALTH:ADD_SCALAR:0.50, +50% к максимальному здоровью
GENERIC_LUCK:ADD_NUMBER:1, +1 к удаче
Более подробно об аттрибутах и базовых значениях вы можете посмотреть здесь

Плейсходеры

Работают только внутренние плейсхолдеры, они не работают в других плагинах.

{level} - отображает текущий уровень попугая
{exp} - отображает текущий опыт попугая
{аттрибут} - отображает значение аттрибута

Пример
Текущий уровень попугая 1
В конфиге указано для 1 уровня GENERIC_MAX_HEALTH:ADD_SCALAR:0.50
Если в lore вставить плейсхолдер {generic_max_health}, то заменится на 50%

Для того, чтобы вставлять все значения аттрибутов в конфиг.

К примеру у вас в конфиге
Для 1 уровня - 1 аттрибут
Для 2 уровня - 2 аттрибута
Для 3 уровня - 3 аттрибута
Вам нужно вставить плейсхолдеры со значениями атрибутов в описание
В конфиг нужно прописать все три плейсхолдера, в случае, если для попугая нету такого атрибута, строка удаляется

{generic_luck}
{generic_armor}
{generic_movement_speed}

Вставляете все три плейсхолдера, и если попугай 1 уровня и в нем атрибут generic_luck, то остальные два атрибута не будут идти в счёт

База данных

В данной версии используется только SQLite

Разрешения и команды

Команды

/aparrots give {player_name} {key} - Выдача предмета попугая игроку
/aparrots remove - Удаление попугая с плеча (предмет ложится в инвентарь с сохраненным опытом и уровнем)

Разрешения

aparrots.give - Дает игроку право выдачи предмета другому игроку (в том числе и себе)

Заключение

Итак, вы посмотрели возможности данного плагина, думаю это уже хороший результат.
В этот плагин вложено много усилий, и да, он полностью самописный.

P.S.

Note

Плагин является платным, купить его Вы можете по ссылке ниже.
https://funpay.com/lots/offer?id=53037817

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •