summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorsunkid <sunkid@iminurnetz.com>2011-07-19 10:21:17 -0700
committerEvilSeph <evilseph@gmail.com>2011-07-28 02:23:40 -0400
commit879390d1facfc9e998a53c90f5dd6556a46fe51c (patch)
tree3b89ca3f8dfdb56cedc35b7ebd84fb9c74b72875 /src/main
parent714eb939c640df1ec8513e2c17b23077c9e53bae (diff)
downloadbukkit-879390d1facfc9e998a53c90f5dd6556a46fe51c.tar
bukkit-879390d1facfc9e998a53c90f5dd6556a46fe51c.tar.gz
bukkit-879390d1facfc9e998a53c90f5dd6556a46fe51c.tar.lz
bukkit-879390d1facfc9e998a53c90f5dd6556a46fe51c.tar.xz
bukkit-879390d1facfc9e998a53c90f5dd6556a46fe51c.zip
Retiring EntityDamageByProjectileEvent in favor of EntityDamageEvent.
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/bukkit/entity/Projectile.java17
-rw-r--r--src/main/java/org/bukkit/event/entity/EntityDamageByProjectileEvent.java15
-rw-r--r--src/main/java/org/bukkit/event/entity/EntityDamageEvent.java6
3 files changed, 27 insertions, 11 deletions
diff --git a/src/main/java/org/bukkit/entity/Projectile.java b/src/main/java/org/bukkit/entity/Projectile.java
index 95666eac..15950621 100644
--- a/src/main/java/org/bukkit/entity/Projectile.java
+++ b/src/main/java/org/bukkit/entity/Projectile.java
@@ -16,8 +16,21 @@ public interface Projectile extends Entity {
/**
* Set the shooter of this projectile
*
- * @param shooter
- * the {@link LivingEntity} that shot this projectile
+ * @param shooter the {@link LivingEntity} that shot this projectile
*/
public void setShooter(LivingEntity shooter);
+
+ /**
+ * Determine if this projectile should bounce or not when it hits.
+ *
+ * @return true if it should bounce.
+ */
+ public boolean doesBounce();
+
+ /**
+ * Set whether or not this projectile should bounce or not when it hits something.
+ *
+ * @param doesBounce whether or not it should bounce.
+ */
+ public void setBounce(boolean doesBounce);
}
diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByProjectileEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByProjectileEvent.java
index 760f4055..5419b019 100644
--- a/src/main/java/org/bukkit/event/entity/EntityDamageByProjectileEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByProjectileEvent.java
@@ -1,28 +1,25 @@
package org.bukkit.event.entity;
-import java.util.Random;
-
import org.bukkit.entity.Entity;
import org.bukkit.entity.Projectile;
/**
* Called when an entity is damaged by a projectile
+ *
+ * @deprecated use {@link EntityDamageByEntityEvent} instead, where {@link EntityDamageByEntityEvent#getDamager()} will return the {@link Projectile}
*/
+@Deprecated
public class EntityDamageByProjectileEvent extends EntityDamageByEntityEvent {
private Projectile projectile;
- private boolean bounce;
public EntityDamageByProjectileEvent(Entity damagee, Projectile projectile, DamageCause cause, int damage) {
this(projectile.getShooter(), damagee, projectile, cause, damage);
}
public EntityDamageByProjectileEvent(Entity damager, Entity damagee, Projectile projectile, DamageCause cause, int damage) {
- super(damager, damagee, cause, damage);
+ super(damager, projectile, DamageCause.PROJECTILE, damage);
this.projectile = projectile;
- Random random = new Random();
-
- this.bounce = random.nextBoolean();
}
/**
@@ -35,10 +32,10 @@ public class EntityDamageByProjectileEvent extends EntityDamageByEntityEvent {
}
public void setBounce(boolean bounce) {
- this.bounce = bounce;
+ projectile.setBounce(bounce);
}
public boolean getBounce() {
- return bounce;
+ return projectile.doesBounce();
}
}
diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java
index 308fee46..369e7abd 100644
--- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java
@@ -78,6 +78,12 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable {
*/
ENTITY_ATTACK,
/**
+ * Damage caused when attacked by a projectile.
+ *
+ * Damage: variable
+ */
+ PROJECTILE,
+ /**
* Damage caused by being put in a block
*
* Damage: 1