Overview
Uses the sun angle for burning and spawn checks on sunlight sensitive mobs.
Morning scene with the sun low in the sky: one zombie standing in the long shadow of a cliff is not burning, while another zombie a few blocks away in direct sunlight is on fire.
Features
- Checks direction to the sun instead of only vertical sky access.
- Configurable mob filters, transparent blocks, and performance controls.
FFUtilities is included in this mod JAR (0.2.15 on 26.x, 0.2.8 on 1.21.1); no separate library download is needed.
How it works in detail
- Directional sun burning: a raycast toward the sun replaces the vertical sky check.
- Day-length friendly: it follows the dimension's celestial angle, so mods that change day length keep working.
- Spawn prevention: monsters can't spawn where they have a clear line to the sun.
- Transparent blocks: optionally let sunlight pass through glass and other non-occluding blocks. Leaves and mangrove roots still cast shade by default.
- Mob filter: all, whitelist or blacklist mode for both burning and spawn checks.
- Performance: staggered checks, a shared sun-vector cache and a per-mob decision cache.
- Debug rays: optional in-world lines showing what each mob is checking (green means it would burn, red means it is shaded).
Open the config screen from the Mods list (Mod Menu on Fabric; optional).
Configuration
General
| Key | Default | Description |
|---|---|---|
enabled |
true | Master toggle |
checkIntervalTicks |
5 | How often each mob re-checks (staggered by entity ID) |
burnRaycastDistance |
64 | Max burn ray length |
useCachedSunVector |
true | Cache the sun direction once per world tick |
raycastThroughTransparent |
true | Rays pass through glass and non-occluding blocks |
transparentBlocksTreatedAsOpaque |
leaves and mangrove roots | Blocks that still block the sun when transparent pass-through is on |
Mob filter
| Key | Default | Description |
|---|---|---|
filterMode |
all |
all, whitelist or blacklist |
whitelist |
common undead IDs | Used when the mode is whitelist |
blacklist |
empty | Used when the mode is blacklist |
- all: every mob that hits the burn and spawn checks
- whitelist: only the listed entity type IDs
- blacklist: every mob except the listed IDs
Mobs outside the filter keep vanilla sun-burn and spawn behavior.
Spawning
| Key | Default | Description |
|---|---|---|
preventSpawnInSunlight |
true | Block filtered monster spawns that can see the sun |
spawnRaycastDistance |
32 | Max spawn-check ray length |
Debug
| Key | Default | Description |
|---|---|---|
debugLogging |
false | Verbose logs |
showRaycasts |
false | Draw rays in the world |
Good to know
- Phantoms: burning is covered, but spawn prevention only applies to monsters that use the standard monster spawn rules (phantoms use their own).
- Helmet protection stays vanilla, and no "seek shade" AI is added.
- Only undead that aren't fire-immune are checked for burning, so cows and friends never raycast.
- Low sun angles still give a valid direction, so burning stays consistent around sunrise and sunset.
- Burning re-applies with the vanilla random chance every tick, so burn time and damage match vanilla while a mob stays in sunlight.
- There is no datapack support. Choose affected mobs with the mob filter config; vanilla tags and data keep working as usual.
Requirements and source version
| Minecraft | Loader | Requires |
|---|---|---|
| 1.21.1 | Fabric | Fabric Loader 0.16.1 or newer and Fabric API |
| 1.21.1 | NeoForge | NeoForge 21.1.211 or newer |
| 26.1 | Fabric | Fabric Loader 0.18.4 or newer, Fabric API and Java 25 |
| 26.1.1 | Fabric | Fabric Loader 0.18.5 or newer, Fabric API and Java 25 |
| 26.1.2 | Fabric | Fabric Loader 0.19.2 or newer, Fabric API and Java 25 |
| 26.1.2 | NeoForge | NeoForge 26.1.2.114 or newer and Java 25 |
| 26.2 | Fabric | Fabric Loader 0.19.3 or newer, Fabric API and Java 25 |
| 26.2 | NeoForge | NeoForge 26.2.0.88 or newer and Java 25 |
| 26.3 | Fabric | Fabric Loader 0.19.5 or newer, Fabric API and Java 25 |
Source version: 1.3.0. FFUtilities 0.2.15 is included in the 26.x jars and 0.2.8 in the others.
The Modrinth button is enabled only when a published project link is configured. The source version above may be newer than the latest published file.