I don't think the current behaviour (accessing the loaded world from Netty threads) is inherently dangerous - but it may cause corrupt or out-of-date chunks to be rendered on the map. The solution will likely be to use ChunkSection copying, similar to the process Minecraft's rendering threads use to build chunk data separately from the world thread. Unlike methods that Sodium and Canvas use, it is unlikely to be beneficial here to first copy the packed block representation into a format that can be more efficiently accessed, as TinyMap reads significantly fewer blocks in a chunk.
I don't think the current behaviour (accessing the loaded world from Netty threads) is inherently dangerous - but it may cause corrupt or out-of-date chunks to be rendered on the map. The solution will likely be to use ChunkSection copying, similar to the process Minecraft's rendering threads use to build chunk data separately from the world thread. Unlike methods that Sodium and Canvas use, it is unlikely to be beneficial here to first copy the packed block representation into a format that can be more efficiently accessed, as TinyMap reads significantly fewer blocks in a chunk.