Proper 'otherworld' chunkloading

By: Erik Broes <erikbroes@grum.nl>
This commit is contained in:
CraftBukkit/Spigot 2011-02-05 22:13:53 +01:00
parent 5ddeb60d33
commit 87d721733f

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);
}
}
}