Foggy Pale Garden
A Minecraft modification that adds fog to the Pale Garden biome. However, you can customize any type of fog in any location according to your preferences!
🎭 Features
🌫️ Fog in the Pale Garden
The natural atmosphere of the Pale Garden biome is now enveloped in fog, creating a mysterious and gloomy ambiance.

🕳️ Underground Space Without Fog
Fog does not spread into caves beneath the Pale Garden, maintaining visibility clarity underground.

🪽 Free Flying
The ability to fly over the Pale Garden is not limited by fog - users can freely move in the airspace.

🎨 Ready Fog Presets
Pre-made fog settings are available, along with the ability to create custom presets or automatic fog adjustment depending on the game's difficulty level.

🧗♀️ Fog Formation Conditions
Allow creating various fog types even in the same location with different parameters.

🔧 Creating Fog by Conditions
Create different fog types based on any set of conditions. For example, this preset creates pre-dawn fog during clear weather in all biomes.

{
"code": "PRE_DAWN_FOG",
"bindings": [
{
"condition": {
"and": [
{ "timeIn": { "start": 22500, "end": 23800 } },
{ "weatherIn": ["CLEAR"] }
]
},
"startDistance": 0.0,
"skyLightStartLevel": 4,
"endDistance": 15.0,
"surfaceHeightEnd": 15.0,
"opacity": 50.0,
"encapsulationSpeed": 16.0,
"brightness": {
"mode": "BY_GAME_FOG"
},
"color": {
"mode": "BY_GAME_FOG"
}
}
],
"version": 2
}
To apply it, create a file PRE_DAWN_FOG.json with this content in the config/foggypalegarden folder and set the value "preset": "PRE_DAWN_FOG" in config/foggy-pale-garden.json.
Read more about available features in the ⚙️ Configuration section.
💬 Changing Settings via Chat
Commands are available even without operator rights:
2 /fpg preset shows the name of the current preset
3 /fpg preset FPG_DIFFICULTY_BASED switches the preset to FPG_DIFFICULTY_BASED (the command suggests a list of available presets)
4 /fpg reloadConfig re-reads the mod configuration and available fog preset files from disk

🌎 Multilingual Support
The mod supports many languages: Arabic, Belarusian, Chinese (Simplified), English (US), French, Georgian, German, Italian, Japanese, Kazakh, Korean, Portuguese (Brazil), Russian, Spanish (Mexico), Swedish, Ukrainian.
⛔️ Disabling Fog for Modes
Fog can be disabled for specific game modes.

In the configuration config/foggy-pale-garden.json, the value "noFogGameModes": ["SPECTATOR"] is set.
📥 Installation
- Install Minecraft version
24w40aor newer - If it's a snapshot, enable the Winter Drop experiment when creating a world
- Install Fabric or Quilt for this version
- Place the mod in the
modsfolder - Beware of monsters in the fog!
⚙️ Configuration
Fog Parameters
You can configure:
- Distance at which fog starts
- Distance at which fog ends
- Fog density
- Fog brightness
- Fog color
- Fog dissipation speed when entering or exiting it
- Fog shape (available options: SPHERE and CYLINDER)
Fog Conditions
Can be used in any combination thanks to AND, OR and NOT conditions:
- Dimension where the player is located
- Biome where the player is located
- Biome temperature
- Weather
- Time of day
- World difficulty level
- Sky brightness (allows detecting if the player is in a cave)
- Player height above surface
- Player position on Y-axis
Full Configuration Parameters
Configuration file is located at config/foggy-pale-garden.json and allows selecting one of the available fog presets.
{
// active fog preset
"preset": "MY_PRESET",
// (optional) list of game modes where fog is disabled ("SURVIVAL", "CREATIVE", "ADVENTURE", "SPECTATOR")
"noFogGameModes": [""],
// configuration schema version (do not change this value)
"version": 3
}
Preset files are located in the config/foggypalegarden directory. Each file contains full fog settings for the game.
{
// preset code (this value needs to be specified in config/foggy-pale-garden.json to apply the preset)
"code": "MY_PRESET",
// set of bindings, each responsible for the appearance of configured fog and applied based on specified conditions
"bindings": [
{
// condition under which this binding is applied
// has a tree-like structure (you can place other conditions inside AND, OR, NOT)
// only one field can be filled at the same time in one condition
// correct - { "and": [{ "biomeIdIn": ["minecraft:desert"] }, { "difficultyIn": ["HARD"] }] }
// incorrect - { "biomeIdIn": ["minecraft:desert"], "difficultyIn": ["HARD"] }
"condition": {
// (optional) list of dimensions where this binding is applied (for example, "minecraft:overworld")
"dimensionIn": [""],
// (optional) list of biomes where this binding is applied (for example, "minecraft:desert")
"biomeIdIn": [""],
// (optional) biome temperature range where this binding is applied
"biomeTemperature": {
// (optional) minimum temperature (inclusive)
"min": 0.0,
// (optional) maximum temperature (exclusive)
"max": 0.0
},
// (optional) list of difficulty levels where this binding is applied ("PEACEFUL", "EASY", "NORMAL", "HARD")
"difficultyIn": [""],
// (optional) list of weather conditions where this binding is applied ("CLEAR", "RAIN", "THUNDER")
"weatherIn": [""],
// (optional) time range during which this binding is applied (start can be greater than end)
"timeIn": { "start": 0, "end": 0 },
// (optional) sky light level [0, 15]
"skyLightLevel": { "min": 0, "max": 0 },
// (optional) player position on Y-axis
"height": { "min": 0.0, "max": 0.0 },
// (optional) player height above surface (cannot be negative)
"surfaceHeight": { "min": 0.0, "max": 0.0 },
// (optional) group of conditions that must all be met for this binding to be applied
"and": [{}],
// (optional) list of conditions where at least one must be met for this binding to be applied
"or": [{}],
// (optional) condition that must not be met for this binding to be applied
"not": {}
},
// (optional) distance (in blocks) at which fog starts (cannot be negative)
"startDistance": 0.0,
// (optional) distance (in blocks) at which fog ends (cannot be negative)
"endDistance": 0.0,
// (optional) fog density percentage (0.0, 100.0]
"opacity": 0.0,
// (optional) fog spread speed (in blocks per second) when entering or exiting it (cannot be less than or equal to 0)
"encapsulationSpeed": 0.0,
// (optional) fog brightness settings
"brightness": {
// fog brightness calculation mode
// BY_GAME_FOG - brightness calculated based on in-game fog brightness
// FIXED - manually set brightness
"mode": "FIXED",
// (required for FIXED mode) fog brightness level in percentage (0.0, 100.0]
"fixedBrightness": 0.0,
// (optional for BY_GAME_FOG mode) brightness adjustment [-1.0, 1.0]
"adjustment": 0.0
},
// (optional) fog color settings
"color": {
// fog color calculation mode
// BY_GAME_FOG - uses in-game fog color
// FIXED - manually set fog color
"mode": "FIXED",
// (required for FIXED mode) fog color in HEX format (without #)
"fixedHex": "f0f0f0"
},
// (optional) fog shape ("SPHERE", "CYLINDER")
"shape": "CYLINDER"
},
{
// next binding
}
],
// preset schema version (do not change this value)
"version": 3
}
Examples of presets can be found in the GitHub repository.
🔗 Compatibility
If you encounter compatibility issues between Foggy Pale Garden and other mods, report them via GitHub or Discord.
🎯 Future Plans
🎯 (After 1.21.2 release) Porting to NeoForge 🎯 (After 1.21.2 release) Adding visual configuration ❓ Possibly implementing support for Iris Shaders ❓ Possibly porting to previous versions to support mods porting Winter Drop
🎮 ModPacks
You can use this mod in modpacks without requesting permission.