package org.bukkit.craftbukkit.entity; import net.minecraft.server.EntityShulkerBullet; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.ShulkerBullet; import org.bukkit.projectiles.ProjectileSource; public class CraftShulkerBullet extends AbstractProjectile implements ShulkerBullet { public CraftShulkerBullet(CraftServer server, EntityShulkerBullet entity) { super(server, entity); } @Override public ProjectileSource getShooter() { return getHandle().projectileSource; } @Override public void setShooter(ProjectileSource shooter) { if (shooter instanceof LivingEntity) { getHandle().setShooter(((CraftLivingEntity) shooter).getHandle()); } else { getHandle().setShooter(null); } getHandle().projectileSource = shooter; } @Override public org.bukkit.entity.Entity getTarget() { return getHandle().getTarget() != null ? getHandle().getTarget().getBukkitEntity() : null; } @Override public void setTarget(org.bukkit.entity.Entity target) { getHandle().setTarget(target == null ? null : ((CraftEntity) target).getHandle()); } @Override public EntityType getType() { return EntityType.SHULKER_BULLET; } @Override public EntityShulkerBullet getHandle() { return (EntityShulkerBullet) entity; } @Deprecated public LivingEntity _INVALID_getShooter() { if (getHandle().getShooter() == null) { return null; } return (LivingEntity) getHandle().getShooter().getBukkitEntity(); } @Deprecated public void _INVALID_setShooter(LivingEntity shooter) { getHandle().setShooter(((CraftLivingEntity) shooter).getHandle()); } }