The panorama is static in the accessibility onboarding screen, even when entering the Accessibility Settings menu or Language menu from it. Entering the Music & Sounds menu, however, causes it to start spinning.
How to reproduce:
Launch the game in a fresh folder. (Or set
onboardAccessibilityin options.txt to true, or launch the game with the-DMC_DEBUG_ENABLED -DMC_DEBUG_FORCE_ONBOARDING_SCREENsystem properties).Click on either the “Accessibility Settings…” or the “Language…” button.
-> ✔ The panorama is still static.Go back and click on the “Music & Sounds…” button.
-> ❌ The panorama starts spinning.
Expected result:
The panorama would never spin before the player completes the onboarding process.
Observed result:
The panorama spins while in the Music & Sounds menu, even when accessed from the accessibility onboarding screen.
Code analysis:
This code analysis uses 26.2 Snapshot 7’s code, decompiled using Vineflower.
Whether the panorama spins while on a specific screen is controlled by the panoramaShouldSpin() method. The net.minecraft.client.gui.screens.options.AccessibilityOptionsScreen and net.minecraft.client.gui.screens.options.LanguageSelectScreen classes contain the following implementation for that method:
@Override
protected boolean panoramaShouldSpin() {
return !(this.lastScreen instanceof AccessibilityOnboardingScreen);
}This implementation only allows the panorama to spin if the previous screen is not the accessibility onboarding screen. The net.minecraft.client.gui.screens.options.SoundOptionsScreen class, however, does not override this method with its own implementation, causing it to fall back to the default one from net.minecraft.client.gui.screens.Screen:
protected boolean panoramaShouldSpin() {
return true;
}This implementation always allows the panorama to spin, no matter the previous screen, which causes this issue.