package be.isach.ultracosmetics.cosmetics.pets;
import be.isach.ultracosmetics.UltraCosmetics;
import be.isach.ultracosmetics.cosmetics.type.PetType;
import be.isach.ultracosmetics.player.UltraPlayer;
import be.isach.ultracosmetics.util.ItemFactory;
import org.bukkit.Bukkit;
import org.bukkit.DyeColor;
import org.bukkit.Material;
import org.bukkit.entity.Item;
import org.bukkit.entity.Wolf;
import org.bukkit.util.Vector;
import java.util.Random;
import java.util.UUID;
/**
* Represents an instance of a dog pet summoned by a player.
*
* @author iSach
* @since 08-12-2015
*/
public class PetDog extends Pet {
Random r = new Random();
public PetDog(UltraPlayer owner, UltraCosmetics ultraCosmetics) {
super(owner, ultraCosmetics, PetType.DOG);
Bukkit.getScheduler().runTaskLater(getUltraCosmetics(), new Runnable() {
@Override
public void run() {
if (getOwner() != null && getEntity() != null) {
Wolf w = (Wolf) entity;
w.setTamed(true);
w.setSitting(false);
}
}
}, 30);
}
@Override
public void onUpdate() {
Wolf w = (Wolf) entity;
w.setCollarColor(DyeColor.values()[r.nextInt(15)]);
final Item ITEM = entity.getWorld().dropItem(((Wolf) entity).getEyeLocation(), ItemFactory.create(Material.BONE, (byte) 0x0, UUID.randomUUID().toString()));
ITEM.setPickupDelay(30000);
ITEM.setVelocity(new Vector(r.nextDouble() - 0.5, r.nextDouble() / 2.0 + 0.3, r.nextDouble() - 0.5).multiply(0.4));
items.add(ITEM);
Bukkit.getScheduler().runTaskLater(getUltraCosmetics(), new Runnable() {
@Override
public void run() {
ITEM.remove();
items.remove(ITEM);
}
}, 5);
}
}