Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
1---
2title: Custom dimension options
3hide_meta: true
4---
5
6Minecraft allows a lot of customizability for how a dimension looks and behaves even in vanilla with the datapack system,
7which is what powers the Infinite Dimensions mod in the first place. However, the amount of possible things to customize
8just wasn't enough for me, and that's how the Infinity Options were born - expanding in a way on vanilla's
9[dimension types](https://minecraft.wiki/w/Custom_dimension#Dimension_type).
10
11The infinity options for every dimension generated by the mod - including the easter egg ones - are located within the
12dimension's datapack under `/data/infinity/options.json` and are not *technically* part of the datapack in the current
13implementation, in that the mechanism of loading their into the game is entirely separate. Nevertheless by editing them
14a player can obtain control over many new features the mod adds to its dimensions. Here's a list of possible options!
15
16- `shader`: this field sets the postprocessing shader for the dimension, and while the mod's dimensions only generate with a
17specific type of shader (a color-convolving one), you can paste *any* postprocessing shader here and it will just work,
18as long as it's written correctly (functional if placed in a standalone file)! [Here's some data](https://minecraft.wiki/w/Shader#Post-processing_effects)
19on postprocessing shaders :D
20- `mavity`: this is a multiplier to the dimension's gravity! Zero and negative values, although not utilised by the mod naturally,
21can be technically used, but there's no actual support to upside-down gravity at the moment (falling blocks
22 won't land in it, mobs won't stand upside-down, etc.).
23- `portal_color`: used in easter egg dimensions, this option overrides the color all portals to this dimension have.
24Note that it will not recolor existing portals if you change it, but new ones will respect it! the format is the 12-byte color integer.
25- `pitch_shift`: a compound that, if present and correctly formatted, allows the dimensions to shift the pitch of any sound
26played on the client when the player is in them. Has the following subfields:
27 - `type`: can be either `"constant"` or `"add"`.
28 - `value`: the actual value to set the pitch to (under the constant type) or add to the pitch (under the add type).
29 Negative values work in addition, but keep in mind that Minecraft clamps sound pitch to between 0.5 and 2.0
30 (1.0 being the default for most sounds).
31
32And now to the biggest chunk of the options: the ones related to the sky!
33- `sky_type`: i wanted to do more with this, but for now the only value that works in here is `"rainbow"` - it makes the sky
34in the dimension rotate slowly through hues of the color wheel (and completely discards biome-dependent sky and fog colors
35in the process).
36- `horizon_shading_ratio`: a value between 0 and 1 that dictates how high do you need to go (above the world's minimum height)
37for the sky to stop being darkened by void fog. With 0 it's always darkened, and with 1 - never (which is the case for all
38of the mod's dimensions). The overworld uses 0.03125.
39- `end_sky_like`: setting this to true disables the rendering of stellar bodies completely even in a world with overworld dimension effects.
40- `dawn`: a boolean dictating if skies get shading on sunrise and sunset. They do by default except when they're rainbow.
41- `time_scale`: how fast does the Sun move across the sky! affects most things the day length in minecraft should logically affect,
42including undead mobs burning. 0.0 is fixed time, 1.0 is normal time, negatives make the sun rise in the west.
43- `solar_size`: the size of the Sun :D the Overworld uses 30.0
44- `solar_tint`: the tint applied to its texture, a 12-byte color integer as well
45- `solar_tilt`: rotates the points of sunrise and sunset around the sky. -90.0 is the default (sunrise in the east),
460.0 - sunrise in the south like the good old days of beta :D
47- `solar_texture`: not used by the mod currently, but setting it to a valid texture identifier can override the texture the Sun has.
48- `moons`: Infinite Dimensions allows to render multiple moons in the sky, so all options related to those are moved in a sublist of
49compounds, each compound representing a single moon. The moon-specific options are:
50 - `lunar_size`, `lunar_tint`, `lunar_texture` mirror the options the Sun has. Vanilla lunar size is 20.0.
51 - `lunar_tilt_y` mirrors `solar_tilt` in rotating the moon's rising and setting point on the sky, while `lunar_tilt_z`
52 rotates the orbit in a perpendicular direction, lowering its highest point from the zenith.
53 - `lunar_velocity`, multiplicative with `time_scale`, defines how fast each moon moves.
54 - `lunar_offset` defines the starting position the moon has on its orbit (observed when you execute `/time set 0`).
55- `num_stars`: the amount of stars in the night sky. 1500 is the vanilla value. Needs to be above 0 (to disable the stars, set their
56brightness to 0 instead).
57- `star_size_base` and `star_size_modifier` are the minimum and width of the star size distribution. Actual star sizes are distributed
58uniformly between base and base+modifier. 0.15 and 0.1 are corresponding vanilla options.
59- `stellar_color`: the tint for stars.
60- `stellar_tilt_y`, `stellar_tilt_z`, `stellar_velocity` mirror the lunar options for the movement of the entire star-filled sphere.
61- `star_brightness_day`, `star_brightness_night`: self-explanatory. Need to be between 0 and 1. Vanilla uses 0.0 and 0.5 respectfully,
62and that's a pity, cause stars are very beautiful when `star_brightness_night` is raised to 1.0 :D
63
64Here's an example of an options file from the wild, edited a bit for your readability:
65
66```java
67{
68 "mavity": 1.0,
69 "time_scale": 15.83437,
70 "solar_size": 25.333763,
71 "solar_tilt": -167.561,
72 "moons": [
73 {
74 "lunar_size": 16.186508,
75 "lunar_tilt_y": 12.12323,
76 "lunar_tilt_z": 86.85659,
77 "lunar_velocity": 1.3169498,
78 "lunar_offset": 0.6354257,
79 "lunar_tint": 1570424
80 },
81 {
82 "lunar_size": 19.354776,
83 "lunar_tilt_y": -44.114567,
84 "lunar_tilt_z": 62.194595,
85 "lunar_velocity": -1.0008916,
86 "lunar_offset": 0.7587377,
87 "lunar_tint": 12379133
88 },
89 {
90 "lunar_size": 26.861193,
91 "lunar_tilt_y": -49.608643,
92 "lunar_tilt_z": -17.065638,
93 "lunar_velocity": 1.1835625,
94 "lunar_offset": 0.3711853,
95 "lunar_tint": 9905751
96 }
97 ],
98 "star_size_base": 0.115367465,
99 "star_size_modifier": 0.01508815,
100 "num_stars": 3362,
101 "pitch_shift": {
102 "type": "constant",
103 "value": 1.9038134
104 },
105 "shader": {
106 "passes": [
107 {
108 "intarget": "minecraft:main",
109 "name": "color_convolve",
110 "outtarget": "swap",
111 "uniforms": [
112 {
113 "values": [
114 0.595786,
115 0.219675,
116 0.073982
117 ],
118 "name": "RedMatrix"
119 },
120 {
121 "values": [
122 0.700408,
123 0.579702,
124 0.013294
125 ],
126 "name": "GreenMatrix"
127 },
128 {
129 "values": [
130 0.068008,
131 0.297012,
132 0.264795
133 ],
134 "name": "BlueMatrix"
135 }
136 ]
137 },
138 {
139 "intarget": "swap",
140 "name": "blit",
141 "outtarget": "minecraft:main"
142 }
143 ],
144 "targets": [
145 "swap"
146 ]
147 }
148}
149```