Changing the dimension type of the overworld to any other dimension type (such as a custom one), will not allow weather changes to take effect until the server is restarted (in multiplayer logging out and back in doesn't change the weather).
Steps to reproduce:
Create a data pack with the file
data/minecraft/dimension/overworld.json
set to{ "type": "minecraft:the_nether", "generator": { "type": "minecraft:noise", "settings": "minecraft:overworld", "biome_source": { "type": "minecraft:multi_noise", "preset": "minecraft:overworld" } } }
or download and install the attached data pack
Enter the world and use /weather to change the weather
Observe no change
Close the world (in multiplayer, shut down the server)
Enter the world once again
Notice how the weather has now changed
Expected result:
Weather would just change on the fly, like with dimension type set to minecraft:overworld
.
Actual result:
Weather only changes between server-end startups.
Attachments
Comments 2
Can confirm for 1.21.8 und 25w37a - Same issue applies when changing nether and end biomes to allow for rain/snow.
How to recreate:
I created a datapack that changes every biome file in \data\minecraft\worldgen\biome to allow for snowfall and added a different one to remove the nether roof (https://modrinth.com/datapack/topless-nether/gallery ) (That one is optional though). Here is an edited copy of the datapack I created containing only the biome files:
(The demonstration datapack should run fine in 1.21.7 – 1.21.8, and while displaying as outdated, should also run fine up to at least 25w37a. The other datapack I linked is outdated, but still runs in 1.21.8, but validation fails in 25w37a.)
Create a world with at least the demonstration datapack enabled, use
/weather rain 99d
/gamerule snowAccumulationHeight 8
and maybe increase the randomtickspeed. Then observe how the snow behaves in the overworld, switch dimensions and compare.
What I observe is very inconsistant. The first time I tried to change the weather while in the nether, it worked fine, later, it would only display a change when I relog, sometimes even relogging wouldnt change anything, and snow would never actually acumilate, only spawning one layer when first generating the chunks.
The following screenshots only use the demonstration data pack in 1.21.8.
Overworld before relogging
The Nether before relogging
The Nether after relogging
The End after relogging
Notably, when testing in 25w37a, I noticed that the issue was now partially fixed - I now had no issues getting snow to accumilate in the end, but still had to relog to get snow to show in the nether after changing the dimension and never got snow to accumilate there.
The following screenshots only use the demonstration data pack in 25w37a.
The Nether after relogging
The End before relogging
I assume this also affects custom dimensions, but wasnt able to test how the weather behaves there.
Still in 1.21.4.