diff options
author | sk89q <the.sk89q@gmail.com> | 2011-01-07 11:16:04 -0800 |
---|---|---|
committer | sk89q <the.sk89q@gmail.com> | 2011-01-07 11:16:04 -0800 |
commit | a6704ab01b07ae9ef478b8c3ed8be3b4054ef22a (patch) | |
tree | cb692db38552733d905b8a0dde8a411bbde96c67 | |
parent | da31fdb4cd0a80bf2fe75803d9f5c50aa06f9eb0 (diff) | |
download | bukkit-a6704ab01b07ae9ef478b8c3ed8be3b4054ef22a.tar bukkit-a6704ab01b07ae9ef478b8c3ed8be3b4054ef22a.tar.gz bukkit-a6704ab01b07ae9ef478b8c3ed8be3b4054ef22a.tar.lz bukkit-a6704ab01b07ae9ef478b8c3ed8be3b4054ef22a.tar.xz bukkit-a6704ab01b07ae9ef478b8c3ed8be3b4054ef22a.zip |
Various changes to the vehicle hooks.
4 files changed, 73 insertions, 11 deletions
diff --git a/src/main/java/org/bukkit/Vehicle.java b/src/main/java/org/bukkit/Vehicle.java index 245c671f..6fb95b8c 100644 --- a/src/main/java/org/bukkit/Vehicle.java +++ b/src/main/java/org/bukkit/Vehicle.java @@ -24,9 +24,9 @@ public interface Vehicle extends Entity { * Gets the primary passenger of a vehicle. For vehicles that could have
* multiple passengers, this will only return the primary passenger.
*
- * @return a living entity
+ * @return an entity
*/
- public LivingEntity getPassenger();
+ public Entity getPassenger();
/**
* Returns true if the vehicle has no passengers.
diff --git a/src/main/java/org/bukkit/event/vehicle/VehicleCreateEvent.java b/src/main/java/org/bukkit/event/vehicle/VehicleCreateEvent.java index efc76094..a6279d4c 100644 --- a/src/main/java/org/bukkit/event/vehicle/VehicleCreateEvent.java +++ b/src/main/java/org/bukkit/event/vehicle/VehicleCreateEvent.java @@ -1,5 +1,6 @@ package org.bukkit.event.vehicle;
+import org.bukkit.Vector;
import org.bukkit.Vehicle;
/**
@@ -8,8 +9,41 @@ import org.bukkit.Vehicle; * @author sk89q
*/
public class VehicleCreateEvent extends VehicleEvent {
- public VehicleCreateEvent(Type type, Vehicle vehicle) {
+ private boolean slowWhenEmpty;
+ private Vector derailedVelocityFactor;
+ private Vector flyingVelocityFactor;
+
+ public VehicleCreateEvent(Type type, Vehicle vehicle,
+ boolean slowWhenEmpty, Vector derailedVelocityFactor,
+ Vector flyingVelocityFactor) {
+
super(type, vehicle);
+ this.slowWhenEmpty = slowWhenEmpty;
+ this.derailedVelocityFactor = derailedVelocityFactor;
+ this.flyingVelocityFactor = flyingVelocityFactor;
+ }
+
+ public void setSlowWhenEmpty(boolean setting) {
+ slowWhenEmpty = setting;
+ }
+
+ public boolean shouldSlowWhenEmpty() {
+ return slowWhenEmpty;
+ }
+
+ public void setDerailedVelocityFactor(Vector setting) {
+ derailedVelocityFactor = setting.clone();
+ }
+
+ public Vector getDerailedVelocityFactor() {
+ return derailedVelocityFactor.clone();
+ }
+
+ public void setFlyingVelocityFactor(Vector setting) {
+ flyingVelocityFactor = setting.clone();
+ }
+
+ public Vector getFlyingVelocityFactor() {
+ return flyingVelocityFactor.clone();
}
-
}
diff --git a/src/main/java/org/bukkit/event/vehicle/VehicleEnterEvent.java b/src/main/java/org/bukkit/event/vehicle/VehicleEnterEvent.java index da8fc30c..5ac62428 100644 --- a/src/main/java/org/bukkit/event/vehicle/VehicleEnterEvent.java +++ b/src/main/java/org/bukkit/event/vehicle/VehicleEnterEvent.java @@ -1,30 +1,30 @@ package org.bukkit.event.vehicle;
-import org.bukkit.LivingEntity;
+import org.bukkit.Entity;
import org.bukkit.Vehicle;
import org.bukkit.event.Cancellable;
/**
- * Raised when a living entity enters a vehicle.
+ * Raised when an entity enters a vehicle.
*
* @author sk89q
*/
public class VehicleEnterEvent extends VehicleEvent implements Cancellable {
private boolean cancelled;
- private LivingEntity entered;
+ private Entity entered;
- public VehicleEnterEvent(Type type, Vehicle vehicle, LivingEntity entered) {
+ public VehicleEnterEvent(Type type, Vehicle vehicle, Entity entered) {
super(type, vehicle);
this.entered = entered;
}
/**
- * Get the living entity that entered the vehicle.
+ * Get the entity that entered the vehicle.
*
* @return
*/
- public LivingEntity getEntered() {
+ public Entity getEntered() {
return entered;
}
diff --git a/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java b/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java index fe2c3b71..514c5697 100644 --- a/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java +++ b/src/main/java/org/bukkit/event/vehicle/VehicleEntityCollisionEvent.java @@ -2,14 +2,18 @@ package org.bukkit.event.vehicle; import org.bukkit.Entity;
import org.bukkit.Vehicle;
+import org.bukkit.event.Cancellable;
/**
* Raised when a vehicle collides with an entity.
*
* @author sk89q
*/
-public class VehicleEntityCollisionEvent extends VehicleCollisionEvent {
+public class VehicleEntityCollisionEvent extends VehicleCollisionEvent implements Cancellable {
private Entity entity;
+ private boolean cancelled = false;
+ private boolean cancelledPickup = false;
+ private boolean cancelledCollision = false;
public VehicleEntityCollisionEvent(Type type, Vehicle vehicle, Entity entity) {
super(type, vehicle);
@@ -19,4 +23,28 @@ public class VehicleEntityCollisionEvent extends VehicleCollisionEvent { public Entity getEntity() {
return entity;
}
+
+ public boolean isCancelled() {
+ return cancelled;
+ }
+
+ public void setCancelled(boolean cancel) {
+ this.cancelled = cancel;
+ }
+
+ public boolean isPickupCancelled() {
+ return cancelledPickup;
+ }
+
+ public void setPickupCancelled(boolean cancel) {
+ cancelledPickup = cancel;
+ }
+
+ public boolean isCollisionCancelled() {
+ return cancelledCollision;
+ }
+
+ public void setCollisionCancelled(boolean cancel) {
+ cancelledCollision = cancel;
+ }
}
|