Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

NOTICE

MC-249136 appears to have been fixed in newer versions of Minecraft! As such, I've decided not to update this mod for 1.20.5-onwards.

If you still encounter problems with treasure maps in 1.20.5+, please create an issue to let me know!

MC-249136 Fix

Requires Fabric API Available on GitLab Available on Modrinth

This mod implements a minimal hacky fix for MC-249136, a significant server lag spike that occurs when locating buried treasure structures for shipwreck loot.

To avoid this lag spike, structure location is moved into a separate thread that does not block the server tick loop. This does nothing to improve the structure location performance, but it does at least prevent it from significantly impeding gameplay.

An empty Minecraft buried treasure map, with the text "Loading" in the center

Configuration

The map "loading" images can be customized by placing 128x128 PNG files in /config/mc249136/map_loading.png and /config/mc249136/map_not_found.png.

For performance reasons, these images will draw all pixels as black unless they are fully transparent (i.e. rgba(0,0,0,0)). Minecraft's map color palette is difficult and expensive to calculate - so this mod literally just does an if (rgb != 0) to draw the image.

Known issues:

  • This mod does not handle state persistence, and only updates loaded maps once they are inside a player's inventory. This means that it is possible to prevent a treasure map from loading by breaking the chest, leaving it in item entity form, and then restarting the server.

External resources



Project members

fennifith

Owner


Technical information

License
LGPL-3.0-only
Client side
unsupported
Server side
required
Project ID