package de.tobiyas.racesandclasses.pets.target;
import org.bukkit.Location;
import org.bukkit.entity.LivingEntity;
import org.bukkit.util.Vector;
import de.tobiyas.racesandclasses.pets.SpawnedPet;
import de.tobiyas.racesandclasses.playermanagement.player.RaCPlayer;
import de.tobiyas.racesandclasses.util.location.LocationOffsetUtils;
import de.tobiyas.util.vollotile.ParticleEffects;
import de.tobiyas.util.vollotile.VollotileCodeManager;
public class OwnerTarget implements Target {
/**
* The owner to follow
*/
private final RaCPlayer owner;
public OwnerTarget(RaCPlayer owner) {
this.owner = owner;
}
@Override
public boolean valid(SpawnedPet pet) {
return true;
}
@Override
public int getPriority() {
return 1;
}
@Override
public TargetType getType() {
return TargetType.Owner;
}
@Override
public void setTarget(LivingEntity pet) {
VollotileCodeManager.getVollotileCode().entityWalkToLocation(pet, LocationOffsetUtils.getRandomAround(owner.getLocation()), 1);
}
@Override
public void showToOwner(RaCPlayer owner) {
if(!owner.getPlayer().isValid()) return;
Location target = owner.getLocation();
VollotileCodeManager.getVollotileCode().sendParticleEffect(ParticleEffects.CRIT, target, new Vector(0,0.3,0), 1, 3, owner.getPlayer());
}
}