The bug:
Weather states are not retained when converting a world from Ps4 legacy to Bedrock.
Without autosave enabled, so I loaded a survival world while a thunderstorm was happening at night in PS4 Legacy, then very few minutes before night ended, the thunder state finished, then the normal raining state continued towards sunrise in the PS4 Legacy version of the world. I quit the world without saving before weather managed to clear. When the world was converted to Bedrock, these weather states are lost completely, and I suddenly noticed the weather being clear at night even though I didn’t sleep in a bed.
Steps to Reproduce:
Easy way:
Create a new creative world or load up an existing one in Ps4 legacy
Use host privileges to set the weather to thunder
Immediately save and exit the world
Convert the world to bedrock
Notice the weather cleared up instantly
Harder way:
Create a world in ps4 legacy (with the weather cycle enabled if host privileges are enabled)
You should be on the surface for the remainder of these steps, and seeing the sky.
Wait for rain, or wait for thunderstorm.
The moment that weather event happens, immediately save and exit the world.
Convert the world to bedrock
Notice the weather cleared up instantly.
Observed Result:
The weather instantly became clear after converting no matter what it was before. Thunderstorms and normal rain was tested so far.
Expected Result:
The weather should keep its original states after converting and progress based on NBT tags thunderTime, rainTime, raining, and thundering NBT tags from the original unconverted world’s level data. (I don’t know the NBT save format of PS4 legacy console saves as nobody has documented it completely, these values are presumed based on other Legacy Console save formats…)
Specifically, these are how the world converter fixes are meant to work technically when converting from PS4 Legacy Console level data to Bedrock level.dat:
the byte tag thundering from the original save should convert to float tag lightningLevel with thundering’s integer value (0 or 1 depending on what it was before conversion.)
the byte tag raining from the original save should convert to float tag rainLevel with raining’s integer value (0 or 1 depending on what it was before conversion.)
the integer tag rainTime from the original save should stay as is after converting to Bedrock with the original value from the unconverted world.
the integer tag thunderTime from the original save should convert to integer tag lightningTime with thunderTime’s original value from the unconverted world.
Comments 0
No comments.