05-02-2015, 02:03 AM
It's not so much about the locks - they are locked during the mob ticks anyway. It's about the chunk lookups. Each DoWithChunk() needs to locate the chunk within the world, which is not exactly trivial; if you do that for each queried block, it quickly becomes the bottleneck.