Closed FlashyReese closed 1 year ago
Only merge this when https://github.com/AMereBagatelle/fabricskyboxes/pull/80 is ready.
Some small changes:
skyboxRotation
toggle in rotation object, the sun/moon speeds up and slows down when rotating in certain areas(sunset/sunrise hue) and it affects rotation. It's enabled by default for all skybox rotation objects and disabled by default for all decorations rotation object.
Refactor Summary
This PR focuses on improving the rotation system with the following changes:
rotationSpeedX
androtationSpeedZ
for controlling pitch and roll.rotationSpeed
torotationSpeedY
and removes its hardcoded offset. Previously,rotationSpeed
controlled yaw rotation but with the addition ofrotationSpeedX
androtationSpeedZ
, users can now easily control all three axes of rotation without the need to abuseaxis
/static
.axis
/static
alongsiderotationSpeedY
if they wish to simulate rolling or pitching.shouldRotate
property from properties. The rotation axes can now be determined in therotation
object, where all rotation speed axes are set to 0 by default.Breaking Changes
Please note that this refactor will break resource packs that have used the
rotationSpeed
property. The property has been renamed torotationSpeedY
, and its default value has been changed to 0. Two new fields have been added to control pitch and roll:rotationSpeedX
androtationSpeedZ
, which also have a default value of 0. TheshouldRotate
property has been removed from theproperties
object. Rotation speed axes are now determined by the rotation object. By default, all rotation speed axes are set to 0, so they won't rotate at all. If your resource pack relies on theshouldRotate
property, it will no longer function as expected and will need to be updated accordingly.Motivation
The motivation behind these changes is to improve the flexibility and functionality of the rotation system, giving users more control over the rotation of skyboxes. By adding separate fields for pitch and roll, users can now have more fine-grained control over the skybox's rotation in a more intuitive way. Additionally, the removal of the hardcoded offset for
rotationSpeed
will prevent any unintended rotation behavior, making it easier for users to achieve the desired rotation effects while also simplifying and making the system more consistent with its intended usage.With the removal of the
shouldRotate
property, users will no longer need to specify it in theproperties
object. Instead, rotation axes are determined by therotation
object. By default, all rotation speed axes are set to 0, so they won't rotate at all. This simplifies the rotation system and makes it more consistent with its intended usage.