File Details
arcadia-ah-1.2.4
- R
- Apr 28, 2026
- 103.03 KB
- 74
- 1.21.1
- NeoForge
File Name
arcadia-ah-1.2.4.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
## [1.2.4] - 2026-04-28 (latest)
### Fixed
- **NPE on server start when the overworld isn't ready yet** — `ArcadiaAH.onServerAboutToStart` called `AuctionDatabase.setServer(server)` which immediately walked to `server.overworld().getDataStorage()` to load the singleplayer `AuctionSavedData`. But `ServerAboutToStartEvent` fires <i>before</i> the overworld is constructed: `MinecraftServer.overworld()` returns `null` at that point and the chain crashes the server tick loop with `Cannot invoke "ServerLevel.getDataStorage()" because the return value of "MinecraftServer.overworld()" is null`. Split the bootstrap: `setServer` now only stashes the reference (safe at AboutToStart), and a new `loadFromSavedData()` is called from a dedicated `ServerStartedEvent` listener after worlds are loaded.
### Correctifs
- **NPE au démarrage serveur quand l'overworld n'est pas encore prêt** — `ArcadiaAH.onServerAboutToStart` appelait `AuctionDatabase.setServer(server)` qui descendait immédiatement vers `server.overworld().getDataStorage()` pour charger l'`AuctionSavedData` solo. Mais `ServerAboutToStartEvent` est tiré <i>avant</i> que l'overworld soit construit : `MinecraftServer.overworld()` retourne `null` à ce moment et la chaîne fait crasher le server tick loop avec `Cannot invoke "ServerLevel.getDataStorage()" because the return value of "MinecraftServer.overworld()" is null`. Le bootstrap est maintenant en deux étapes : `setServer` ne stocke que la référence (safe au AboutToStart) et une nouvelle `loadFromSavedData()` est appelée depuis un listener `ServerStartedEvent` dédié après le chargement des worlds.

