PHASE 7A SCREEN HOOK CORRECTION - 0.0.18.1
Date: 2026-10-04

Observed test result:
- Phase 7A settings backend/world creation flow remained functional.
- The expected Phayriosis Settings button did not appear on Minecraft Create World.

FancyMenu 3.9.3 Forge 1.20.1 was inspected strictly as a reference for robust screen lifecycle behavior.
Key reference lesson:
- Screen customizations must be attached through a lifecycle path that actually fires after screen initialization/reinitialization.
- Forge ScreenEvent.Init.Post is suitable for our small addition and naturally fires again after screen init/resize.

Root cause in 0.0.18:
- PhayriosisCreateWorldClient contains STATIC @SubscribeEvent methods.
- PhayriosisrebornModScreens.clientLoad registered NEW PhayriosisCreateWorldClient() as an INSTANCE on MinecraftForge.EVENT_BUS.
- Forge class-level/static subscribed handlers must be registered using the Class object.
- Therefore onScreenInit/onOpening never ran and no button could be injected.

Correction:
- Register PhayriosisCreateWorldClient.class with MinecraftForge.EVENT_BUS instead of constructing an instance.
- Keep the actual button insertion on ScreenEvent.Init.Post.
- Do not add a FancyMenu dependency or copy FancyMenu implementation code.
- Continue using an original Phayriosis world-creation screen.

Future rule:
- When using static @SubscribeEvent handlers with EVENT_BUS.register, register the Class object, not an instance.
- Validate event registration bytecode before assuming a screen injection failure is caused by screen layout.