Один предмет в левой руке — и вместо разового баффа у игрока постоянно работающий билд: сила, скорость и воскрешение разом на одном артефакте. CloudSpheres — не зачарование поверх ванильных лимитов, а отдельная система прокачки: дроп с мобов и боссов, крафт на верстаке, NPC-кузница заклинаний. Внутри — 8 эффектов со своей шкалой размеров, 11 уникальных камней-статусов и 5 ступеней качества сферы, которые всё это ограничивают. Плагин самописный, под Paper 1.19.4, с защитой от дюпа, гибким конфигом и мягкой интеграцией с MythicMobs.
В центре системы — сфера: предмет на базе heart_of_the_sea, на котором копится несколько эффектов и статусов разом. Не расходник и не разовое зелье — сфера работает постоянно, пока лежит в офф-хенде, а её сила растёт по мере того, как игрок находит камни, повышает качество и заказывает у Заклинателя новые заклинания. Билд игрок собирает сам, камень за камнем.
У предмета два состояния. Пустой корпус — обычный стакающийся предмет. Как только на сферу наложен первый эффект или статус, она получает уникальный серийник и перестаёт быть «просто вещью» — фоновый антидюп раз в 30 секунд сканирует инвентари онлайн-игроков и удаляет дубли по серийнику, а лишний экземпляр в стаке готовой сферы срезает до одной штуки.
Главное правило: сфера действует, только пока лежит в левой руке. Сняли — эффекты и статусы отключились, а сфера осталась обычным предметом: в сундук, на аукцион, другому игроку. Гаснут эффекты не рывком: пересчёт раз в секунду с запасом длительности около 2,5 секунд, так что бафф ещё немного «дотлевает» после снятия. Идут они «тихими» — без густого облака частиц, только иконка — и не забивают чужой более сильный эффект того же типа.
Рецепт ванильный, работает на любом верстаке; флагом в конфиге его можно отключить целиком, если корпус должен доставаться только дропом или наградой.
Размер камня — это и есть уровень эффекта, и не у всех восьми типов есть все пять размеров. Восемь одинаковых камней у Заклинателя объединяются в один камень размером больше — до потолка типа. Цвет камня всегда совпадает с эффектом.
| Эффект | Что даёт | Размеры |
|---|---|---|
| Сила | Усиление (Strength) | 1–5 |
| Скорость | Скорость передвижения | 1–5 |
| Спешка | Спешка (Haste) | 1–5 |
| Живучесть | Прилив здоровья (Health Boost) | 1–5 |
| Защита | Сопротивление урону | 1–3 |
| Огонь | 1 ур. — огнестойкость; 2 ур. — плюс атаки поджигают цель | 1–2 |
| Ихтиандр | 1 ур. — водное дыхание; 2 ур. — плюс грация дельфина | 1–2 |
| Насыщение | Насыщение (Saturation) | 1 |
Классическое Усиление: урон в ближнем бою растёт от I до V. Размер камня — прямой амплификатор зелья, без скрытых множителей.
Скорость передвижения, пять размеров от I до V — самый прямолинейный эффект из восьми, без побочных механик.
Спешка добычи, пять уровней. Хорошо ложится в связку с Силой на одну сферу для фарма, если качество позволяет держать оба разом.
Прилив здоровья — сердца сверх обычных десяти, пять размеров. Не лечит текущее здоровье, а поднимает потолок максимума, пока сфера в руке.
Сопротивление урону на уровень камня, но шкала короче остальных — только три размера.
Размер здесь не сила эффекта, а переключатель механики: амплификатор всегда нулевой. 1 уровень — огнестойкость. 2 уровень добавляет боевую надстройку: удар владельца поджигает цель на 100 тиков по умолчанию (5 секунд, значение меняется в конфиге). Максимум — 2 размера.
Тоже без амплификатора. 1 уровень — водное дыхание, 2 уровень добавляет «грацию дельфина» — ускоренное плавание. Максимум 2 размера.
Насыщение — шкала из одного размера. Камень либо есть на сфере, либо нет: объединять 8 в 1 здесь просто некуда.
Уникальный камень собирается из 8 одинаковых осколков и накладывается на сферу целиком, без размеров и уровней — хватает одного, чтобы статус заработал.
| Камень | Свойство |
|---|---|
| Мягкости | Полностью убирает урон от падения |
| Радиуса | Эффекты сферы передаются союзникам в радиусе 3 блоков |
| Ярости | Здоровье владельца ниже 50% — все эффекты сферы усиливаются на 1 уровень |
| Воскрешения | Одноразовый: при смертельном уроне восстанавливает 30% здоровья, как тотем, и рассыпается |
| Энда | Эндер-жемчуг не тратится при броске |
| Харизмы | Враждебные мобы не атакуют владельца — статус спадает, как только владелец сам ударит моба |
| Вампиризма | Убийство другого игрока восстанавливает 100% здоровья |
| Повелителя Тьмы | Здоровье ниже 25% — призывает бессмертного союзного иссушителя (не портит блоки), который исчезает при здоровье выше 30%; сам владелец невосприимчив к иссушению |
| Иммунитета | Снимает слепоту, тошноту, замедление, отравление, иссушение, усталость и голод |
| Казни | У противника осталось не больше 10% здоровья — мгновенная смерть, правило действует и между игроками |
| Стаи | Призывает союзную стаю волков (по умолчанию трёх), пока сфера в левой руке — волки защищают владельца и атакуют врагов |
Полностью и безусловно отменяет урон от падения — событие урона гасится на лету. Ни порога высоты, ни шанса.
Раз в такт пересчёта (по умолчанию раз в секунду) сфера раздаёт свои эффекты — не особые камни, именно восемь обычных — всем союзникам-игрокам в радиусе 3 блоков по умолчанию; отдельный флаг умеет ограничить раздачу игроками той же scoreboard-команды.
Здоровье владельца ниже порога (по умолчанию 0,5, то есть 50%) — все текущие эффекты сферы получают бонус к уровню, по умолчанию +1. Полностью динамично: здоровье поднялось выше половины — бонус снят сам на следующем пересчёте.
Одноразовый тотем в кармане. Смертельный удар (кроме падения в Пустоту — иначе получится петля смертей) отменяется, здоровье восстанавливается до 30% от максимума по умолчанию (не меньше 1 хп), снимаются огонь и негативные Иссушение/Отравление, играют частицы и звук тотема — а камень тут же рассыпается и пропадает со сферы. Одна зарядка, дальше нужен новый.
Бросок эндер-жемчуга не тратит его — жемчуг остаётся в инвентаре, пока сфера в левой руке. Сопровождается частицами портала и звуком эндер-сундука.
Враждебные мобы не могут выбрать владельца целью — пока он не ударит первым: удар помечает именно этого моба «обозлённым» (метка на самом мобе, не глобально), и харизма на него больше не действует, а на остальных вокруг продолжает. Один флаг конфига решает, ломается ли харизма от удара вообще (по умолчанию да), другой — делает ли метка «босс» моба неуязвимым к харизме (по умолчанию нет, харизма действует и на боссов).
Срабатывает только на честном фраге игрока: убил другого игрока — здоровье восстанавливается до 100% от максимума по умолчанию. На мобов не реагирует.
Здоровье владельца ниже 25% по умолчанию — рядом появляется бессмертный союзный Иссушитель без гравитации и боссбар-полоски, висит в 3 блоках над головой и каждые 2 тика перенаводится на ближайшую вражескую сущность в 25 блоках, игнорируя других иссушителей и самого Заклинателя. Пропадает — с дымом и звуком смерти — когда здоровье поднимется выше 30% по умолчанию, либо камень снят, либо владелец вышел или умер; разрыв 25/30% нужен против мигания призыв-исчезновение на границе. Владелец полностью защищён от «своего» иссушителя, взрывы черепов не портят блоки.
Каждый пересчёт снимает с владельца эффекты из настраиваемого списка — по умолчанию слепота, тошнота, замедление, отравление, иссушение, усталость и голод, семь типов. Это зачистка раз в такт, а не истинная неуязвимость: дебафф теоретически может мигнуть на долю секунды.
После удара, если у цели осталось не больше 10% здоровья по умолчанию, на следующий такт идёт контрольная проверка — вдруг подлечилась — и если порог всё ещё не превышен, здоровье обнуляется мгновенно. Отдельный флаг решает, действует ли казнь на игроков — по умолчанию да, то есть и в PvP.
Пока сфера в руке, рядом держится стая ручных волков числом 3 по умолчанию — заспавненные, привязанные к владельцу, обычные прирученные мобы. Сфера снята, игрок вышел или умер — вся стая убирается в тот же такт подчистки.
У сферы есть качество — пять ступеней, задающих лимит слотов под эффекты и уникальные камни. Лимиты жёстко зашиты в таблицу качества, а не читаются из отдельной настройки: в конфиге есть блок с полями «максимум эффектов» и «максимум особых», но код его нигде не читает — мёртвые строки от более ранней версии баланса. Реальные лимиты — только те, что в таблице ниже, и меняются исключительно вместе со ступенью.
| Качество | Эффектов | Особых |
|---|---|---|
| Обычная | 1 | 0 |
| Необычная | 2 | 1 |
| Редкая | 2 | 2 |
| Эпическая | 3 | 2 |
| Легендарная | 3 | 3 |
Поднимается качество у Заклинателя: сфера в центр, «Ядро качества» в кольцо — лимит слотов растёт на ступень, а наложенные эффекты и статусы остаются на месте. Ядро (звезда фейерверка) падает с мобов отдельной, ещё более скупой строкой шанса либо выдаётся командой напрямую. Цвет имени сферы меняется вместе с качеством — от серого «Обычная» до золотого «Легендарная». Админ может сразу заспавнить корпус нужного качества командой выдачи, минуя всю цепочку апгрейдов.
Заклинатель — NPC на базе иллагера-заклинателя (Evoker): без ИИ, неуязвимый, без коллизии (можно пройти сквозь него), со свечением и кружащей магической аурой из частиц. Стоит там, где поставит админ, персистентен и не пропадает по дальности — но сделан на базе ванильного враждебного моба, поэтому на сложности Peaceful пропадает вместе со всеми монстрами; нужна сложность Easy и выше. Мобы не выбирают его целью, урон по нему всегда отменяется. Позиция ставится и убирается одной командой на месте игрока, хранится в конфиге и переживает перезапуск сервера.
Правый клик открывает GUI-схему: сундук на 54 ячейки, где под камни отведено девять слотов — центр и кольцо из восьми вокруг него, всё остальное решётка из стеклянных панелей плюс табличка с правилами, кнопка «ЗАКЛИНАТЬ» и слот живого превью. Превью обновляется на лету при каждом изменении сетки и показывает призрачную копию будущего результата или барьер с причиной отказа («уже есть эффект», «лимит эффектов», «уже максимальный размер») — ещё до нажатия кнопки. Раскладывать и забирать камни можно только по одному: шифт-клик, двойной клик и перенос числовыми клавишами заблокированы нарочно, а закрытие окна возвращает игроку всё, что осталось в центре и кольце.
Кнопка «Заклинать» сама распознаёт операцию по содержимому центра и кольца:
| Центр | Кольцо (8 слотов) | Результат |
|---|---|---|
| Сфера | 8 одинаковых камней эффекта (тот же тип и размер) | Наложить эффект нужного размера |
| Сфера | Ровно 1 уникальный камень | Наложить статус |
| Сфера | Ровно 1 «Ядро качества» | Поднять качество на ступень |
| Пусто | 8 одинаковых камней эффекта или 8 одинаковых осколков | Объединить в камень размером выше / собрать уникальный камень |
Каждый расклад проверяется на месте: нельзя наложить эффект, который на сфере уже есть, — только другой тип. Нельзя превысить лимит слотов текущего качества — Заклинатель называет цифру лимита прямо в сообщении об отказе. Нельзя объединить камень, уже уткнувшийся в потолок размера своего типа. Наложение эффекта или статуса подтверждается фиолетовым сообщением, звуком зачарования и частицами зачарования с тотемом; объединение и подъём качества звучат иначе — удар наковальни и левел-ап с магическими частицами; неудача — тусклый стук и красное сообщение с причиной.
Осколки — разменная монета уникальных камней: 8 одинаковых, собранные в кольцо схемы с пустым центром, превращаются в один полноценный уникальный камень. Материал у всех осколков один (аметистовый осколок), различаются только именем и текстурой под конкретный тип. Падают отдельной, более редкой строкой шанса — своим дропом, отдельно от камней эффектов.
Камни эффектов объединяются той же схемой «пусто в центре + 8 одинаковых»: восемь камней размера N дают один камень размера N+1, до потолка типа. Для эффектов со шкалой до пяти (Сила, Скорость, Спешка, Живучесть) камень пятого размера, докрафченный честно с нуля, требует 8 камней четвёртого размера, под них — 64 третьего, под те — 512 второго, а в основании — 4096 крошечных камней первого размера. На практике это находки с мобов вперемешку со слияниями, а не чистый фарм одного размера.
Три независимых броска на каждую подходящую смерть: камень эффекта, осколок и ядро качества. Каждый бросок случаен и не мешает остальным — теоретически один и тот же босс может уронить все три категории разом, просто шанс такого джекпота исчезающе мал.
| Дроп | С обычного моба | С помеченного босса (×25) |
|---|---|---|
| Камень эффекта (размер 1, случайный тип) | 1% | 25% |
| Осколок (случайный тип) | 0,4% | 10% |
| Ядро качества | 0,2% | 5% |
Обычный дроп срабатывает только с враждебных мобов — мирные существа камней не роняют, даже случайно погибнув от игрока. Тег босса это ограничение снимает: помеченная сущность роняет камни, даже если формально не относится к враждебным, — боссом можно объявить хоть кастового мифик-моба, хоть уникальную сущность стороннего ивента. Дроп можно ограничить конкретными мирами — по умолчанию действует на всех картах.
CloudSpheres мягко зависит от MythicMobs — без него плагин работает как есть, без единой ошибки. Хук собран через рефлексию, а не прямую зависимость сборки: при старте плагин проверяет, установлен ли MythicMobs, и если да — находит его менеджер мобов через отражение классов. Если MythicMobs стоит, все его мобы автоматически считаются боссами и дают повышенный шанс дропа без единой строчки настройки. Боссом можно пометить и любую другую сущность вручную — по персональному ключу в её памяти, и по умолчанию плагин уже понимает метку BossArena.
Отдельно система сфер работает как готовый слой наград для любого стороннего ивента: команда случайной выдачи возвращает то камень, то осколок, то ядро качества, то уникальный камень, то сам корпус — вызывается из любого плагина аирдропов, кейсов или квестов как обычная команда-награда. Веса результата зашиты в самой команде и не зависят от дропа с мобов:
| Результат | Шанс |
|---|---|
| Камень эффекта (случайный тип, размер смещён к малым) | 55% |
| Осколок уникального камня | 20% |
| Ядро качества | 13% |
| Готовый уникальный камень | 9% |
| Корпус сферы | 3% |
Размер камня в первой строке — не равномерное случайное число: розыгрыш стартует с размера 1 и с шансом 30% на каждом шаге поднимается ещё на ступень, так что подавляющее большинство наград — младшие размеры.
Лимиты качества прямо диктуют, сколько всего можно унести на одной сфере: Обычная — по сути демо-версия на один эффект, а полноценный «комбайн» из трёх эффектов и трёх статусов доступен только на Легендарной.
Билд на четыре эффекта разом не соберёшь: больше трёх основных не даёт ни одно качество — либо урезать список, либо тащить сферу до Легендарной.
| Команда | Что делает |
|---|---|
/sphere give <игрок> core [качество] | Выдать корпус сферы; без параметра — Обычная |
/sphere give <игрок> stone <эффект> <размер> | Выдать камень эффекта нужного типа и размера |
/sphere give <игрок> unique <тип> | Выдать готовый уникальный камень |
/sphere give <игрок> shard <тип> [кол-во] | Выдать осколки уникального камня, до 64 за раз |
/sphere give <игрок> quality [кол-во] | Выдать «Ядро качества», до 64 за раз |
/sphere give <игрок> random [качество] | Случайная награда по весам — для аирдропов, боссов, ивентов |
/sphere npc set | Поставить Заклинателя на текущей позиции |
/sphere npc remove | Убрать Заклинателя |
/sphere list | Список эффектов, уникальных камней и размеров в чат |
/sphere book | Выдать книгу-каталог «Каталог Сфер» — справочник по всей системе |
/sphere reload | Перечитать конфиг без перезапуска сервера |
Пример: /sphere give Steve stone strength 3 — средний камень Силы; /sphere give Steve core legendary — пустой корпус легендарного качества, без единого ядра. Алиасы команды: /spheres, /sfera, /сфера, /сферы.
| Право | По умолчанию | Что открывает |
|---|---|---|
sphere.admin | op | Админ-команды: give, npc, reload |
sphere.use | true (у всех) | Взаимодействие с Заклинателем (правый клик по NPC) |
Проверка прав в коде уже, чем кажется по описанию: sphere.use реально проверяется только на клике по Заклинателю. Команды /sphere list и /sphere book не проверяют вообще никакое право и доступны любому игроку без исключений.
Почти вся механика вынесена в конфиг и применяется командой /sphere reload без перезапуска сервера. Числа порогов и шансов, разобранные выше по каждому камню, — это дефолты того же файла, каждое можно подправить точечно.
| Категория предмета | Материал | CustomModelData |
|---|---|---|
| Сфера / корпус сферы | heart_of_the_sea | базовый номер |
| Камень эффекта, любой тип и размер | свой на тип (редстоун, сахар, светопыль и другие) | база + 100 × (номер эффекта + 1) + размер |
| Уникальный камень | свой на тип (мембрана фантома, эхо-осколок и другие) | база + 900 + номер типа |
| Осколок | amethyst_shard | база + 950 + номер типа |
| Ядро качества | firework_star | база + 970 |
CloudSpheres — это не одно зачарование, а целая экономика вокруг одного предмета: дроп, крафт, кузница-Заклинатель и своя система редкости, которая честно считает лимиты, узнаёт боссов по любой метке и не даёт задюпать результат.