mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 16:49:11 +00:00
Update the sector the mob was previously in when they move out of one.
This commit is contained in:
@@ -10,6 +10,8 @@ import org.apollo.game.model.Direction;
|
||||
import org.apollo.game.model.Graphic;
|
||||
import org.apollo.game.model.Position;
|
||||
import org.apollo.game.model.World;
|
||||
import org.apollo.game.model.area.Sector;
|
||||
import org.apollo.game.model.area.SectorRepository;
|
||||
import org.apollo.game.model.def.NpcDefinition;
|
||||
import org.apollo.game.model.entity.attr.Attribute;
|
||||
import org.apollo.game.model.entity.attr.AttributeMap;
|
||||
@@ -392,7 +394,15 @@ public abstract class Mob extends Entity {
|
||||
* @param position The position.
|
||||
*/
|
||||
public final void setPosition(Position position) {
|
||||
Position old = this.position;
|
||||
this.position = position;
|
||||
|
||||
if (old.getTopLeftSectorX() != position.getTopLeftSectorX()) {
|
||||
SectorRepository repository = World.getWorld().getSectorRepository();
|
||||
Sector oldSector = repository.fromPosition(old), newSector = repository.fromPosition(position);
|
||||
oldSector.removeEntity(this);
|
||||
newSector.addEntity(this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user