promotional bannermobile promotional banner

Arcadia Auction House

Arcadia Auction House adds a cross-player marketplace with item listings, a mailbox for delivered purchases, and Numismatics currency support. Requires Arcadia Lib.

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

NeoForge

implementation "curse.maven:arcadia-ah-1493501:8005964"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

## [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.