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.Material; import org.bukkit.entity.Item; import org.bukkit.entity.Ocelot; import org.bukkit.util.Vector; import java.util.Random; import java.util.UUID; /** * Represents an instance of a kitten pet summoned by a player. * * @author iSach * @since 08-12-2015 */ public class PetKitty extends Pet { Random r = new Random(); public PetKitty(UltraPlayer owner, UltraCosmetics ultraCosmetics) { super(owner, ultraCosmetics, PetType.KITTY); Bukkit.getScheduler().runTaskLater(getUltraCosmetics(), new Runnable() { @Override public void run() { if (getOwner() != null && getEntity() != null) { Ocelot ocelot = (Ocelot) getEntity(); ocelot.setTamed(true); ocelot.setSitting(false); ocelot.setCatType(Ocelot.Type.RED_CAT); } } }, 30); } @Override public void onUpdate() { final Item item = entity.getWorld().dropItem(((Ocelot) entity).getEyeLocation(), ItemFactory.create(Material.RAW_FISH, (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); } }