Interface AbstractHorse

All Superinterfaces:
Ageable, Animals, Attributable, Breedable, CommandSender, Creature, Damageable, Entity, InventoryHolder, LivingEntity, Lootable, Metadatable, Mob, Nameable, Permissible, PersistentDataHolder, ProjectileSource, ServerOperator, 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 @NotNull Horse.Variant 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

      boolean isEatingHaystack()
      Gets whether the horse is currently grazing hay.
      Returns:
      true if eating hay
    • setEatingHaystack

      void setEatingHaystack(boolean eatingHaystack)
      Sets whether the horse is grazing hay.
      Parameters:
      eatingHaystack - new hay grazing status
    • getInventory

      @NotNull AbstractHorseInventory getInventory()
      Description copied from interface: InventoryHolder
      Get the object's inventory.
      Specified by:
      getInventory in interface InventoryHolder
      Returns:
      The inventory.