package org.bukkit.craftbukkit.entity; import net.minecraft.world.entity.EntityLiving; import net.minecraft.world.entity.projectile.IProjectile; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.entity.Projectile; import org.bukkit.projectiles.ProjectileSource; public abstract class CraftProjectile extends AbstractProjectile implements Projectile { public CraftProjectile(CraftServer server, net.minecraft.world.entity.projectile.IProjectile entity) { super(server, entity); } @Override public ProjectileSource getShooter() { return getHandle().projectileSource; } @Override public void setShooter(ProjectileSource shooter) { if (shooter instanceof CraftLivingEntity) { getHandle().setOwner((EntityLiving) ((CraftLivingEntity) shooter).entity); } else { getHandle().setOwner(null); } getHandle().projectileSource = shooter; } @Override public IProjectile getHandle() { return (IProjectile) entity; } @Override public String toString() { return "CraftProjectile"; } }