Foggy Pale Garden (FPG)

Foggy Pale Garden (FPG)

A mod that adds fog to the Pale Garden biome. But you can customize any kind of fog anywhere you like!

by
68.4K Downloads
fabricforgeneoforgequiltadventuredecorationgame-mechanics
Rent Server with this Mod

Screenshots

👁️ Adjust settings in the visual menu
🧗‍♀️ The conditions for fog formation will allow for creating d
💬 Change settings via chat even if you're not an operator!
⛔️ Disable fog based on the game mode
🔧 Create different types of fog based on any set of conditions
🎨 Fog Presets

About this Mod

⚠️ Further development of the mod continues in the form of the Foggy Pale Garden resource pack based on Polytone.


A Minecraft mod that adds fog to the Pale Garden biome. But you can customize any kind of fog anywhere you like!


✨ Features

😱 Envelops the Pale Garden in fog
🕳️ The fog does not fill caves beneath the Pale Garden
🪽The fog doesn’t hinder flying over the Pale Garden
🎨 Fog presets feature allows you to choose from predefined options, create a custom preset, or have the fog adjust based on the game’s difficulty.
📦 Resource Pack Support

You can easily add a fog preset to your resource pack! Just place it at the path assets/foggypalegarden/preset.json. After that, you can select it as the active fog preset in the mod settings.

  • If multiple resource packs containing fog are installed, each of their presets will be available in the settings
  • If a preset's code from the config/foggypalegarden folder matches a code from a resource pack, the preset from the config folder will be renamed by adding _BACKUP to its code
🧗‍♀️ The conditions for fog formation will allow for creating different types of fog even in the same location

You can download this example on GitHub

🔧 Create different types of fog based on any set of conditions

For example, this preset will create 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/foggypalegarden.json.

Read more about the available features in the 🛠️ Configuration section.

👁️ Adjust settings in the visual menu
💬 Change settings via chat even if you're not an operator!

Available commands:

  • /fpg preset will display the name of the current preset
  • /fpg preset FPG_DIFFICULTY_BASED will switch the preset to FPG_DIFFICULTY_BASED (the command itself suggests a list of available presets)
  • /fpg reloadConfig re-reads the mod configuration and available fog preset files from disk
🌎 The mod supports multiple languages

Supported languages:

  • 🇸🇦 Arabic
  • 🇧🇾 Belarusian
  • 🇨🇳 Chinese (Simplified)
  • 🇺🇸 English (US)
  • 🇫🇷 French
  • 🇬🇪 Georgian
  • 🇩🇪 German
  • 🇮🇹 Italian
  • 🇯🇵 Japanese
  • 🇰🇿 Kazakh
  • 🇰🇷 Korean
  • 🇧🇷 Portuguese (Brazil)
  • 🇷🇺 Russian
  • 🇪🇸 Spanish (Mexico)
  • 🇸🇪 Swedish
  • 🇺🇦 Ukrainian

You can request a translation into your language or report a translation error on GitHub.

⛔️ Disable fog for specific game modes

In the config config/foggypalegarden.json, the value "noFogGameModes": ["SPECTATOR"] is set.

⏮️ Support for ALL backports of the Pale Garden biome to older game versions

The fog appears in any biomes named pale_garden.

Tested with mods:

📥 Installation

  1. Install Fabric, Quilt, NeoForge or Forge for your game version
  2. Fabric API installation is required for Fabric and Quilt!
  3. Install Cloth Config to change settings through the mods menu
  4. Place the mod in the mods folder
  5. Beware of the monsters in the fog!

🛠️ Configuration

Fog Parameters

  • Distance at which the fog starts
  • Distance at which the fog ends
  • Fog density
  • Fog brightness
  • Fog color
  • Speed of fog dispersal when entering or leaving it
  • Fog shape (available options: SPHERE and CYLINDER)

Fog Conditions

They can be used in any combination thanks to AND, OR, and NOT conditions

  • Dimension the player is in
  • Biome the player is in
  • Biome temperature
  • Weather
  • Time of day
  • World difficulty level
  • Sky brightness (allows detecting if the player is in a cave)
  • Player's height above the surface
  • Player's position on the Y-axis

Full Configuration

Available configuration options

The configuration file is located at config/foggypalegarden.json and allows you to set 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": [""],
    
    // config schema version (do not change this value)
    "version": 3
}

Preset files are located in the config/foggypalegarden directory. Each file contains the full fog settings for the game.

{
        
    // preset code (you need to specify this value in config/foggypalegarden.json to apply the preset)
    "code": "MY_PRESET",
    
    // a set of bindings, each responsible for your configured fog appearance 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")
                // you can use wildcard with asterisk, e.g. "minecraft:*" will include all vanilla game dimensions, excluding mod dimensions
                "dimensionIn": [""],

                // (optional) list of biomes where this binding is applied (for example, "minecraft:desert")
                // you can use wildcard with asterisk, e.g. "minecraft:*" will include all vanilla game biomes, excluding mod biomes
                "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's position on the Y-axis
                "height": { "min": 0.0, "max": 0.0 },

                // (optional) player's height above the 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 the fog starts (cannot be negative)
            "startDistance": 0.0,

            // (optional) distance (in blocks) at which the fog ends (cannot be negative)
            "endDistance": 0.0,

            // (optional) fog density in percent (0.0, 100.0]
            // this parameter does not work on Minecraft versions prior to snapshot 24w40a
          "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": {
            
                // mode of fog brightness calculation
                // BY_GAME_FOG - brightness is calculated based on in-game fog brightness
                // FIXED - manually set brightness
                "mode": "FIXED",
                
                // (required for FIXED mode) fog brightness level in percent (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": {
            
                // mode of fog color calculation
                // 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"
        },
        {
          // another binding
        }
    ],
    
    // preset schema version (do not change this value)
    "version": 3
}

Examples of presets can be found in the GitHub repository.

💥 Compatibility with Other Mods

If you encounter compatibility issues between Foggy Pale Garden and other mods, please open an issue on GitHub or contact us on Discord.

Sodium, Embeddium and Rubidium

You need to disable the Performance - Use Fog Occlusion setting so that blocks behind the fog continue to render and do not appear suddenly when the player approaches.

🚀 Plans

❓ Maybe it will be possible to implement support for Iris Shaders?

🤗 Modpacks

You can use this mod in modpacks without requesting permission.

Available Versions

2.9.1+1.21.6-neoforgerelease
MC 1.21.6, 1.21.7, 1.21.8neoforge
June 18, 2025
2.9.1+1.21.6-fabricrelease
MC 1.21.6, 1.21.7, 1.21.8fabric, quilt
June 18, 2025
2.9.1+25w14craftmine-neoforgerelease
MC 25w14craftmineneoforge
June 11, 2025
2.9.1+25w14craftmine-fabricrelease
MC 25w14craftminefabric, quilt
June 11, 2025
2.9.1+1.21.5-neoforgerelease
MC 1.21.5neoforge
June 11, 2025

How to Install Foggy Pale Garden (FPG) on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.8).

3

Install Mod

Open the mod browser in the dashboard and search for "Foggy Pale Garden (FPG)". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabricforgeneoforgequilt

Minecraft Versions

1.21.8, 1.21.7, 1.21.6 (+53 more)

Server-side

Unsupported

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Foggy Pale Garden (FPG) server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.8). You can switch loaders with one click in the panel.

Is Foggy Pale Garden (FPG) compatible with fabric and forge and neoforge and quilt?

Foggy Pale Garden (FPG) officially supports fabric, forge, neoforge, quilt for Minecraft 1.21.8, 1.21.7, 1.21.6. Note: Forge and Fabric mods are NOT cross-compatible – pick one loader and stick with it. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Foggy Pale Garden (FPG) – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Foggy Pale Garden (FPG) consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Foggy Pale Garden (FPG) with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
MIT License
Server-side
Unsupported

Supported Versions

1.21.81.21.71.21.61.21.6-rc11.21.6-pre41.21.6-pre31.21.6-pre21.21.6-pre125w14craftmine1.21.5+46 more