Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
What does this mod do?
Assigns Mojang UUIDs to players joining an offline-mode server, allowing in-game entities and other services (mods like Essential) to use the actual UUID instead of a hash of the player's username.
Without this, offline mode gives every player a UUID hashed from their username instead of their real Mojang/Microsoft UUID. That breaks anything keyed to UUID: villager trading reputation, tamed pets, advancements, playerdata, permission plugins, Essential, etc.
This mod checks the Mojang API for each joining player's real UUID and uses that instead, when one exists. If the lookup fails or times out (or the account isn't premium), it falls back to vanilla's normal offline UUID - nothing breaks, you just don't get the fix for that player.
Server-side only. Nothing to install on the client.
How it works
UUIDUtilMixin — the only piece of vanilla-facing code. It intercepts UUIDUtil.createOfflinePlayerUUID and substitutes the real UUID when one is available.
UuidLookupService — calls api.mojang.com, with a 2-second timeout. A slow or unreachable Mojang API costs a player a couple of seconds on first join, never a hang.
UuidCache — remembers results (both hits and confirmed misses) in config/uuidfixer/cache.json so repeat joins don't re-hit the API.


