▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Dynamic Lights
Dynamic Lights

Dynamic Lights

Held items emit dynamic light that follows players AND mobs. Modern Paper 1.21+. No client mod required.

Оцените первым
531
3

DynamicLights

Held items emit dynamic light that follows players and mobs in real time. Built for modern Paper 1.21+. No client mod, no ProtocolLib, no world modification.

A torch in your hand lights up the cave around you. A jack-o-lantern on a zombie's head lights up the zombie. Drop a lantern on the floor and it lights up the room. Walk away and the world goes dark again — your save file never changes.

Why this plugin

  • Built for Paper 1.21+ — most alternatives are stuck on 1.16.
  • Mobs emit light — give a zombie a torch in its hand or a jack-o-lantern on its head and it walks around lit up. Configurable per mob type.
  • Soft falloff clusters — outer light blocks fade in brightness so motion looks smooth instead of jumpy.
  • Zero dependencies — pure Paper API. No ProtocolLib, no PacketEvents.
  • Per-player toggle — clients can opt out for performance. Persisted via PDC.
  • Per-world disable — skip Nether, End, or any world by name.
  • Reload without restart/dl reload reverts all phantom blocks, reloads config, resumes.
  • Tiny footprint — ~40 KB jar, no shaded dependencies except bStats.

Features

FeatureStatus
Player held items (main hand, off hand)
Player wearable lights (helmet slot)
Mob held items (zombies, skeletons, piglins, etc.)
Mob wearable lights (jack-o-lantern on a zombie's head)
Dropped item lighting (lantern on the ground glows)
Configurable item → brightness map
Soft cluster falloff for smooth movement
Per-player toggle (/dl toggle)
Per-world disable
Underwater (waterlogged light blocks)
No world modification — purely packet-based
Spectator and vanish detection
Hot reload
Replaceable-block whitelist (preserves slabs, banners, etc.)

Compatibility

  • Server: Paper 1.21.x (built against 1.21.4 API; tested on 1.21.11). Should run on any 1.21 patch.
  • Java: 21+.
  • Folia / Spigot: untested. PRs welcome.
  • Conflicts: none known. Does not modify world data, so safe to remove at any time.

Default item brightness

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

Add or override any material via config.yml.

Commands

CommandPermissionDescription
/dynamiclights toggledynamiclights.toggleToggle dynamic lights for yourself.
/dynamiclights reloaddynamiclights.reloadReload config + resume.
/dynamiclights statusDiagnostics: tracked emitters, config summary.

Aliases: /dl, /dynlights.

Configuration

enabled: true
view_radius: 32
update_interval_ticks: 1
mob_scan_interval_ticks: 4
track_mobs: true
track_items: true                # dropped items on the ground emit light

suppress_vanished_emitters: true
suppress_spectator_emitters: true

cluster_radius: 1                # 0 = single column, 1 = 3x3, 2 = 5x5 (capped at 2)
cluster_height: 2                # 1 = head only, 2 = head + body (capped at 3)
cluster_falloff_per_block: 2     # subtract per block of distance from center

disabled_worlds: []              # e.g. [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:              # only these blocks may be replaced with phantom light
  - AIR
  - CAVE_AIR
  - WATER
  - SHORT_GRASS
  - TALL_GRASS

How it works

When an entity holds a configured light item, the plugin sends each nearby player a phantom minecraft:light[level=N,waterlogged=B] block-update packet at the entity's eye position (and surrounding cluster). The actual world is never touched — chunk lighting isn't recomputed and no blocks are placed. When the entity moves, the previous block(s) are reverted with a real-block packet and new ones are emitted.

Because the vanilla Minecraft client only knows about block-level lighting, dynamic lights inherently snap to the block grid. The cluster + falloff settings make the visual transitions softer but cannot make the light fully continuous — that requires a client-side mod such as LambDynamicLights or Optifine's Dynamic Lights.

Performance

On a 4-player test server with ~30 mobs holding torches, default cluster size (3×2×3 = 18 blocks per emitter), the per-tick task takes < 1 ms. If your server is CPU-bound:

  • Set track_mobs: false to skip the per-tick mob scan.
  • Lower cluster_radius to 0 (single column instead of 3×3).
  • Increase update_interval_ticks to 2 (light follows entity at 10 Hz instead of 20 Hz).

Installation

  1. Drop DynamicLights-x.y.z.jar into your server's plugins/ folder.
  2. Restart.
  3. Edit plugins/DynamicLights/config.yml to taste.
  4. /dl reload.

License

Proprietary — All Rights Reserved. You may install and run unmodified copies of the plugin on your own Minecraft servers. Redistribution, modification, and reverse engineering are not permitted without written permission.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.1.x1.21.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки


Создатели

Детали

Лицензия:
Опубликован:1 месяц назад
Обновлён:1 месяц назад
Главная