diff options
author | Andrew Ardill <andrew.ardill@gmail.com> | 2011-01-21 16:54:30 +1100 |
---|---|---|
committer | Andrew Ardill <andrew.ardill@gmail.com> | 2011-01-21 16:54:30 +1100 |
commit | 1cbde901bacb7620e555d1725c95619641caba8e (patch) | |
tree | 60157572f1bff78ecd6ede7f9f443f138e01c9fe /src/main/java/net/minecraft/server/EntityBoat.java | |
parent | 1dad7de4f34982efff946ec51ca576902d79bb8e (diff) | |
download | craftbukkit-1cbde901bacb7620e555d1725c95619641caba8e.tar craftbukkit-1cbde901bacb7620e555d1725c95619641caba8e.tar.gz craftbukkit-1cbde901bacb7620e555d1725c95619641caba8e.tar.lz craftbukkit-1cbde901bacb7620e555d1725c95619641caba8e.tar.xz craftbukkit-1cbde901bacb7620e555d1725c95619641caba8e.zip |
Entity audit. Adds checks for null entities, and adds conformity.
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityBoat.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityBoat.java | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java index 9fbb132b..0e929470 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -9,6 +9,7 @@ import org.bukkit.craftbukkit.entity.CraftBoat; import org.bukkit.craftbukkit.entity.CraftEntity; import org.bukkit.craftbukkit.CraftMappable; import org.bukkit.craftbukkit.CraftServer; +import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.entity.Vehicle; import org.bukkit.event.Event.Type; import org.bukkit.event.vehicle.VehicleCreateEvent; @@ -50,10 +51,10 @@ public class EntityBoat extends Entity implements CraftMappable { // CraftBukkit M = false; handleCreation(world); // CraftBukkit - //CraftBukkit start + // CraftBukkit start CraftServer server = ((WorldServer) this.l).getServer(); this.bukkitEntity = new CraftBoat(server, this); - //CraftBukkit end + // CraftBukkit end } protected void a() {} @@ -86,7 +87,9 @@ public class EntityBoat extends Entity implements CraftMappable { // CraftBukkit // CraftBukkit start private void handleCreation(World world) { CraftServer server = ((WorldServer) world).getServer(); - VehicleCreateEvent event = new VehicleCreateEvent( Type.VEHICLE_CREATE, (Vehicle) this.getBukkitEntity()); + Type eventType = Type.VEHICLE_CREATE; + Vehicle vehicle = (Vehicle) this.getBukkitEntity(); + VehicleCreateEvent event = new VehicleCreateEvent(eventType, vehicle); server.getPluginManager().callEvent(event); } // CraftBukkit end @@ -97,7 +100,12 @@ public class EntityBoat extends Entity implements CraftMappable { // CraftBukkit public boolean a(Entity entity, int i) { // CraftBukkit start - VehicleDamageEvent event = new VehicleDamageEvent( Type.VEHICLE_DAMAGE, (Vehicle) this.getBukkitEntity(), entity.getBukkitEntity(), i); + Type eventType = Type.VEHICLE_DAMAGE; + Vehicle vehicle = (Vehicle) this.getBukkitEntity(); + org.bukkit.entity.Entity attacker = (entity == null)?null:entity.getBukkitEntity(); + int damage = i; + + VehicleDamageEvent event = new VehicleDamageEvent(eventType, vehicle, attacker, damage); ((WorldServer) l).getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -290,7 +298,13 @@ public class EntityBoat extends Entity implements CraftMappable { // CraftBukkit // CraftBukkit start CraftServer server = ((WorldServer)l).getServer(); - VehicleMoveEvent event = new VehicleMoveEvent(Type.VEHICLE_MOVE, (Vehicle) this.getBukkitEntity(), new Location(((WorldServer)l).getWorld(), prevX, prevY, prevZ, prevYaw, prevPitch), new Location(((WorldServer)l).getWorld(), p, q, r, v, w)); + CraftWorld world = ((WorldServer)l).getWorld(); + Type eventType = Type.VEHICLE_MOVE; + Vehicle vehicle = (Vehicle) this.getBukkitEntity(); + Location from = new Location(world, prevX, prevY, prevZ, prevYaw, prevPitch); + Location to = new Location(world, p, q, r, v, w); + + VehicleMoveEvent event = new VehicleMoveEvent(eventType, vehicle, from, to); server.getPluginManager().callEvent(event); // CraftBukkit end @@ -325,7 +339,11 @@ public class EntityBoat extends Entity implements CraftMappable { // CraftBukkit // CraftBukkit start public void c(Entity entity) { CraftServer server = ((WorldServer)l).getServer(); - VehicleEntityCollisionEvent collsionEvent = new VehicleEntityCollisionEvent( Type.VEHICLE_COLLISION_ENTITY, (Vehicle) this.getBukkitEntity(), entity.getBukkitEntity()); + Type eventType = Type.VEHICLE_COLLISION_ENTITY; + Vehicle vehicle = (Vehicle) this.getBukkitEntity(); + org.bukkit.entity.Entity hitEntity = (entity == null)?null:entity.getBukkitEntity(); + + VehicleEntityCollisionEvent collsionEvent = new VehicleEntityCollisionEvent(eventType, vehicle, hitEntity); server.getPluginManager().callEvent(collsionEvent); if (collsionEvent.isCancelled()) { @@ -347,7 +365,11 @@ public class EntityBoat extends Entity implements CraftMappable { // CraftBukkit if (!l.z) { // CraftBukkit start CraftServer server = ((WorldServer)l).getServer(); - VehicleEnterEvent event = new VehicleEnterEvent( Type.VEHICLE_ENTER, (Vehicle) this.getBukkitEntity(), entityplayer.getBukkitEntity()); + Type eventType = Type.VEHICLE_ENTER; + Vehicle vehicle = (Vehicle) this.getBukkitEntity(); + org.bukkit.entity.Entity player = entityplayer.getBukkitEntity(); + + VehicleEnterEvent event = new VehicleEnterEvent(eventType, vehicle, player); server.getPluginManager().callEvent(event); if (event.isCancelled()) { |