Supported entities and items such as torches, lanterns, or enchanted gear emit light! Server-side!
Server-side dynamic lighting for 1.17.x-26.2.x
For heavily modded setups, modpacks, as well as for playing on external servers, I recommend LambDynamicLights or similar client-side mods instead.
-> For details, check this wiki page.
This data pack/mod brings dynamic lighting to Minecraft without any client-side requirements. Supported entities and items (like torches, glowstone, or enchanted gear), held or worn by players, mobs, or placed in item frames, will emit light using the light block added in Snapshot 21w13a.
Since this project is completely server-side, players joining a server with Dynamic Lights installed will not need to install anything on their end for it to work! However, you can still use the mod version on the client for single-player worlds only. Joining a server that does not have Dynamic Lights installed will have no effect.
Since this is a data pack at its core, there are some limitations compared to other purely modded solutions.
Limitations (click to expand) - Dynamic Lights may stutter while moving around. This project solely relies on vanilla light blocks, which are restricted to the block grid. Smooth transitions between blocks are not feasible - This pack currently uses marker entities to keep track of dynamic light positions. If these entities are cleared by you or plugins like [EntityTrackerFixer](https://www.spigotmc.org/resources/entitytrackerfixer-1-13-1-20-6-support-optimize-your-server.114924/), light blocks will be left behind. See issue [#25](https://github.com/Tschipcraft/dynamiclights/issues/25) - Vanilla light blocks are unfortunately immovable by pistons and block explosion damage. This can cause some redstone contraptions to malfunction. Please report any issues, I try to prevent common cases. See e.g. fixed issues [#51](https://github.com/Tschipcraft/dynamiclights/issues/51), [#15](https://github.com/Tschipcraft/dynamiclights/issues/15), [#12](https://github.com/Tschipcraft/dynamiclights/issues/12), [#10](https://github.com/Tschipcraft/dynamiclights/issues/10) - In Minecraft 1.21.4 and below, dynamic light updates will always trigger block updates. This could cause floating blocks affected by gravity, like sand or gravel, to fall - Some shader packs that ignore the vanilla lightmap, such as [Rethinking Voxels](https://modrinth.com/project/kmwfVOoi), will not display the dynamic lights. See issue [#59](https://github.com/Tschipcraft/dynamiclights/issues/59) - Dynamic Lights cannot function in 1x1 block spaces occupied by non-solid blocks, as there is simply no space for placing light blocks. See issues [#39](https://github.com/Tschipcraft/dynamiclights/issues/39) and [#43](https://github.com/Tschipcraft/dynamiclights/issues/43) - Dynamic Lights per player operate globally. [See a detailed explanation here](https://github.com/Tschipcraft/dynamiclights/issues/3#issuecomment-1450437262)Install either as:
.zip in your world's datapacks foldermods folder and optionally install MidnightLib for a global config file and UITo manage settings, reset, or uninstall the pack, use /trigger tschipcraft.menu or /function #tschipcraft:menu.
Forge is only natively supported until Minecraft 1.21.5.
This data pack follows the Smithed and essential MC Datapacks Discord Server Conventions to ensure data pack compatibility.
Want to buy Hytale or upgrade your edition? Use creator code Tschipcraft upon checkout for me to receive a commission! (The price for you stays the same)
Optional
Required
Terms for using, modifying and redistributing this product.
24.06.2026 · Modrinth
type key with entity_type in predicatesScreenshots and images from the original Modrinth page.








Published versions and original Modrinth files.
24.06.2026 · 187 793 downloads
type key with entity_type in predicates24.06.2026 · 23 901 downloads
type key with entity_type in predicates10.04.2026 · 141 715 downloads
04.04.2026 · 307 482 downloads
04.04.2026 · 55 254 downloads
26.03.2026 · 7 846 downloads
09.12.2025 · 695 584 downloads
#is_dry biome tag combo instead of the now removed #snow_golem_melts tag09.12.2025 · 92 187 downloads
#is_dry biome tag combo instead of the now removed #snow_golem_melts tag09.10.2025 · 118 662 downloads
01.10.2025 · 612 987 downloads
01.10.2025 · 868 835 downloads
01.10.2025 · 46 682 downloads
09.08.2025 · 275 408 downloads
09.08.2025 · 124 504 downloads
09.08.2025 · 24 711 downloads
20.07.2025 · 25 973 downloads
03.07.2025 · 293 457 downloads
03.07.2025 · 21 624 downloads
17.06.2025 · 66 354 downloads
17.06.2025 · 7 792 downloads
12.05.2025 · 294 987 downloads
strict argument, removing the restriction to avoid most block update affected blocks, such as falling blockssort=arbitrary to allow entity selector short-circuitinges_ar) language support (Thanks @Texaliuz)12.05.2025 · 14 701 downloads
strict argument, removing the restriction to avoid most block update affected blocks, such as falling blockssort=arbitrary to allow entity selector short-circuitinges_ar) language support (Thanks @Texaliuz)03.12.2024 · 354 288 downloads
03.12.2024 · 27 931 downloads
16.11.2024 · 173 961 downloads
16.11.2024 · 2 979 downloads
10.07.2024 · 823 619 downloads
10.07.2024 · 28 858 downloads
25.05.2024 · 449 378 downloads
Hotfix for v1.8 - the data pack now actually includes the overlays for compatibility with 1.20.6 🔧 (closes #34)
v1.8 Changelog (click to expand) - **Update to Minecraft 1.20.6** 🐺 These changes utilize overlays to maintain backwards compatibility - Switched to testing components rather than NBT in predicates - Added support for the newly added contents slot in predicates - **Added intermediate light levels 3 and 12** ([#14](https://github.com/Tschipcraft/dynamiclights/issues/14)) - Magma cubes, magma blocks, magma cream, all remaining amethyst buds, heart of the sea and totem of undying (closes [#23](https://github.com/Tschipcraft/dynamiclights/issues/23)) now emit light level 3 - Dragon fireballs now emit light level 12 instead of 15 - **Implemented a new system for finding valid locations for dynamic lights.** Checks now actively avoid blocking paths of fluids and pistons (closes [#15](https://github.com/Tschipcraft/dynamiclights/issues/15)), interfering with other redstone components and triggering certain block updates (closes [#12](https://github.com/Tschipcraft/dynamiclights/issues/12)) - **Added support for parsing item displays, block displays and falling blocks** - **Added support for parsing tridents, arrows and ominous item spawners in versions 1.20.5 and up** - Simplified light block placement and removal - Fixed shulkers teleporting away when shooting (closes [#20](https://github.com/Tschipcraft/dynamiclights/issues/20)) - Eventified item frame reparsing in versions before 1.20.5 Item frame reparsing is now triggered when a player right-clicks on an item frame or when an item drops nearby in versions prior to 24w11a This should improve performance in regions with a high number of item frames while also improving responsiveness (first steps for [#13](https://github.com/Tschipcraft/dynamiclights/issues/13)) - Improved dynamic light explosion avoidance performance by checking a global score instead of scanning for nearby area effect clouds - Fixed dynamic lights overwriting cave_air with air - Fixed dynamic light position offset for item entities - Added separate mod support tag lists for modded items - Added additional overlay that should slightly improve performance when placing dynamic lights in 1.20.2 and above - Gave dynamic light marker entities a custom name ([#19](https://github.com/Tschipcraft/dynamiclights/issues/19)) - Some light level changes - Added conduit to light level 15 items - Moved glowstone dust from light level 15 to light level 9 - Added crying obsidian to light level 9 items - Added small_fireball to light level 9 entities - Moved allay from 9 to light level 6 entities - Added enchanted golden apple, enchanting table, enchanted book, sculk catalyst and the upcoming vault to light level 6 items - Added paintings to the ignore tag list - Added tnt minecarts to the may_block_explosion_damage tag list25.05.2024 · 5 278 downloads
Hotfix for v1.8 - the data pack now actually includes the overlays for compatibility with 1.20.6 🔧 (closes #34)
v1.8 Changelog (click to expand) - **Update to Minecraft 1.20.6** 🐺 These changes utilize overlays to maintain backwards compatibility - Switched to testing components rather than NBT in predicates - Added support for the newly added contents slot in predicates - **Added intermediate light levels 3 and 12** ([#14](https://github.com/Tschipcraft/dynamiclights/issues/14)) - Magma cubes, magma blocks, magma cream, all remaining amethyst buds, heart of the sea and totem of undying (closes [#23](https://github.com/Tschipcraft/dynamiclights/issues/23)) now emit light level 3 - Dragon fireballs now emit light level 12 instead of 15 - **Implemented a new system for finding valid locations for dynamic lights.** Checks now actively avoid blocking paths of fluids and pistons (closes [#15](https://github.com/Tschipcraft/dynamiclights/issues/15)), interfering with other redstone components and triggering certain block updates (closes [#12](https://github.com/Tschipcraft/dynamiclights/issues/12)) - **Added support for parsing item displays, block displays and falling blocks** - **Added support for parsing tridents, arrows and ominous item spawners in versions 1.20.5 and up** - Simplified light block placement and removal - Fixed shulkers teleporting away when shooting (closes [#20](https://github.com/Tschipcraft/dynamiclights/issues/20)) - Eventified item frame reparsing in versions before 1.20.5 Item frame reparsing is now triggered when a player right-clicks on an item frame or when an item drops nearby in versions prior to 24w11a This should improve performance in regions with a high number of item frames while also improving responsiveness (first steps for [#13](https://github.com/Tschipcraft/dynamiclights/issues/13)) - Improved dynamic light explosion avoidance performance by checking a global score instead of scanning for nearby area effect clouds - Fixed dynamic lights overwriting cave_air with air - Fixed dynamic light position offset for item entities - Added separate mod support tag lists for modded items - Added additional overlay that should slightly improve performance when placing dynamic lights in 1.20.2 and above - Gave dynamic light marker entities a custom name ([#19](https://github.com/Tschipcraft/dynamiclights/issues/19)) - Some light level changes - Added conduit to light level 15 items - Moved glowstone dust from light level 15 to light level 9 - Added crying obsidian to light level 9 items - Added small_fireball to light level 9 entities - Moved allay from 9 to light level 6 entities - Added enchanted golden apple, enchanting table, enchanted book, sculk catalyst and the upcoming vault to light level 6 items - Added paintings to the ignore tag list - Added tnt minecarts to the may_block_explosion_damage tag list24.05.2024 · 6 427 downloads
24.05.2024 · 713 downloads
11.01.2024 · 339 312 downloads
11.01.2024 · 10 201 downloads
04.09.2023 · 129 091 downloads
/function #tschipcraft:menu command04.09.2023 · 5 234 downloads
/function #tschipcraft:menu command15.06.2023 · 10 458 downloads
25.02.2023 · 2 210 downloads
Please uninstall the previous version of this data pack (/function dynamiclights:uninstall) before you install this version, if you are upgrading from v1.4!
01.01.2023 · 2 071 downloads
Initial release on Modrinth ✨
Changelog since v1.3:
- Update to Minecraft 1.19 🐸
- Switched to item tags regarding held items internally thus increasing performance
- Added tvc_ignore implementation