Interface AbstractHorse

All Superinterfaces:
Ageable, Animals, Attributable, Audience, Breedable, CommandSender, Creature, Damageable, Entity, Frictional, HoverEventSource<HoverEvent.ShowEntity>, InventoryHolder, Leashable, LivingEntity, Lootable, Metadatable, Mob, Nameable, Permissible, PersistentDataHolder, PersistentDataViewHolder, Pointered, ProjectileSource, ServerOperator, Sound.Emitter, Tameable, Vehicle
All Known Subinterfaces:
Camel, ChestedHorse, Donkey, Horse, Llama, Mule, SkeletonHorse, TraderLlama, ZombieHorse

public interface AbstractHorse extends Vehicle, InventoryHolder, Tameable
Represents a Horse-like creature.
  • Method Details

    • getVariant

      Deprecated.
      different variants are different classes
      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.

      Returns:
      a Horse.Variant representing the horse's variant
    • setVariant

      @Deprecated @Contract("_ -> fail") void setVariant(Horse.Variant variant)
      Deprecated.
      you are required to spawn a different entity
      Parameters:
      variant - variant
    • getDomestication

      int getDomestication()
      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.

      Returns:
      domestication level
    • setDomestication

      void setDomestication(int level)
      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 getMaxDomestication()

      Parameters:
      level - domestication level
    • getMaxDomestication

      int getMaxDomestication()
      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.

      Returns:
      the max domestication level
    • setMaxDomestication

      void setMaxDomestication(int level)
      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.

      Parameters:
      level - the max domestication level
    • getJumpStrength

      double getJumpStrength()
      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.

      Returns:
      the horse's jump strength
    • setJumpStrength

      void setJumpStrength(double strength)
      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.

      Parameters:
      strength - jump strength for this horse
    • isEatingHaystack

      @Deprecated boolean isEatingHaystack()
      Deprecated.
      use isEatingGrass(), this name is incorrect
      Gets whether the horse is currently grazing hay.
      Returns:
      true if eating hay
    • setEatingHaystack

      @Deprecated void setEatingHaystack(boolean eatingHaystack)
      Deprecated.
      use setEatingGrass(boolean), this name is incorrect
      Sets whether the horse is grazing hay.
      Parameters:
      eatingHaystack - new hay grazing status
    • getInventory

      Description copied from interface: InventoryHolder
      Get the object's inventory.
      Specified by:
      getInventory in interface InventoryHolder
      Returns:
      The inventory.
    • isEatingGrass

      boolean isEatingGrass()
      Gets if a horse is in their eating grass animation.
      Returns:
      eating grass animation is active
    • setEatingGrass

      void setEatingGrass(boolean eating)
      Sets if a horse is in their eating grass animation.

      When true, the horse will lower its neck.

      Parameters:
      eating - eating grass animation is active
    • isRearing

      boolean isRearing()
      Gets if a horse is in their rearing animation.
      Returns:
      rearing animation is active
    • setRearing

      void setRearing(boolean rearing)
      Sets if a horse is in their rearing animation.

      When true, the horse will stand on its hind legs.

      Parameters:
      rearing - rearing animation is active
    • isEating

      boolean isEating()
      Gets if a horse is in their eating animation.
      Returns:
      eating animation is active
    • setEating

      void setEating(boolean eating)
      Sets if a horse is in their eating animation.

      When true, the horse will bob its head.

      Parameters:
      eating - eating animation is active