Home›Java›Mods›SunWell
SunWell
ModsJava

SunWell

Java mod listed for Minecraft 1.20–1.21. Downloads from the MC Java Mods app on Android.

by SdataG · on CurseForge

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…

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 1.21.1 · NeoForge⬇ Download for 1.20.1 · Forge
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.
SunWell — screenshot 1SunWell — screenshot 2SunWell — screenshot 3SunWell — screenshot 4
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

⚠️ 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:


🏷️ 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)

Datapack — data/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.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more