
Dynamic Lights
Плагин Dynamic Lights позволяет предметам в руках и на головах мобов излучать динамический свет на сервере Paper 1.21+. Без модов у клиента - всё работает через пакеты. Удобно, просто, без лишних зависимостей.
Dynamic Lights - динамический свет на сервере без модов
Dynamic Lights - это плагин для Paper 1.21+, который добавляет динамическое освещение от предметов, которые держат игроки, мобы или просто валяются на земле. И никакой установки модов на клиент: всё работает через пакетную магию сервера. Просто, лёгко и не трогает мир.
Зачем? Если ты когда-нибудь бродил по пещере в Майнкрафт с факелом в руке и думал "А хорошо бы он реально светил", то это твой вариант. Или если хочешь, чтобы зомби с тыквой на голове подсвечивал себе путь - да, и такое можно.
Почему стоит попробовать
- Работает на Paper 1.21+ - многие альтернативы застряли на 1.16. А тут сразу свежак.
- Мобы тоже светятся - даёшь зомби факел в руку или надеваешь тыкву на голову, и он идёт, подсвечивая всё вокруг. Настраивается по типу мобов.
- Мягкие переходы света - блоки света гаснут плавно, так что движение выглядит естественно, без скачков.
- Никаких лишних плагинов - только чистый Paper API. Не нужен ни ProtocolLib, ни PacketEvents.
- Каждый игрок решает сам - можно отключить подсветку через
/dl toggle, настройка сохраняется. - Мирные миры - можно отключить в Незере, Энде или любом другом мире по названию.
- Перезагрузка на лету -
/dl reloadубирает все фантомные блоки света, перечитывает конфиг и работает дальше. - Лёгкий вес - jar-ник всего ~40 КБ, никаких тяжёлых зависимостей, кроме bStats.
Что умеет
| Функция | Статус |
|---|---|
| Предметы в руках игрока (основная и вторая рука) | ✅ |
| Свет от шлема (слот головы) | ✅ |
| Моб с предметом в руке (зомби, скелеты, пиглины и т.д.) | ✅ |
| Моб с предметом на голове (тыква на зомби) | ✅ |
| Свет от брошенных предметов (фонарь на земле светится) | ✅ |
| Настраиваемая яркость для каждого предмета | ✅ |
| Плавное затухание кластеров света | ✅ |
Вкл/выкл для каждого игрока (/dl toggle) | ✅ |
| Отключение по мирам | ✅ |
| Подводное освещение | ✅ |
| Без изменений мира - только пакеты | ✅ |
| Режим наблюдателя и исчезновение | ✅ |
| Горячая перезагрузка | ✅ |
| Белый список заменяемых блоков | ✅ |
Совместимость
- Сервер: Paper 1.21.x (собран на API 1.21.4, тестировался на 1.21.11). Должен работать на любой версии 1.21.
- Java: 21+.
- Folia / Spigot: не тестировалось.
- Конфликты: неизвестны. Плагин не меняет данные мира, так что его можно смело удалять в любой момент.
Яркость по умолчанию
TORCH 14 LANTERN 15 GLOWSTONE 15 JACK_O_LANTERN 15
SOUL_TORCH 10 SOUL_LANTERN 10 REDSTONE_TORCH 7
SEA_LANTERN 15 SHROOMLIGHT 15 END_ROD 14
CAMPFIRE 14 SOUL_CAMPFIRE 10 GLOW_BERRIES 6 BLAZE_ROD 10
Любой предмет можно добавить или переопределить в config.yml.
Команды
| Команда | Право | Описание |
|---|---|---|
/dynamiclights toggle | dynamiclights.toggle | Включить/выключить свет для себя. |
/dynamiclights reload | dynamiclights.reload | Перезагрузить конфиг и запустить заново. |
/dynamiclights status | - | Диагностика: количество источников, сводка конфига. |
Алиасы: /dl, /dynlights.
Конфигурация
enabled: true
view_radius: 32
update_interval_ticks: 1
mob_scan_interval_ticks: 4
track_mobs: true
track_items: true # брошенные предметы на земле тоже светятся
suppress_vanished_emitters: true
suppress_spectator_emitters: true
cluster_radius: 1 # 0 = один столбец, 1 = 3x3, 2 = 5x5 (макс. 2)
cluster_height: 2 # 1 = только голова, 2 = голова + тело (макс. 3)
cluster_falloff_per_block: 2 # уменьшение яркости на каждый блок от центра
disabled_worlds: [] # например: [world_nether, world_the_end]
mob_whitelist:
- ZOMBIE
- SKELETON
- PIGLIN
- DROWNED
equipment_slots:
- MAIN_HAND
- OFF_HAND
- HEAD
item_brightness:
TORCH: 14
LANTERN: 15
GLOWSTONE: 15
JACK_O_LANTERN: 15
replaceable_blocks: # только эти блоки могут заменяться фантомным светом
- AIR
- CAVE_AIR
- WATER
- SHORT_GRASS
- TALL_GRASS
Как это работает
Когда существо держит предмет из списка, плагин отправляет каждому игроку рядом пакет с фантомным блоком minecraft:light[level=N,waterlogged=B] в позиции глаз существа и вокруг. Настоящий мир не меняется - чанки не пересвечиваются, блоки не ставятся. Когда существо двигается, старый блок убирается пакетом с реальным блоком, а новый появляется.
Правда, стоит помнить: ванильный клиент Minecraft умеет только блочное освещение, поэтому свет будет "привязан" к сетке блоков. Настройки кластера и затухания делают движение света более плавным, но полностью непрерывным он не станет без клиентского мода вроде LambDynamicLights или Optifine Dynamic Lights.
Производительность
На тестовом сервере с 4 игроками и ~30 мобами, держащими факелы, с настройками кластера по умолчанию (3x2x3 = 18 блоков на источник) задача на тик занимает меньше 1 мс. Если сервер жёстко нагружен по процессору:
- Поставь
track_mobs: false- отключишь сканирование мобов на каждом тике. - Уменьши
cluster_radiusдо 0 (один столбец вместо 3x3). - Увеличь
update_interval_ticksдо 2 (свет будет обновляться на 10 Гц вместо 20).
Установка
- Скачай джарник
DynamicLights-x.y.z.jar. - Кинуть в папку
plugins/на сервере. - Перезапустить сервер.
- Настроить
plugins/DynamicLights/config.ymlпод себя. /dl reload.
Готово. Теперь ты можешь бродить по пещерам с факелом, и свет будет реально за тобой следовать. Удобно, просто и без костылей.
Сервер для плагина Dynamic Lights - как у профи
Плагин Dynamic Lights создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином Dynamic Lights для друзей можно за пару минут - BungeeHost всё уже подготовил.
