summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorspeakeasy <mekevin1917@gmail.com>2011-01-20 05:41:02 +0800
committertahg <tahgtahv@gmail.com>2011-01-20 05:52:36 +0800
commite93061be489dc6f3b4950284e41e50501e55450f (patch)
tree8d10f06a8c493742878f9f30502adda35c208182 /src/main/java
parenteabdc7ffa9d9062389cd7608768e021c04151a98 (diff)
downloadcraftbukkit-e93061be489dc6f3b4950284e41e50501e55450f.tar
craftbukkit-e93061be489dc6f3b4950284e41e50501e55450f.tar.gz
craftbukkit-e93061be489dc6f3b4950284e41e50501e55450f.tar.lz
craftbukkit-e93061be489dc6f3b4950284e41e50501e55450f.tar.xz
craftbukkit-e93061be489dc6f3b4950284e41e50501e55450f.zip
Fix up NPE's in EntityMinecart/CraftVehicle and removed a little un-needed code in EntityArrow
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/net/minecraft/server/EntityArrow.java4
-rw-r--r--src/main/java/net/minecraft/server/EntityMinecart.java6
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftVehicle.java2
3 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index 11ae6954..f068b3fa 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -178,9 +178,7 @@ public class EntityArrow extends Entity {
// or leave as DamageCause.ENTITY_ATTACK
org.bukkit.entity.Entity shooter = null;
if ((EntityLiving)b != null) {
- shooter = new org.bukkit.craftbukkit.entity.CraftLivingEntity(server, b);
- } else if ((Entity)b != null) {
- shooter = (org.bukkit.entity.Entity) b.getBukkitEntity();
+ shooter = b.getBukkitEntity();
}
EntityDamageByProjectileEvent edbpe = new EntityDamageByProjectileEvent(shooter, entity.getBukkitEntity(), this.getBukkitEntity(), EntityDamageEvent.DamageCause.ENTITY_ATTACK, 4);
diff --git a/src/main/java/net/minecraft/server/EntityMinecart.java b/src/main/java/net/minecraft/server/EntityMinecart.java
index ef239f55..8fdec5c0 100644
--- a/src/main/java/net/minecraft/server/EntityMinecart.java
+++ b/src/main/java/net/minecraft/server/EntityMinecart.java
@@ -183,7 +183,11 @@ public class EntityMinecart extends Entity implements IInventory, CraftMappable
public boolean a(Entity entity, int i) {
// CraftBukkit start
- VehicleDamageEvent event = new VehicleDamageEvent(Type.VEHICLE_DAMAGE, (Vehicle) this.getBukkitEntity(), entity.getBukkitEntity(), i);
+ org.bukkit.entity.Entity passenger = null;
+ if ((EntityLiving)entity != null) {
+ passenger = entity.getBukkitEntity();
+ }
+ VehicleDamageEvent event = new VehicleDamageEvent(Type.VEHICLE_DAMAGE, (Vehicle) this.getBukkitEntity(), passenger, i);
((WorldServer)l).getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVehicle.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVehicle.java
index 04d8d187..3fbd7c00 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVehicle.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVehicle.java
@@ -16,7 +16,7 @@ public abstract class CraftVehicle extends CraftEntity implements Vehicle {
}
public Entity getPassenger() {
- return (getHandle().j.getBukkitEntity());
+ return isEmpty()?null:(getHandle().j.getBukkitEntity());
}
public boolean setPassenger(Entity passenger) {