001 package org.bukkit.event.entity; 002 003 import org.bukkit.entity.Horse; 004 import org.bukkit.event.Cancellable; 005 import org.bukkit.event.HandlerList; 006 007 /** 008 * Called when a horse jumps. 009 */ 010 public class HorseJumpEvent extends EntityEvent implements Cancellable { 011 private static final HandlerList handlers = new HandlerList(); 012 private boolean cancelled; 013 private float power; 014 015 public HorseJumpEvent(final Horse horse, final float power) { 016 super(horse); 017 this.power = power; 018 } 019 020 public boolean isCancelled() { 021 return cancelled; 022 } 023 024 public void setCancelled(boolean cancel) { 025 cancelled = cancel; 026 } 027 028 @Override 029 public Horse getEntity() { 030 return (Horse) entity; 031 } 032 033 /** 034 * Gets the power of the jump. 035 * <p> 036 * Power is a value that defines how much of the horse's jump strength 037 * should be used for the jump. Power is effectively multiplied times 038 * the horse's jump strength to determine how high the jump is; 0 039 * represents no jump strength while 1 represents full jump strength. 040 * Setting power to a value above 1 will use additional jump strength 041 * that the horse does not usually have. 042 * <p> 043 * Power does not affect how high the horse is capable of jumping, only 044 * how much of its jumping capability will be used in this jump. To set 045 * the horse's overall jump strength, see {@link 046 * Horse#setJumpStrength(double)}. 047 * 048 * @return jump strength 049 */ 050 public float getPower() { 051 return power; 052 } 053 054 /** 055 * Sets the power of the jump. 056 * <p> 057 * Jump power can be set to a value above 1.0 which will increase the 058 * strength of this jump above the horse's actual jump strength. 059 * <p> 060 * Setting the jump power to 0 will result in the jump animation still 061 * playing, but the horse not leaving the ground. Only canceling this 062 * event will result in no jump animation at all. 063 * 064 * @param power power of the jump 065 */ 066 public void setPower(float power) { 067 this.power = power; 068 } 069 070 @Override 071 public HandlerList getHandlers() { 072 return handlers; 073 } 074 075 public static HandlerList getHandlerList() { 076 return handlers; 077 } 078 }