-
Notifications
You must be signed in to change notification settings - Fork 1
Lightmap Settings
A lightmap (or known internally as LightTexture) is a texture generated at runtime that Minecraft uses to determine the color and brightness of nearly every object in the world, based on block light and sky light. Unfortunately, if you’ve ever tried to modify these lightmaps, you’ve probably noticed that Mojang’s implementation is... difficult to work with. It’s one of the more stubborn hardcoded features to change, especially if you’re inexperienced with Mixins. Modifying it can easily lead to unintended incompatibilities with other mods that also want to alter lightmaps. And to make matters worse, lightmaps are shared with GUI rendering, which causes screens to become tinted too. Very nasty stuff!
Elysium offers a solution by doing all the hard technical work for you! And you are given full control over lightmaps with a simple, resource‑driven system that resource packs and mods can use. This feature is called Lightmap Settings, and it acts as a dynamically loaded patch on top of any pre‑existing lightmap to ensure that any modifications you make are compatible with virtually any mod you decide to use them with.
We've also provided various conditional loading options that let you apply lightmap settings only when specific conditions are met. This means you're not stuck with a single, global lightmap for every situation. Instead, you can define settings that activate only in certain biomes, dimensions, or even during dynamic in‑game events like boss fights or weather changes.
A Lightmap Setting is a JSON-defined configuration that tells the game what skylight color, block light color, and ambient brightness to use under specific conditions. Each setting can optionally be restricted to certain biomes, dimensions, or event flags.
Each setting consists of the following components:
-
type- How the setting gets matched for loading, it can take any of the following types:-
global- constantly loaded assuming event flags allow it. -
biome- only if the biome that the client player is currently occupying matches. -
dimension- only if the dimension that the client player is currently occupying matches. -
not_biome- NOT-gate counterpart ofbiome. -
not_dimension- NOT-gate counterpart ofdimension.
-
-
biomes- A singleton or a list of Biome IDs to match (only relevant forbiomeandnot_biometypes). -
dimensions- A singleton or a list of Dimension IDs to match (only relevant fordimensionandnot_dimensiontypes). -
sky_light_color- An #RRGGBB hex color that multiplies the sky light channel. -
block_light_color- An #RRGGBB hex color that multiplies the block light channel. -
ambient_brightness_multiplier- A float that scales the ambient brightness (default:1.0). -
event_flags- A set of namespaced flags that must all be enabled for this setting to apply. -
priority- An integer value, higher priority settings are evaluated first (default:0). -
fade_multiplier- Controls how fast the lightmap fades to this setting (default:1.0).