Лук в руке — это ещё не ответ на вопрос, чем сейчас прилетит. Ответ решает Shift за долю секунды до выстрела.
Обычный лук бьёт стрелами. Этот — стрелами, ракетой или летящим мечом, смотря что выбрал игрок прямо во время боя. Один предмет в руке заменяет сразу три тактики, а переключение между ними — это Shift и клик. CloudUniversalBow — донат-лук для Paper 1.19.4 от студии Cloud Delight.
Внешне — обычный ванильный лук (материал BOW): плагин метит его скрытым тегом в PDC, а не именем, поэтому подделать переименованием нельзя — выдать «настоящий» экземпляр может только команда /ubow give. Под текстуру зарезервирован CustomModelData 850001: с ресурспаком лук получает свой вид, без него выглядит как самый обычный лук. Модель одна на все три режима — текстура не меняется, активный режим подсказывают только лор и экшенбар.
Имя предмета — розовое «Универсальный лук», а в лоре построчно перечислены все три режима: активный отмечен зелёной стрелкой, остальные — тускло-серые, и строка перерисовывается вживую при каждом переключении. «Зачарованный» блеск — чистая косметика статуса: скрытый уровень зачара Прочности без игрового эффекта, урон и износ лука считаются отдельно и полностью вручную. Стандартная подпись атрибутов-модификаторов скрыта — она луку всё равно не нужна.
Shift+ПКМ по луку в основной руке переключает боеприпас по кругу: Стрелы → Ракета → Меч-снаряд → Стрелы. Клик гасится полностью — натяжка не запускается, жест распознаётся как смена режима. Дебаунс 250 мс на игрока страхует от двойного срабатывания одного физического клика. Переключение подтверждается звуком и надписью на экшенбаре с именем нового режима, лор предмета обновляется тут же.
Обычный ПКМ без Shift — штатная натяжка, лук можно держать в любой руке. Без стрелы лук физически не натянется (ограничение клиента, не плагина), поэтому если стрел нет вовсе — ни обычных, ни с наконечником, ни спектральных, — плагин на миг подкладывает служебную «фантомную»: в оффхенд, а если занят — в первый свободный слот инвентаря (броню не трогает). Фантом помечен отдельным тегом, подобрать его нельзя, а после выстрела (или спустя 100 тиков — около 5 секунд, если игрок передумал) он снимается сам. Подстраховка не сработает, только если оффхенд занят и все 36 слотов инвентаря забиты. Благодаря трюку Ракета и Меч-снаряд стреляют вообще без единой стрелы — колчан можно смело оставить дома.
Сила натяжки (0–1, обычное удержание ПКМ перед отпусканием) участвует во всех трёх режимах — от неё зависит скорость снаряда, а в режиме Меч ещё и урон. Между выстрелами — перезарядка 600 мс: плагин вешает ещё и ванильную HUD-полоску прямо на лук — анимацию «свайпа» по иконке, — так что откат виден на хотбаре, а не только в подсказке на экшенбаре. Клик во время отката просто показывает, сколько секунд осталось, и не тратит ни боеприпас, ни прочность. Каждый успешный выстрел, в любом режиме, снимает 1 единицу прочности (максимум лука — 384, то есть хватает примерно на 384 выстрела). Значение настраивается: 0 — лук не изнашивается вовсе (не флаг «неразрушимый», просто счётчик износа не растёт), больше 1 — ломается быстрее (например, 8 — это уже около 48 выстрелов). При достижении лимита лук не исчезает молча — штатно ломается прямо в руке, с ванильным звуком и частицами осколков. Боеприпас всегда списывается сначала из второй руки, затем с хотбара, затем из остального инвентаря.
Формально режимы отличаются тем, что тратят и как считают цифры, но по ощущениям в бою — это три разных оружия под одной кнопкой. Короткая сводка — в таблице, дальше — механика каждого режима подробно, с формулами и числами по умолчанию.
| Режим | Что тратится | Скорость снаряда | Урон |
|---|---|---|---|
| Стрелы | 1 стрела (или бесплатный фантом) | натяжка × 3.0 | ванильная формула стрелы + бонус зачаров лука |
| Ракета | 1 фейерверк-ракета | натяжка × 2.6, не ниже 0.4× | до 9.0 в эпицентре, радиус 3 блока, спад к краю |
| Меч-снаряд | 1 меч (расходуется целиком) | натяжка × 2.6, не ниже 0.4× | (база материала + Острота) × натяжка, максимум ×2.5 |
Единственный режим, который тратит настоящий боеприпас, а не абстрактную «единицу» — и именно поэтому он единственный умеет наследовать эффекты. Плагин ищет стрелу в инвентаре (сначала оффхенд, потом хотбар, потом остальной инвентарь) и смотрит на тип: спектральная стрела спавнит светящуюся SpectralArrow, стрела с наконечником спавнит обычную стрелу, но переносит на неё то же зелье — базовый и все кастомные потион-эффекты снимаются с исходного предмета до списания и накладываются на снаряд. Если стрел нет вовсе, летит бесплатная фантомная — на боевые качества это не влияет.
Скорость снаряда = направление взгляда × натяжка × 3.0 — ровно ванильная формула лука на полном заряде. Полная натяжка (сила ровно 1.0, тетива держалась не меньше секунды) дополнительно помечает выстрел как критический — стандартный ванильный крит со шлейфом частиц и бонусным уроном. Из зачарований лука здесь работают три: Сила добавляет к урону стрелы уровень × 0.5 + 0.5 (Сила V это +3.0 к базовым 2.0 урона стрелы), Пламя поджигает саму стрелу на настраиваемое время (по умолчанию 100 тиков — 5 секунд), из-за чего горит и то, во что она попадёт, а Отбрасывание толкает цель с силой, равной уровню чара. Итоговый урон ваниль домножает на скорость полёта стрелы, так что слабая натяжка приглушает и бонус от Силы тоже. Настоящую стрелу после выстрела можно подобрать, фантомную — никогда, иначе вышел бы бесконечный дубликат из воздуха.
Тратит одну ракету фейерверка — неважно, какими эффектами она сама была снаряжена: визуал взрыва задаёт плагин (красно-оранжевый «шар» с мерцанием), а не начинка потраченного предмета. Летит ракета вперёд по направлению взгляда, как из арбалета, а не строго вверх, как при ванильном использовании фейерверка в руке. Скорость запуска = натяжка × 2.6, но не ниже 0.4× — даже короткий тап-клик долетит вперёд, а не упадёт под ноги стрелка. Взрыв срабатывает от столкновения с блоком или сущностью, либо сам по себе, если ракета никуда не попала за 25 тиков (~1,25 секунды) полёта — у фейерверка нарочно длинный «фитиль», чтобы ванильная детонация не сработала раньше этой логики.
Радиус поражения — 3 блока, урон в эпицентре — 9.0, дальше линейно падает к краю, но не ниже 1.0 даже у самой границы. Тактическая деталь: по умолчанию взрыв не ванильный, а ручной перебор сущностей рядом по прямой дистанции — без проверки блоков между центром и целью. Тонкая стена не защищает так, как от настоящего тротила: если цель в радиусе, урон долетит и из-за угла, а задетых ещё и отбрасывает от центра, тем сильнее, чем ближе к эпицентру. Ломать блоки, поджигать цели и задевать взрывом самого стрелка ракета по умолчанию не может — все три включаются в конфиге отдельно; при включённом «ломать блоки» плагин переключается на настоящий ванильный взрыв, и урон с разрушениями считает уже сама игра. Из зачарований лука ракета не читает ничего — ни Силу, ни Пламя, ни Отбрасывание: самостоятельная боевая единица.
Самый дорогой режим в буквальном смысле: тратится не заряд и не расходник, а весь меч целиком — один предмет из стака за один выстрел, вместе со всеми зачарованиями, что на нём висели. Летит он снарядом с подменённой иконкой — визуально это крутящийся в полёте меч, а не что-то абстрактное, звук выстрела — бросок трезубца.
Урон = (базовый урон материала + бонус Остроты) × множитель натяжки, на полном заряде — до ×2.5. Базовый урон по материалу: дерево и золото — 4.0, камень — 5.0, железо — 6.0, алмаз — 7.0, незерит — 8.0. На полной натяжке это уже 10.0 / 12.5 / 15.0 / 17.5 / 20.0 — и без единого зачарования. Острота считается по ванильной формуле (0.5 × уровень + 0.5) и добавляется к базовому урону ДО умножения на натяжку — в отличие от прочих чаров режима, её бонус масштабируется натяжкой всегда, без исключений. Небесная кара (по любой нежити — зомби, скелетам, иссушителю, зомби- и скелетным лошадям, фантомам и их сородичам) и Бич членистоногих (по паукам, чешуйницам, эндермитам и пчёлам) добавляются отдельно уже при попадании — тип цели известен только в момент удара. Множится ли этот бонус на натяжку, решает отдельный тумблер (по умолчанию да); при полной натяжке и высоких уровнях чара это ощутимо взвинчивает урон, так что на боевых серверах с сильными чарами тумблер стоит выключать. Заговор огня поджигает жертву на уровень × секунды-на-уровень × 20 тиков (по умолчанию 4 секунды на уровень) — независимо от типа цели и тумблера натяжки.
Промах не карает вдвойне: снаряд, ударившийся о блок, проигрывает звук взмаха и частицы удара, но урона не снимает — меч уже потрачен, а цель цела.
Учёт зачаров переключается одним общим тумблером — выключил, и оба режима, что способны их читать, начинают игнорировать чары полностью. Набор чаров у режимов разный:
| Режим | Откуда чары | Что учитывается |
|---|---|---|
| Стрелы | с лука | Сила, Пламя, Отбрасывание |
| Ракета | — | ничего, режим не читает зачары вообще |
| Меч-снаряд | с меча — перед тем как тот расходуется | Острота, Небесная кара, Бич членистоногих, Заговор огня |
/ubow give [игрок] — выдать Универсальный лук (себе, если игрок не указан)./ubow reload — перезагрузить конфиг без рестарта сервера./universalbow, /улук.universalbow.admin — доступ к /ubow (выдача лука, перезагрузка конфига). По умолчанию — только у операторов.Весь баланс лежит в одном config.yml, применяется командой /ubow reload без рестарта сервера. Все игровые сообщения — на русском, переопределяются построчно, включая отдельные тексты для нехватки стрел, ракет и мечей, для отката и смены режима.
| Ключ | По умолчанию | Что делает |
|---|---|---|
custom-model-data | 850001 | Текстура лука под ресурспак, одна на все режимы |
glint | true | Косметический блеск зачарования, на баланс не влияет |
default-mode | ARROW | Режим только что выданного лука |
cooldown-ms | 600 | Перезарядка между выстрелами + HUD-полоска на луке |
durability-per-shot | 1 | Износ за выстрел; 0 — лук вечный |
phantom.cleanup-delay-ticks | 100 | Через сколько тиков снять зависший фантом, если выстрела не было |
enchantments.enabled | true | Общий выключатель учёта зачаров (Стрелы и Меч) |
enchantments.scale-with-draw | true | Множить бонус Кары/Бича на силу натяжки меча |
enchantments.smite-per-level | 2.5 | Бонус Небесной кары за уровень |
enchantments.bane-per-level | 2.5 | Бонус Бича членистоногих за уровень |
enchantments.fire-aspect-seconds-per-level | 4 | Секунд поджига за уровень Заговора огня |
arrow.max-speed | 3.0 | Множитель скорости стрелы от натяжки |
arrow.flame-ticks | 100 | Поджиг самой стрелы при зачаре лука Пламя |
rocket.speed | 2.6 | Множитель скорости запуска ракеты |
rocket.power | 3.0 | Радиус взрыва, блоки |
rocket.damage | 9.0 | Урон в эпицентре |
rocket.break-blocks | false | Ванильный взрыв с разрушением блоков вместо ручного AoE |
rocket.set-fire | false | Поджигать цели в радиусе |
rocket.hurt-shooter | false | Ранить взрывом самого стрелка |
rocket.max-life-ticks | 25 | Самоподрыв, если ракета никуда не попала |
rocket.fuse-power | 5 | Длина фитиля фейерверка, держится дольше max-life-ticks |
sword.max-multiplier | 2.5 | Множитель урона на полной натяжке |
sword.projectile-speed | 2.6 | Скорость снаряда-клинка |
sword.base-damage.* | 4.0–8.0 | Базовый урон по материалу меча (см. таблицу режимов) |
Отдельным блоком — лицензия от слива: включена по умолчанию, требует ключ и адрес сервера проверки; если сервер лицензий на миг недоступен, плагин ещё 24 часа (настраивается) работает по локальному кэшу. Для собственного сервера защиту можно выключить (license.enabled: false) — тогда ключ и адрес не нужны вовсе.
Один лук, три способа его бояться — а какой выбрать, решает Shift в кармане игрока.