Skip to content

Dimension Effects Modifiers

MehVahdJukaar edited this page Oct 31, 2024 · 11 revisions

Dimension Effects Modifiers

Dimension Effects allow you to tweak various visuals Simension parameters as well as other existing ones on a per Dimension basis

These include:

  • Fog Colormap
  • Sky Colormap
  • Sunset Colors
  • Cloud Level
  • Ambient Lighting

Getting Started

The file will have to be in assets/[dimension namespace]/polytone/dimension_modifiers/[dimension path].json.

For example if you want to modify minecraft:the_nether you can do so with a file located in assets/minecraft/polytone/biome_effects/the_nether.json

Explicit targeting

Alternatively, if you want to manually specify your targets you can place this json in assets/[your pack namespace]/polytone/dimension_modifiers/[some name].json (Any path will work but this is recommended to avoid overwriting Implicit defined targets).

Then you can add the targets field to the json containing a list of valid Dimension ids as follows:

{
   "targets": ["minecraft:overworld", "twilightforest:twilightforest"]
}

Json Structure

Here's a list of all the json file attributes and their function

attribute name explanation
fog_colormap A Colormap that determines the fog color of the Dimension. Will override ALL biome specific colors in that dimension, even ones changed with Biome Effects
sky_colormap A Colormap that determines the sky color of the Dimension. Will override ALL biome specific colors in that dimension, even ones changed with Biome Effects
sunset_colormap A Colormap that determines the sunset color of the Dimension
cloud_level Cloud Y level. Can be a number or an expression
has_ground Affects the sky renderer. Used in the end for example
sky_type Can be either NONE, NORMAL, END
force_bright_lightmap Changes how lightmap work in the dimension. Used in The End
constant_ambient_light Makes lightmap brighter. Used in The End
no_weather_fog_darken Makes fog color not get darkened during rain and thunder
no_weather_sky_darken Makes sky color not get darkened during rain and thunder
targets A list of IDS to use for explicit targeting

Here is an example of how the .json could look.

{
   "fog_colormap": "my_namespace:my_colormap",
   "could_level": 70,
   "has_ground": false
}

Colormaps

When adding Sky, Fog or Sunset Colormaps you can, as usual, reference existing previously defined Colormaps like in the example above.

If you want, as in other places, you can also inline a colormap definition (read about them in their own as well as the Block Modifiers pages).

When inlining, similarly to what was done in block modifiers, you'll have to place a texture file in the same path as the .json file.

Its name will have to be [json_name]_sky.png and or [json_name]_fog.png and or [json_name]_sunset.png depending on the colormaps that you added. When just adding one of the three, adding a single texture called [json_name].png will aslo work.

Sunset Colormaps

Being a little diffeernt than the rest, here's a section talking about the Sunset Colormap specifically.

The colormap works like any other so you can tweak them like you did with those.

By default it will use these samplers (you dont need to copy these, they are implied, just here to explain the vanilla behavior)

{
 "x_axis": "DAY_TIME",
 "y_axis": "0"
}

As you can see the Vanilla-equivalent "implementation" of a sunset color samples a 1D texture linearlly depending on the time of day (0-2400)

Here's a high resolution texture which closely matches what the game uses internally. Note that as with all colormaps the smoother the texture is, the smoother color transitions will be. Texture has is 10 pixel wide justbecause its easier to see. you can make any dimension you like but vanilla Impl just has it as a 1D one since Y sampler is 0. Texture is quite large so you might want to scale it down.

sunrise_colors