package org.bukkit.entity; import org.bukkit.inventory.AbstractHorseInventory; import org.bukkit.inventory.InventoryHolder; /** * Represents a Horse-like creature. */ public interface AbstractHorse extends Animals, Vehicle, InventoryHolder, Tameable { /** * Gets the horse's variant. *

* A horse's variant defines its physical appearance and capabilities. * Whether a horse is a regular horse, donkey, mule, or other kind of horse * is determined using the variant. * * @return a {@link Horse.Variant} representing the horse's variant * @deprecated different variants are different classes */ @Deprecated public Horse.Variant getVariant(); /** * @param variant * @deprecated you are required to spawn a different entity */ @Deprecated public void setVariant(Horse.Variant variant); /** * Gets the domestication level of this horse. *

* A higher domestication level indicates that the horse is closer to * becoming tame. As the domestication level gets closer to the max * domestication level, the chance of the horse becoming tame increases. * * @return domestication level */ public int getDomestication(); /** * Sets the domestication level of this horse. *

* Setting the domestication level to a high value will increase the * horse's chances of becoming tame. *

* Domestication level must be greater than zero and no greater than * the max domestication level of the horse, determined with * {@link #getMaxDomestication()} * * @param level domestication level */ public void setDomestication(int level); /** * Gets the maximum domestication level of this horse. *

* The higher this level is, the longer it will likely take * for the horse to be tamed. * * @return the max domestication level */ public int getMaxDomestication(); /** * Sets the maximum domestication level of this horse. *

* Setting a higher max domestication will increase the amount of * domesticating (feeding, riding, etc.) necessary in order to tame it, * while setting a lower max value will have the opposite effect. *

* Maximum domestication must be greater than zero. * * @param level the max domestication level */ public void setMaxDomestication(int level); /** * Gets the jump strength of this horse. *

* Jump strength defines how high the horse can jump. A higher jump strength * increases how high a jump will go. * * @return the horse's jump strength */ public double getJumpStrength(); /** * Sets the jump strength of this horse. *

* A higher jump strength increases how high a jump will go. * Setting a jump strength to 0 will result in no jump. * You cannot set a jump strength to a value below 0 or * above 2. * * @param strength jump strength for this horse */ public void setJumpStrength(double strength); @Override public AbstractHorseInventory getInventory(); }