summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/bukkit/entity/LivingEntity.java15
-rw-r--r--src/test/java/org/bukkit/plugin/messaging/TestPlayer.java5
2 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index a6b4e9b2..3c0f4cae 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -90,25 +90,40 @@ public interface LivingEntity extends Entity {
/**
* Throws an egg from the entity.
*
+ * @deprecated Use launchProjectile(Egg.class) instead
* @return The egg thrown.
*/
+ @Deprecated
public Egg throwEgg();
/**
* Throws a snowball from the entity.
*
+ * @deprecated Use launchProjectile(Snowball.class) instead
* @return The snowball thrown.
*/
+ @Deprecated
public Snowball throwSnowball();
/**
* Shoots an arrow from the entity.
*
+ * @deprecated Use launchProjectile(Arrow.class) instead
* @return The arrow shot.
*/
+ @Deprecated
public Arrow shootArrow();
/**
+ * Launches a {@link Projectile} from the entity.
+ *
+ * @param projectile Class of the projectile to launch
+ *
+ * @return The launched projectile.
+ */
+ public <T extends Projectile> T launchProjectile(Class<? extends T> projectile);
+
+ /**
* Returns whether this entity is inside a vehicle.
*
* @return True if the entity is in a vehicle.
diff --git a/src/test/java/org/bukkit/plugin/messaging/TestPlayer.java b/src/test/java/org/bukkit/plugin/messaging/TestPlayer.java
index ef2e737b..4ecd9745 100644
--- a/src/test/java/org/bukkit/plugin/messaging/TestPlayer.java
+++ b/src/test/java/org/bukkit/plugin/messaging/TestPlayer.java
@@ -14,6 +14,7 @@ import org.bukkit.entity.Egg;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
+import org.bukkit.entity.Projectile;
import org.bukkit.entity.Snowball;
import org.bukkit.entity.Vehicle;
import org.bukkit.event.entity.EntityDamageEvent;
@@ -650,6 +651,10 @@ public class TestPlayer implements Player {
throw new UnsupportedOperationException("Not supported yet.");
}
+ public <T extends Projectile> T launchProjectile(Class<? extends T> projectile) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
public EntityType getType() {
return EntityType.PLAYER;
}