Wurst version:7.56.1
Minecraft version:MC26.3
Steps to reproduce:
Install Wurst 7.56.1-MC26.3 with NameProtect hack enabled (any non-empty replacement name set).
Join multiplayer server, then disconnect (kick, server stop, or manual disconnect) while FastQuit mod is installed.
Disconnect screen renders → StringDecomposerMixin calls NameProtectHack.protect() → MC.level is null → NullPointerException at NameProtectHack.java:45.
Expected: Disconnect screen renders without crash. Actual: Game crashes with NPE because protect() dereferences MC.level.players() without null check. MC.level is null after disconnect but mixin still fires on text processed by disconnect screen.
Fix suggestion: Null-check MC.level at start of protect(), return input text unchanged if null.