Added PlayerVelocityEvent. Thanks Evenprime!
This commit is contained in:
parent
bf3af40b2d
commit
ce36ff1cf9
@ -197,6 +197,13 @@ public abstract class Event implements Serializable {
|
|||||||
* @see org.bukkit.event.player.PlayerMoveEvent
|
* @see org.bukkit.event.player.PlayerMoveEvent
|
||||||
*/
|
*/
|
||||||
PLAYER_MOVE (Category.PLAYER),
|
PLAYER_MOVE (Category.PLAYER),
|
||||||
|
/**
|
||||||
|
* Called before a player gets a velocity vector sent, which will instruct him to
|
||||||
|
* get "pushed" into a specific direction, e.g. after an explosion
|
||||||
|
*
|
||||||
|
* @see org.bukkit.event.player.PlayerVelocityEvent
|
||||||
|
*/
|
||||||
|
PLAYER_VELOCITY (Category.PLAYER),
|
||||||
/**
|
/**
|
||||||
* Called when a player undergoes an animation (Arm Swing is the only animation currently supported)
|
* Called when a player undergoes an animation (Arm Swing is the only animation currently supported)
|
||||||
*
|
*
|
||||||
|
@ -51,6 +51,14 @@ public class PlayerListener implements Listener {
|
|||||||
*/
|
*/
|
||||||
public void onPlayerMove(PlayerMoveEvent event) {}
|
public void onPlayerMove(PlayerMoveEvent event) {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before a player gets a velocity vector sent, which will "push"
|
||||||
|
* the player in a certain direction
|
||||||
|
*
|
||||||
|
* @param event Relevant event details
|
||||||
|
*/
|
||||||
|
public void onPlayerVelocity(PlayerVelocityEvent event) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a player attempts to teleport to a new location in a world
|
* Called when a player attempts to teleport to a new location in a world
|
||||||
*
|
*
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
package org.bukkit.event.player;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.Cancellable;
|
||||||
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
|
public class PlayerVelocityEvent extends PlayerEvent implements Cancellable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Holds information for player velocity events
|
||||||
|
*/
|
||||||
|
private boolean cancel = false;
|
||||||
|
private Vector velocity;
|
||||||
|
|
||||||
|
public PlayerVelocityEvent(final Player player, final Vector velocity) {
|
||||||
|
super(Type.PLAYER_VELOCITY, player);
|
||||||
|
this.velocity = velocity;
|
||||||
|
}
|
||||||
|
|
||||||
|
PlayerVelocityEvent(final Event.Type type, final Player player, final Vector velocity) {
|
||||||
|
super(type, player);
|
||||||
|
this.velocity = velocity;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the cancellation state of this event. A cancelled event will not
|
||||||
|
* be executed in the server, but will still pass to other plugins
|
||||||
|
*
|
||||||
|
* @return true if this event is cancelled
|
||||||
|
*/
|
||||||
|
public boolean isCancelled() {
|
||||||
|
return cancel;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the cancellation state of this event. A cancelled event will not
|
||||||
|
* be executed in the server, but will still pass to other plugins
|
||||||
|
*
|
||||||
|
* @param cancel true if you wish to cancel this event
|
||||||
|
*/
|
||||||
|
public void setCancelled(boolean cancel) {
|
||||||
|
this.cancel = cancel;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the velocity vector that will be sent to the player
|
||||||
|
*
|
||||||
|
* @return Vector the player will get
|
||||||
|
*/
|
||||||
|
public Vector getVelocity() {
|
||||||
|
return velocity;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the velocity vector that will be sent to the player
|
||||||
|
*
|
||||||
|
* @param velocity The velocity vector that will be sent to the player
|
||||||
|
*/
|
||||||
|
public void setVelocity(Vector velocity) {
|
||||||
|
this.velocity = velocity;
|
||||||
|
}
|
||||||
|
}
|
@ -287,6 +287,13 @@ public final class JavaPluginLoader implements PluginLoader {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
case PLAYER_VELOCITY:
|
||||||
|
return new EventExecutor() {
|
||||||
|
public void execute(Listener listener, Event event) {
|
||||||
|
((PlayerListener) listener).onPlayerVelocity((PlayerVelocityEvent) event);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
case PLAYER_TELEPORT:
|
case PLAYER_TELEPORT:
|
||||||
return new EventExecutor() {
|
return new EventExecutor() {
|
||||||
public void execute(Listener listener, Event event) {
|
public void execute(Listener listener, Event event) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user