Skylight Lights

Tag ceiling lamps and sky blocks so crops and Dynamic Trees grow underground with virtual sky light—no mob burning, no canSeeSky hack. Forge 1.20.1.

Skylight Light

Virtual skylight for underground farms and Dynamic Trees — without burning mobs or faking open sky.

Tag any block as a skylight source (ceiling lamps, sky blocks, custom blocks via datapack or KubeJS). The mod flood-fills an open region beneath each source and raises sky light there so plants grow as if they had daylight, while canSeeSky() stays false at default settings.


Features

  • Tag-driven — no hardcoded block list; use #skylightlanterns:skylight_source
  • Dynamic Trees compatible — boosts LightLayer.SKY (DT leaf survival needs ≥ 12)
  • Vanilla crops & saplings — enough light for normal growth underground
  • Safe defaults — virtual sky level 14 (grow everything; canSeeSky needs 15)
  • No undead burning — mobs do not sun-burn in skylight regions (configurable safety net)
  • Performance-minded — bounded flood-fill, per-tick chunk budget, node caps; no rewriting the vanilla light engine every tick
  • Server config — radius, depth, sky level, burn prevention, optional hostile spawn blocking

Requirements

Minecraft 1.20.1
Mod loader Forge 47+ (tested on 47.4.13)
Side Server logic; install on client for singleplayer

Optional (not required):

  • Dynamic Trees — benefits from sky-light boost
  • KubeJS — convenient way to add blocks to the tag

How to use

  1. Install the mod in your mods folder.
  2. Add your lamps or sky blocks to the block tag skylightlanterns:skylight_source.

Datapack

data/<namespace>/tags/blocks/skylight_source.json:

{
  "replace": false,
  "values": [
    "yourmod:ceiling_lamp",
    "blockofsky:sky_block"
  ]
}

KubeJS

ServerEvents.tags('block', event => {
  event.add('skylightlanterns:skylight_source', 'kubejs:ceilling_lamp')
  event.add('skylightlanterns:skylight_source', 'kubejs:ceilling_lamp2')
  event.add('skylightlanterns:skylight_source', 'kubejs:ceilling_lamp_red')
  event.add('skylightlanterns:skylight_source', 'blockofsky:sky_block')
})
  1. Place a tagged block on the ceiling of an enclosed room.
  2. Plant crops, saplings, or Dynamic Trees rooty dirt underneath.
  3. Growth should work as if the area had open sky light — without holes to the surface.

Configuration

After the first run, edit config/skylightlanterns-server.toml on the server.

Option Default Description
maxRadius 12 Horizontal spread from each source (blocks)
maxDepth 24 Maximum depth below a source (blocks)
nodeCap 6000 Max lit blocks per source (performance limit)
skyLevel 14 Virtual sky brightness (14 = DT + crops; 15 enables canSeeSky)
attenuateByDepth false If true, light falls off with distance from source
preventBurning true Undead never sun-burn inside a skylight region
blockHostileSpawns true Block monster spawns inside the region

Tip: Keep skyLevel at 14 unless you know you need full daylight behavior.


How it works (technical)

  • When a tagged block is placed or a chunk loads, the mod scans for sources and flood-fills air/passable space below them, stopping at solid blocks and config limits.
  • On the server, SKY light reads are boosted inside cached regions via a mixin on the sky light engine — the same path Dynamic Trees uses in hasAdequateLight().
  • The mod does not override canSeeSky() at default settings, so undead and weather behave normally outside the virtual light values.

Testing

  1. Build a sealed underground room (solid roof, no sky access).
  2. Place a tagged ceiling lamp or sky block.
  3. Plant a Dynamic Trees sapling or crops below.
  4. Leaves should stay green and the tree should grow; crops should mature.

Spawn a zombie under the lamp in daytime — it should not burn (with default config).


Credits

Concept inspired by the older Skylight Lanterns project. This is an independent reimplementation for Minecraft 1.20.1 / Forge, not a port of that jar.


License

MIT — see LICENSE in the release package.

The Skylight Lights Team

profile avatar
Owner
  • 3
    Followers
  • 10
    Projects
  • 34.1K
    Downloads

More from SdataGView all

  • FancyMenu APNG Loop Fix project image

    FancyMenu APNG Loop Fix

    • 0
    • Mods

    Client-side fix for FancyMenu play-once APNG replay + synchronized hover tear/regen.

    • 0
    • June 4, 2026
    • Mods
    • +1
  • TFC/Create Chain Compat project image

    TFC/Create Chain Compat

    • 30.3K
    • Mods

    Allows Tfc Chains to work on Create Conveyor

    • 30.3K
    • May 11, 2025
    • Mods
    • +1
  • Cycle of the Eternal Gauntlet project image

    Cycle of the Eternal Gauntlet

    • 2
    • Modpacks

    A hardcore survival modpack where the Overworld resets every 24 hours, death costs gold, and power comes from stolen mob essences. Scavenge shifting labyrinths, master runic magic, and gamble with permadeath—legends last only as long as their loot.

    • 2
    • February 8, 2025
    • Modpacks
    • +3
  • Void Extraction project image

    Void Extraction

    • 331
    • Modpacks

    Extraction style Sky-Block experience [Server]

    • 331
    • September 21, 2023
    • Modpacks
    • +3
  • FancyMenu APNG Loop Fix project image

    FancyMenu APNG Loop Fix

    • 0
    • Mods

    Client-side fix for FancyMenu play-once APNG replay + synchronized hover tear/regen.

    • 0
    • June 4, 2026
    • Mods
    • +1
  • TFC/Create Chain Compat project image

    TFC/Create Chain Compat

    • 30.3K
    • Mods

    Allows Tfc Chains to work on Create Conveyor

    • 30.3K
    • May 11, 2025
    • Mods
    • +1
  • Cycle of the Eternal Gauntlet project image

    Cycle of the Eternal Gauntlet

    • 2
    • Modpacks

    A hardcore survival modpack where the Overworld resets every 24 hours, death costs gold, and power comes from stolen mob essences. Scavenge shifting labyrinths, master runic magic, and gamble with permadeath—legends last only as long as their loot.

    • 2
    • February 8, 2025
    • Modpacks
    • +3
  • Void Extraction project image

    Void Extraction

    • 331
    • Modpacks

    Extraction style Sky-Block experience [Server]

    • 331
    • September 21, 2023
    • Modpacks
    • +3