Proper 'otherworld' chunkloading

This commit is contained in:
Erik Broes 2011-02-05 22:13:53 +01:00 committed by Dinnerbone
parent b229931ce6
commit 550ad6f9d1

View File

@ -113,10 +113,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void teleportTo(Location location) {
if (location.getWorld() != getWorld()) {
boolean worldChange = location.getWorld() != getWorld();
if (worldChange) {
// Unload player from current chunks
server.getServer().f.d.b(entity);
}
entity.world = ((CraftWorld)location.getWorld()).getHandle();
entity.b(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch());
if (worldChange) {
// Forceload the chunks around player
server.getServer().f.d.a(entity);
}
}
}