Environmental Modifiers
Environmental Modifiers allow Texture Packs to modify specific areas/biomes based on an Area Definition. These modifications are based off the game's Environment attribute.
You can define an environmental modifier in assets/<namespace>/catharsis/environment_modifier/<id>.json.
JSON Format
The root object is an Environmental Modifier definition. There are three main types of modifiers you can define.
Composite (composite)
Allows you to group multiple modifiers under a single condition.
- type:
composite - condition: A Typeless Condition that determines when the modifiers apply.
- modifiers: A list of Environmental Modifiers (Environmental Attribute, Biome Effect, or another Composite).
Environmental Attribute (environmental_attribute)
Modifies vanilla environment attributes (e.g. fog color, sky color).
- type:
environmental_attribute - attribute: The attribute identifier to modify (e.g.
minecraft:fog_color,minecraft:sky_color). - provider: An Attribute Provider that defines the new value.
- condition: (Optional) A Condition for this specific attribute.
Biome Effect (biome_effect)
Modifies specific biome colors like grass, water, or foliage.
- type:
biome_effect - effect: The effect to modify. Can be
water_color,foliage_color,dry_foliage_color, orgrass_color. - provider: An Attribute Provider that defines the new color.
- condition: (Optional) A Condition for this specific effect.
Attribute Providers
Attribute Providers determine how a value is overridden or modified.
Override (override)
Overrides the value.
- type:
override - value: The exact value to override with (e.g. an integer color code).
Modified (modified)
Modifies the base value.
- type:
modified - modifier: The modifier identifier.
- argument: The argument for the modifier.
Config (config)
Provides a value based on a Pack Configuration. This provider is only available for integer and color attributes (RGB/ARGB).
- type:
config - pack: The name of the pack providing the configuration.
- id: The identifier of the configuration value to read.
Conditions
Conditions check whether the modifier should be applied at a specific location.
In Area (in_area)
Checks if the position is within a specific Area Definition.
- type:
in_area - area: The identifier of an Area Definition.
True / False (true, false)
Constant conditions.
- type:
trueorfalse