All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bukkit.entity.Ocelot Maven / Gradle / Ivy

package org.bukkit.entity;

/**
 * A wild tameable cat
 */
public interface Ocelot extends Animals, Tameable {

  /**
   * Gets the current type of this cat.
   *
   * @return Type of the cat.
   */
  Type getCatType();

  /**
   * Sets the current type of this cat.
   *
   * @param type New type of this cat.
   */
  void setCatType(Type type);

  /**
   * Checks if this ocelot is sitting
   *
   * @return true if sitting
   */
  boolean isSitting();

  /**
   * Sets if this ocelot is sitting. Will remove any path that the ocelot
   * was following beforehand.
   *
   * @param sitting true if sitting
   */
  void setSitting(boolean sitting);

  /**
   * Represents the various different cat types there are.
   */
  enum Type {
    WILD_OCELOT(0),
    BLACK_CAT(1),
    RED_CAT(2),
    SIAMESE_CAT(3);

    private static final Type[] types = new Type[Type.values().length];

    static {
      for (Type type : values()) {
        types[type.getId()] = type;
      }
    }

    private final int id;

    Type(int id) {
      this.id = id;
    }

    /**
     * Gets a cat type by its ID.
     *
     * @param id ID of the cat type to get.
     * @return Resulting type, or null if not found.
     * @deprecated Magic value
     */
    @Deprecated
    public static Type getType(int id) {
      return (id >= types.length) ? null : types[id];
    }

    /**
     * Gets the ID of this cat type.
     *
     * @return Type ID.
     * @deprecated Magic value
     */
    @Deprecated
    public int getId() {
      return id;
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy