@author Gregorius Techneticies
| 29 | * @author Gregorius Techneticies |
| 30 | */ |
| 31 | public interface IItemProjectile { |
| 32 | /** @return if this Item has an Arrow Entity */ |
| 33 | public boolean hasProjectile(TagData aProjectileType, ItemStack aStack); |
| 34 | /** @return an Arrow Entity to be spawned. If null then this is not an Arrow. Note: Other Projectiles still extend EntityArrow */ |
| 35 | public EntityProjectile getProjectile(TagData aProjectileType, ItemStack aStack, World aWorld, double aX, double aY, double aZ); |
| 36 | /** @return an Arrow Entity to be spawned. If null then this is not an Arrow. Note: Other Projectiles still extend EntityArrow */ |
| 37 | public EntityProjectile getProjectile(TagData aProjectileType, ItemStack aStack, World aWorld, EntityLivingBase aEntity, float aSpeed); |
| 38 | |
| 39 | /** Class for being able to set the ItemStack when launching the Projectile. And for de-obfuscation of Parameters. */ |
| 40 | public static abstract class EntityProjectile extends EntityArrow { |
| 41 | public EntityProjectile(World aWorld) { |
| 42 | super(aWorld); |
| 43 | } |
| 44 | public EntityProjectile(World aWorld, double aX, double aY, double aZ) { |
| 45 | super(aWorld, aX, aY, aZ); |
| 46 | } |
| 47 | public EntityProjectile(World aWorld, EntityLivingBase aShootingEntity, EntityLivingBase aWhateverThatIs, float aSpeed, float aPrecision) { |
| 48 | super(aWorld, aShootingEntity, aWhateverThatIs, aSpeed, aPrecision); |
| 49 | } |
| 50 | public EntityProjectile(World aWorld, EntityLivingBase aShootingEntity, float aSpeed) { |
| 51 | super(aWorld, aShootingEntity, aSpeed); |
| 52 | } |
| 53 | |
| 54 | public abstract void setProjectileStack(ItemStack aStack); |
| 55 | } |
| 56 | } |
no outgoing calls
no test coverage detected