Changes to Vanilla
Changes to Vanilla describes every way Fear Nightfall alters base-game behaviour beyond what its individual mods add. The pack combines about 130 mods, most of which were written independently of one another. Combined without changes, they over-represented some biome and structure families, left some loot tables empty, and produced several crashes and rule conflicts. The pack therefore replaces or rebalances the systems involved: biome distribution, structure placement, loot tables, spawn rules, and a number of mod-to-mod fixes.
The changes apply to every world in the pack, including new worlds created from the in-game menu. Each mod's own page explains that mod's content. The article covers only the changes that the pack makes on top of them, and Mod List names every mod.
Mod list changes
Several mods were added to the original Fear Nightfall list to widen the world:
- Biomes: Terralith, Biomes O' Plenty and Regions Unexplored, with Geophilic for vanilla biome vegetation.
- Structures: Dungeons and Taverns, Towns and Towers, Luki's Grand Capitals, ChoiceTheorem's Overhauled Village (CTOV), Villages&Pillages, Structory: Towers, Explorify, AdoraBuild: Structures, the Moog's structure sets, Formations and YUNG's Better Structures.
- Utilities: Lootr for per-player loot, and Nature's Compass for finding biomes. Its recipe uses diamonds in the corners instead of saplings.
- Client: the Iris shader loader with Complementary Reimagined shaders, off by default and selectable in the video settings.
Some mods were removed or limited:
- Boat Break Fix was removed. Its jar is a 2022 Forge 1.19.2 build labelled as 1.21.1, and it never loaded.
- Sodium Dynamic Lights, Sodium Options API and Reese's Sodium Options were removed from the client. The first two reference Sodium classes that do not exist in Sodium 0.8.13, and the Options API's companion declares itself incompatible with it. Without this change the client does not start. An older Sodium is not an option, because Supplementaries requires 0.8.12 or later.
- Immersive Lanterns runs on the server only. Its client requirement, Sodium Dynamic Lights, is absent, and clients join without it.
Biome distribution
Stock biome selection gave Biomes O' Plenty over half of the land and Terralith about 5%, despite similar biome counts. Terralith, Geophilic and the Lithostitched injector could not be balanced through their configs, so the pack replaces the overworld biome source with a custom table, provided by the FNF Biome Table mod (fnfbiomes). See Biomes and World Generation for the biome list.
The climate noise is unchanged, so the terrain shape and the climate layout match vanilla generation. In each climate cell, every biome whose original mod allows it there is eligible, and the eligible biomes share the cell by weight. Biomes of the same type are placed next to each other, so forests border forests. The table covers vanilla, Terralith, Biomes O' Plenty, Regions Unexplored (including its replacement rules), Hexerei, YUNG's Cave Biomes, and Sleepy Hollows. Oceans, rivers, beaches and caves use the same table.
The shares were calibrated by sampling the live surface over a 32 × 32 km area:
| Source | Measured land share | Target by biome count |
|---|---|---|
| Terralith | 31% | 32% |
| Regions Unexplored | 28% | 28% |
| Biomes O' Plenty | 25% | 25% |
| Vanilla | 15% | 15% |
Terralith and Geophilic both rewrite the same vanilla biome files, so the later-loading one would normally win. The pack merges them per biome instead, placing Terralith's features next to their neighbours. A naive merge caused a Biolith "feature order cycle" crash, which the merge avoids. See Terralith and Geophilic.
Structures
Coexistence instead of override
Luki's Grand Capitals normally replaces the vanilla villages, pillager outposts, witch huts and sixteen vanilla chest tables. In the pack, its builds are separate structures, and the vanilla versions and loot tables are restored, so both appear. Towns and Towers shipped vanilla village, outpost and desert-pyramid biome tags with replace enabled, which removed every Biomes O' Plenty, Regions Unexplored and Terralith addition. The pack rebuilt those tags as the union.
Structure sets that share a type are grouped, and each type is weighted equally:
- Villages: vanilla, Luki's, Overhauled Villages, Towns and Towers, Dungeons and Taverns, Villages&Pillages and the Terralith fortified villages (Fortified Villages).
- Pillager outposts: vanilla, Luki's, Towns and Towers and CTOV. The CTOV outpost weight is raised to match the others. See Pillager Outposts.
- Witch huts: vanilla, Luki's, YUNG's, Hexerei, Terralith and the Dungeons and Taverns mangrove hut (Witch Villa and Mangrove Witch Hut). See Witch Huts.
The game chooses among the types that are valid for the local biome, so two types never stack on one spot. Every structure set also has its own placement seed, so mods that reused a seed no longer produce identical spots.
Modded biomes were added to the structures that could only spawn in vanilla biomes. 515 structures (about 15% of land) now spawn in the matching modded biomes, matched by shared climate and biome type. The Nether and End use hand-picked matches. Only the mushroom-island structures remain vanilla-only.
Density
Sparse Structures sets spacing for each set separately. Non-horror structures are about three times rarer than at the mods' default spacing (1,542 down to 492 in a 26 km² sample). Horror structures are about twice as common (578 up to 1,071). See Horror and Spooky Content.
Overlap guard
A custom mixin in the FNF Biome Table mod stops structures from different sets from overlapping. Once a surface structure is assembled, any larger structure from another set that would start nearby is assembled as the game would. If the footprints really overlap, the smaller one is skipped. Surface structures also keep a 6-chunk buffer around village spots. The check uses only the world seed, so the result is the same on every machine and does not depend on generation order. In the 26 km² sample, surface overlaps fell from 238 to 5, and village intrusions fell from 141 to about 0.
Loot
Loot and Chests describes how loot is organised across the pack. The pack maps each of the 387 chest loot tables from structure mods to the vanilla chest that plays the same role. A tavern uses the village house table, a crypt uses the dungeon table, and a mage tower uses the stronghold library table. Each chest keeps its original loot, and the mapped vanilla loot and modded additions are added on top.
- Loot from Iron's Spells 'n Spellbooks, Farmer's Delight, Butchery, Tide, Jaden's Nether Expansion and Critters and Companions reaches the mapped chests.
- Supplementaries and Traveler's Backpack add loot only when a table name matches vanilla exactly. Their additions are mirrored with the same items and chances. The mirrored Traveler's Backpack loot reaches the YUNG's chests for the first time.
- Sixteen chests referenced loot tables that their mods never shipped, so they generated empty. They now roll their mapped vanilla loot.
- Every table was rolled 200 to 300 times for verification. 368 of 371 mapped tables receive every expected mod. The three misses are a porkchop-swap modifier on tables without porkchops.
Structures that have no loot modifier, such as Graveyard, Born in Chaos and Sleepy Hollows, keep their own loot.
Lootr gives each player their own copy of the loot in most chests. Some containers cannot be made per-player, and they remain shared. See Known leftovers below.
Spookier world
The pack makes the overworld darker and more dangerous, especially at night. Horror is its theme.
| Area | Before | After |
|---|---|---|
| Horror biomes, share of land | 4.5% | 11.9% |
| Horror caves, share of cave layer | 17 to 22% | about 30% |
| Lush caves, share of cave layer | 12 to 15% | 4 to 5% |
| Horror structures (26 km² sample) | 578 | 1,071 |
Horror biomes are weighted six times as heavily as before. They are Dark Forest, Ominous Woods, Spider Nest, Blackwood Taiga, Ashen Woodland, Sleepy Hollows, Willow Swamp, Dead Forest, Ashen Savanna, bayous (Bayou), Infested Caves, Frostfire Caves and the Deep Dark. Infested Caves, Frostfire Caves and Spider Nest also spread into neighbouring cave areas. Lush caves were reduced to one third of their weight, and the other cave biomes now share their wide humid range.
Horror structures are placed about 30% closer together. They include the Graveyards, Born in Chaos structures, Sleepy Hollows, Sons of Sins, Covens, Witch Huts (all types), the Dungeons and Taverns crypts, Toxic Lair, gallows, dead trees, skulls, mausoleums, catacombs, prisons, and the YUNG's skeleton, spider and zombie dungeons. Where a horror structure shares a set with other structures, it gets six times the weight. Horror is most concentrated in temperate-to-cool, humid forests, taigas and swamps, where about a quarter of the structures are horror structures. Deserts, jungles and peaks remain mostly normal.
Mobs, spawns and mechanics
- Born in Chaos was 98% of the End's spawns, and its mobs crowded the Nether and End. Its 41 spawn modifiers are now limited to the overworld, plus Willow Swamp, Sleepy Hollows and two undergrowth biomes that it had missed. Overworld spawns are unchanged. Its spawn weights were also halved, lowering its share of the mob cap from 36% to about 26%, so vanilla monsters appear more often. See Born in Chaos.
- Naughtiness and Krampus is switched off, and the gamerule is reapplied on every datapack load.
- The Hordes zombies and skeletons burn in daylight, zombie villagers can be cured, and the world keeps ticking on an empty server. Horde events and waves are described on Horde Nights.
- Zombie villagers can only be cured with cure items. Hordes previously accepted any item. See Zombie Infection.
- Hydrophobia, an effect from Sons of Sins, dealt 2 damage every half second while the player was in water, which was fatal in about 9 seconds. It now deals damage once per second.
- Bosses are immune to Tide's pocket watch. This covers the Lich, Dead King, Fire Boss, Headless Horseman, Lord Pumpkinhead and everything in the
#c:bossestag. See Bosses. - Honey golems kept bees "owned" after the golem died, and they adopted any bee within 128 blocks. Both behaviours were patched. See Honey Golem.
- Fish Chorba gave a nonexistent effect. It now gives Farmer's Delight's Comfort effect.
- Halloween event helmets overwrote the Pharaoh's head, which broke the boss in Better Desert Temple. The patch skips mobs that already wear a helmet. The boss head is kept in 150 of 150 test spawns, up from 103 of 150.
- Trims were unobtainable from the replacement temples, fortresses and strongholds that YUNG's added, because those chests did not include them. They were added at vanilla-like odds. Armor Trims describes the result.
- Butchery's cleaver deleted items within 20 blocks. All 213 cleanup commands now use a 4-block radius.
- Hexerei's Sunshine candle cleared the weather permanently. Its recipe is disabled. See Candles and Candle Dipper.
- Hexerei's recipe book had a root advancement that pointed at itself, which orphaned every recipe advancement. The vanilla root was restored. See Advancements.
- Beautify had 11 loot tables in the pre-1.21 format. They were converted. See Beautify.
Death and inventory handling
The Hordes cancelled the death drops that Corpse depends on, so zombie players deleted inventories. With zombiePlayersStoreItems=false, the corpse keeps everything and the zombie still spawns. Corpse and Death and Respawning describe the result. Corpse works correctly with Curios, Accessories and backpacks, and no change was needed.
Crashes and compatibility fixes
- Worldgen thread race. Formations' bed-colour processor shared one random generator across chunk threads. The patch gives each call its own generator with the same seed, so the colours are unchanged. Eight-thread tests went from 19 exceptions and 3 wrong colours to none. See Formations.
/locate biomecould stop the server. Biolith's search for rare biomes exceeded the 60-second watchdog. The watchdog is disabled. See Finding Structures and Biomes.- Graveyard crash. The Graveyard registered a structure type after the registries froze, which crashed worldgen when another mod changed it during generation. It no longer registers late.
- Phone-home calls. Iron's Lib (player count and server ID every five minutes) and Traveler's Backpack (a GitHub gist) now point at localhost. This was checked with
lsof. - Key conflicts. Five mod-to-mod clashes were fixed by changing default keybinds for quiver, death history, golem summon, and the Hexerei book recipe. See Controls and Keybinds.
- Tree felling. HT's TreeChop left logs floating on giant trees because its cap was 1,024. The cap is now 2,048.
- Nether Expansion had five recipes for items that do not exist, which were disabled, and one broken advancement parent, which was fixed. See Jaden's Nether Expansion.
- Hexerei's willow vines used a Forge-only loot condition. It now uses the NeoForge one.
Several reported conflicts were tested and needed no change: Carry On against Handcrafted, Alternate Current redstone, Nether structure heights, Easy Anvils and Easy Magic (which only affect command-placed blocks), and the Hordes golden-apple claim. See Carry On, Handcrafted, Easy Anvils and Easy Magic.
Settings
| Setting | Value | Reason |
|---|---|---|
max-tick-time in server.properties |
-1 | Biome search would exceed the watchdog |
| Hordes | zombies and skeletons burn, cures enabled, no pause on an empty server, zombie players do not store items | See The Hordes |
| HT's TreeChop | maxTreeBlocks=2048, debug off |
See HT's TreeChop |
| CTOV | outpost weight 5 | Equal weight with the other outpost types |
| Sparse Structures | generated for each structure set | See the density section above |
| Lootr | vanilla_textures = true on the client |
Makes opened chests look vanilla |
| spark | backgroundProfiler: false |
Its native profiler crashed the game on macOS when joining a new world |
| Client keybinds | set in the pack's default options | See Controls and Keybinds |
Known leftovers
- Containers that Lootr cannot make per-player stay shared, so the first player to reach them takes the items. These are the Graveyard coffins and urns (Coffins and Sarcophagi), Farmer's Delight Cabinets, Hexerei chests, Sleepy Hollows coffins, and Nether Expansion brazier chests.
- Lich Prison is meant to float in the sky above oceans, at about y 273 to 320. See Lich Prison.
- Generation changes apply only to new chunks. A fresh world shows the full effect. See World Generation.