001 002 package org.bukkit.entity; 003 004 /** 005 * A wild tameable cat 006 */ 007 public interface Ocelot extends Animals, Tameable { 008 009 /** 010 * Gets the current type of this cat. 011 * 012 * @return Type of the cat. 013 */ 014 public Type getCatType(); 015 016 /** 017 * Sets the current type of this cat. 018 * 019 * @param type New type of this cat. 020 */ 021 public void setCatType(Type type); 022 023 /** 024 * Checks if this ocelot is sitting 025 * 026 * @return true if sitting 027 */ 028 public boolean isSitting(); 029 030 /** 031 * Sets if this ocelot is sitting. Will remove any path that the ocelot 032 * was following beforehand. 033 * 034 * @param sitting true if sitting 035 */ 036 public void setSitting(boolean sitting); 037 038 /** 039 * Represents the various different cat types there are. 040 */ 041 public enum Type { 042 WILD_OCELOT(0), 043 BLACK_CAT(1), 044 RED_CAT(2), 045 SIAMESE_CAT(3); 046 047 private static final Type[] types = new Type[Type.values().length]; 048 private final int id; 049 050 static { 051 for (Type type : values()) { 052 types[type.getId()] = type; 053 } 054 } 055 056 private Type(int id) { 057 this.id = id; 058 } 059 060 /** 061 * Gets the ID of this cat type. 062 * 063 * @return Type ID. 064 * @deprecated Magic value 065 */ 066 @Deprecated 067 public int getId() { 068 return id; 069 } 070 071 /** 072 * Gets a cat type by its ID. 073 * 074 * @param id ID of the cat type to get. 075 * @return Resulting type, or null if not found. 076 * @deprecated Magic value 077 */ 078 @Deprecated 079 public static Type getType(int id) { 080 return (id >= types.length) ? null : types[id]; 081 } 082 } 083 }