📌 Возможности плагина
Плагин добавляет систему арен и личных баз в стиле brainrot, где на конвейере появляются мобы разной редкости, а игроки могут покупать их, размещать у себя на базе и получать с них пассивный доход. Можно подключать свои модели и анимации через ModelEngine, настраивать цену, доход, лимит накопления и шанс появления каждого моба. Игроки могут открывать новые этажи за PlayerPoints, улучшать лимит накопления и бонус к продаже, собирать деньги с плит, продавать мобов и воровать brainrot-мобов у других игроков, а для защиты базы есть временный барьер с кулдауном. Также есть PlaceholderAPI для вывода статистики и поддержка Vault для экономики.📱 Скриншоты
⚙️ Зависимости и плаесхолдеры
Зависимости плагина:- ModelEngine - для моделей и анимаций мобов
- Vault - для экономики и выдачи/списания денег (+ нужно установить cmi,essetinals или другой плагин)
- PlayerPoints - для покупки этажей и улучшений
- PlaceholderAPI - необязательная зависимость для плейсхолдеров
Плейсхолдеры:
- %brainrot_total_income% - общий доход со всех мобов
- %brainrot_mob_count% - количество brainrot-мобов игрока
- %brainrot_free_slots% - свободные слоты на базе
- %brainrot_base_owner% - владелец текущей базы
- %brainrot_mob_income% - доход последнего выбранного моба
- %brainrot_sell_price% - цена продажи последнего выбранного моба
- %brainrot_last_barrier_owner% - последний владелец защищенной базы, с которой было взаимодействие
📝 Конфигурация
config.yml:
floors:
floor_2:
price: 500 # PlayerPoints
floor_3:
price: 1500 # PlayerPoints
protection-duration: 45 # Длительность защиты базы в секундах
protection-cooldown: 60 # Кулдаун между активациями защиты в секундах
protection:
interact-command: "" # Команда от консоли при ПКМ в зоне защищенной чужой базы ({player}, {owner}, {base})
interact-cooldown-ms: 1500 # Защита от спама команды
conveyor-spawn-interval: 5 # Периодичность появления мобов на конвейере в секундах
hologram-plate-height: 0.5 # Высота голограммы над плитой
holograms:
conveyor: "{rarity} | {mob}\n&a+{income}$/s\n&eЦена: {price}$"
on_base_mob: "{rarity} | {mob}\n&a+{income}$/s\n&eПродажа: {sell}$"
on_base_plate: "&6Накоплено: {stored}$"
steal:
hold-seconds: 4 # Сколько секунд нужно удерживать ПКМ для кражи
return-damage: 3.0 # Сколько урона нужно, чтобы брейнрот вернулся владельцу (0 = любой удар)
actionbar:
length: 10 # Длина прогресс-бара в ActionBar
upgrades:
capacity_multiplier:
level_1:
price: 100 # PlayerPoints
multiplier: 1.5
level_2:
price: 300
multiplier: 2.0
level_3:
price: 600
multiplier: 3.0
sell_bonus:
level_1:
price: 150 # PlayerPoints
bonus: 0.6 # 60%
level_2:
price: 400
bonus: 0.7 # 70%
level_3:
price: 800
bonus: 0.75 # 75%
messages:
permissions:
no: "&cНет прав."
reload:
success: "&aКонфигурация StealABrainrot перезагружена!"
setup:
help:
- "&e=== Настройка StealABrainrot ==="
- "&7/brainrot setup create <айди_арены> - Создать арену"
- "&7/brainrot setup conveyor <айди_арены> <start|end> - Настроить конвейер"
- "&7/brainrot setup addbase <айди[I]арены> <айди[/I]базы> - Добавить базу"
- "&7/brainrot setup setentry <айди[I]арены> <айди[/I]базы> - Установить вход на базу"
- "&7/brainrot setup setprotection <айди[I]арены> <айди[/I]базы> - Установить кнопку защиты"
- "&7/brainrot setup addslot <айди[I]арены> <айди[/I]базы> <этаж> <номер_слота> <mob|plate> - Настроить слоты"
- "&7/brainrot reload - Перезагрузить конфиг"
playerOnly: "&cТолько для игроков."
usage:
create: "&cИспользование: /brainrot setup create <айди_арены>"
addbase: "&cИспользование: /brainrot setup addbase <айди[I]арены> <айди[/I]базы>"
setentry: "&cИспользование: /brainrot setup setentry <айди[I]арены> <айди[/I]базы>"
setprotection: "&cИспользование: /brainrot setup setprotection <айди[I]арены> <айди[/I]базы>"
conveyor: "&cИспользование: /brainrot setup conveyor <айди_арены> <start|end>"
addslot: "&cИспользование: /brainrot setup addslot <айди[I]арены> <айди[/I]базы> <этаж> <номер_слота> <mob|plate>"
arena:
created: "&aАрена {arena} создана."
notFound: "&cАрена не найдена."
base:
added: "&aБаза {base} добавлена к арене {arena}."
notFound: "&cБаза не найдена."
entry:
selectStart: "&aВозьмите &eзолотой топор&a и выделите &e1 и 2 точку&a для зоны входа/защиты."
pos1: "&aУстановлена 1 точка."
pos2: "&aУстановлена 2 точка."
invalidWorld: "&cТочки должны быть в одном мире."
set: "&aЗона входа/защиты для базы {base} установлена."
protection:
set: "&aКнопка защиты для базы {base} установлена."
conveyor:
startSet: "&aТочка начала конвейера установлена."
endSet: "&aТочка конца конвейера установлена."
invalidSide: "&cУкажите start или end."
slot:
mobSet: "&aТочка моба для слота {index} (этаж {floor}) установлена."
plateSet: "&aТочка плиты прибыли для слота {index} (этаж {floor}) установлена."
invalidType: "&cУкажите тип точки: mob или plate."
unknownSubcommand: "&cНеизвестная подкоманда."
error: "&cПроизошла ошибка при выполнении команды: {error}"
upgrade:
help:
- "&e=== Прокачка за PlayerPoints ==="
- "&7/brainrot buyfloor <номер> - Купить этаж"
- "&7/brainrot upgrade capacity - Прокачать лимит накопления"
- "&7/brainrot upgrade sell - Прокачать бонус продажи"
floor:
already: "&cЭтаж уже разблокирован."
unlocked: "&aВы разблокировали {floor} этаж!"
points:
notEnough: "&cНедостаточно PlayerPoints! Нужно {price}"
level:
max: "&cМаксимальный уровень достигнут."
upgraded: "&aУровень прокачки {type} повышен до {level}!"
interaction:
base:
protected: "&cЭта база защищена барьером!"
protection:
cooldown: "&cЗащита на кулдауне! Подождите {remaining} сек."
enabled: "&cЗащита базы ВКЛЮЧЕНА на {duration} сек!"
disabled: "&aЗащита базы ВЫКЛЮЧЕНА!"
base:
unlock:
success: "&aБаза {base} (арена {arena}) игрока {player} принудительно разблокирована."
byAdmin: "&eАдминистратор принудительно отключил защиту вашей базы."
notFound: "&cИгрок {player} не найден среди владельцев баз."
collect:
money: "&aВы собрали {amount}$!"
mob:
sell:
holdShift: "&eУдерживайте SHIFT для продажи моба"
sold: "&eМоб {mob} продан за {amount}$"
buy:
notEnough: "&cНедостаточно средств! Требуется {price}$ за {mob}"
noSlots: "&cНет свободных мест на купленных этажах! (Слотов: {slots}, В пути: {in_transit})"
success: "&aВы купили моба {mob}!"
entryMissing: "&cВход базы не настроен. Укажите pos1/pos2 через /brainrot setup setentry."
steal:
attacker: "&aВы украли мобов у {player}!"
victim: "&cВаши мобы были украдены игроком {player}!"
progress: "&eКража {mob} {bar}"
interrupted: "&cКража была прервана."
player:
base:
assigned: "&aВы успешно подключены к базе!"
none: "&cК сожалению, сейчас нет свободных баз на аренах."