SunWell

Craftable Dynamic Sunwell Lanterns beam real sky light underground. Crops, Dynamic Trees, Rain ,Snow and, Stroms!. Tag any block as a grow lamp or full sunwell for modpacks.
Screenshot 2026-07-18 180717.png

Screenshot 2026-07-18 180717.png

image_2026-07-18_180655374.png

image_2026-07-18_180655374.png

Screenshot 2026-07-18 180809.png

Screenshot 2026-07-18 180809.png

Screenshot 2026-07-18 180841.png

Screenshot 2026-07-18 180841.png

Description

CurseForge Downloads Supported Versions Loader License
Ai Used for the disctiption  ( Not in the mod other than normal asisstant)

Join for Sunwell Help

โ˜€๏ธ Sunwell

A portable hole in the ceiling. Real sky light underground — on your terms.

Sunwell adds craftable Sunwell Lanterns that project true Minecraft sky light into enclosed spaces. Crops grow, Dynamic Trees survive, daylight sensors respond, rain and snow fall through, and lightning cracks down the column in a storm.

Like open sky — except you hang it from a ceiling. Pack makers get a tag-driven engine: register any block as a simple grow lamp or a full weather-aware sunwell, no Java required.


โœจ Why not just a torch?

  ๐Ÿ’ก Sunwell Lantern ๐Ÿ”ฅ Torch / Glowstone
Light type Sky light — what plants actually check Block light only
Grows Dynamic Trees โœ… Yes (needs ≥ 12 sky light) โŒ No
Daylight sensors โœ… Yes, when exposed to "day" โŒ No
Reaches the floor โœ… A widening cone — higher lamp, wider pool โŒ Falls off with distance
Weather & time โš™๏ธ Optional (tag + config) Always on
Mob spawns ๐Ÿšซ Suppressed in the lit region Normal rules

๐Ÿฎ The Sunwell Lantern

  • ๐Ÿช Vanilla lantern placement — stands on the floor or hangs from a ceiling.
  • ๐Ÿ”ฆ Projects sky light in a downward-widening cone — hang it higher to light a wider pool of floor. Like a small sun.
  • ๐ŸŒ— The orb mirrors the sky it stands in for — sun, moon, cloud or thunderhead (see below).
  • ๐Ÿงช Recipe: Quartz ×3 · Iron Bars ×4 · Glowstone · Glass.

โš ๏ธ Upgrading from 2.0.x — the Soulwell Lantern has been removed (one lamp now presents every sky). Placed Soulwell Lanterns will not survive the update, and anything referencing sunwell:soulwell_lantern must be updated.


๐ŸŒค๏ธ The orb is a window

Look into the lantern and you see the sky it stands in for. It changes when the sky changes and as fast as the sky changes.

Sky The orb becomes
โ˜€๏ธ Clear day A warm sun with slowly rotating radiant shafts
๐ŸŒ™ Night A pale, cool moon — dimmer, no shafts
๐ŸŒง๏ธ Rain A flat, grey overcast cloud
โ›ˆ๏ธ Thunderstorm A dark thunderhead that flashes white with every bolt

โ›… Weather in the cone

Tag a lantern for full weather (or use the default Sunwell Lantern) and the sky comes down with it:

  • ๐ŸŒง๏ธ Rain falls through the whole lit pool and splashes where it lands — a light drizzle while it rains, a heavy downpour while it storms.
  • โ„๏ธ Snow in cold biomes drifts down and gradually piles up into snow layers on the floor, whitening the lit area over time.
  • โšก Lightning strikes down the column in thunderstorms. It lands somewhere in the pool and leans toward the tallest target — a tree, a mob, a player — while staying random. A lightning rod anywhere in the pool catches it harmlessly and powers its redstone. Far more likely to strike near a rod.

๐Ÿท๏ธ Tag-driven behavior

Every sunwell block needs #sunwell:sunwell_source. That alone is a static grow light — always-on virtual sky, no weather, no rain. Opt into more with extra tags:

Tag Effect
sunwell:sunwell_source Required. Flood-fills virtual sky light for crops & trees
sunwell:dynamic_exposure Light follows day/night, surface sky and weather
sunwell:undead_burning Undead sun-burn in the lit region during the day
sunwell:rain_through Rain, snow and lightning come through — and snow settles into layers

The Sunwell Lantern ships with all four. Full weather presentation (sky-mirroring orb, rain/snow, snow buildup, lightning) needs both dynamic_exposure and rain_through.

 

๐Ÿ“ฆ Register your own block (datapack & KubeJS)

Datapackdata/sunwell/tags/blocks/sunwell_source.json (folder is singular tags/block on 1.21+):

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

KubeJS — static grow lamp, or the full weather-aware treatment:

ServerEvents.tags('block', event => {
  // static grow lamp
  event.add('sunwell:sunwell_source', 'yourmod:ceiling_lamp')

  // full treatment
  const block = 'yourmod:solar_panel'
  event.add('sunwell:sunwell_source',   block)
  event.add('sunwell:dynamic_exposure', block)
  event.add('sunwell:undead_burning',   block)
  event.add('sunwell:rain_through',     block)
})

Tags grant capability; the config toggles below act as pack-wide master switches over them.

 


๐ŸŽ›๏ธ Configuration

All options live in config/sunwell-server.toml.


โš™๏ธ Full config reference

Region & light

Option Default Description
maxRadius 12 Horizontal spread from each source (blocks)
maxDepth 40 Maximum depth below a source (blocks)
coneSpread 1 Extra radius gained per block of descent. 0 = a straight column
skyLevel 14 Virtual sky brightness. 14 grows everything; 15 triggers vanilla canSeeSky
attenuateByDepth false Light falls off with distance from the source

Behavior — weather, burning, spawns, lightning, snow

Option Default Description
followDayNightCycle true Dim sunwell light at night for dynamic_exposure sources
respondToWeather true Rain and storms dim dynamic_exposure sources
respondToSurfaceLight true Tie strength to the real outdoor sky above the column
lanternFlux true Subtle flicker on dynamic_exposure sources
allowRainThrough true Master switch for rain/snow through rain_through tags
weatherShaftParticles true Client rain/snow shafts (full lantern profile only)
snowAccumulation true Build up snow layers on the floor while it snows
snowAccumulateOdds 12 1-in-N tick chance to add snow in a snowing cone. Higher = slower
snowMaxLayers 8 How deep snow piles (1–8 layers; 8 = a full block)
lightningThroughOdds 80000 1-in-N tick chance of lightning through a full column. 0 = off
lightningRodBoost 40 Lightning this many times likelier with a rod within 4 blocks. 1 = no bonus
lightningVisualOnly false true = flash + sound only. Default false: a real strike does fire/damage, but a rod always catches it harmlessly
enableUndeadBurning true Master switch for undead burn on undead_burning tags
blockHostileSpawns true Block monster spawns inside any lit region


Performance — nodeBudgetPerTick (80000, flood-fill cells/tick) and chunkBudgetPerTick (24, chunks rebuilt/tick). Raise both if you run many high-ceiling lamps with a large coneSpread.

 


๐Ÿ“ฆ Supported versions

Minecraft Loader Java
1.20.1 Forge 47.4+ 17
1.21.1 NeoForge 21.1+ 21

Both builds are feature-complete — lantern, VFX, tag system and Amendments wall/hand-lantern compat. On 1.21.1 the datapack folders are singular (tags/block, recipe, loot_table).


๐Ÿ“œ Credits & license

Sunwell is an original mod by SdataG — all code, models, textures and VFX authored for this project; no assets ported. The ceiling-skylight idea is familiar in modding (e.g. Ferreus Veritas's Skylight Lanterns); Sunwell is an independent reimplementation.

The SunWell Team

profile avatar
Owner
  • 4
    Followers
  • 4
    Projects
  • 47.7K
    Downloads
Donate

More from SdataGView all