Btw, would is be possible to make the World class hashable. Ideally with an id numbers, rather than having to hash a string. This wouldn't even need to be consistent between reboots. Ofc, unless there is a massive number of worlds, iterating through them shouldn't be much of a load. Actually, even better would be to make Locations hashable (on a block basis). I have an IntLocation class that I use in a HashMap to store portal block locations. This allows fast lookup to see if a player enters a portal. Maybe, there could be a BlockLocation class which has valid hashcode() and equals() functions. However, that requires that worlds are hashable. According to the API, the getId function in world is highly likely but not guaranteed to be unique.