001 package org.bukkit.entity; 002 003 /** 004 * Represents a Skeleton. 005 */ 006 public interface Skeleton extends Monster { 007 008 /** 009 * Gets the current type of this skeleton. 010 * 011 * @return Current type 012 */ 013 public SkeletonType getSkeletonType(); 014 015 /** 016 * Sets the new type of this skeleton. 017 * 018 * @param type New type 019 */ 020 public void setSkeletonType(SkeletonType type); 021 022 /* 023 * Represents the various different Skeleton types. 024 */ 025 public enum SkeletonType { 026 NORMAL(0), 027 WITHER(1); 028 029 private static final SkeletonType[] types = new SkeletonType[SkeletonType.values().length]; 030 private final int id; 031 032 static { 033 for (SkeletonType type : values()) { 034 types[type.getId()] = type; 035 } 036 } 037 038 private SkeletonType(int id) { 039 this.id = id; 040 } 041 042 /** 043 * Gets the ID of this skeleton type. 044 * 045 * @return Skeleton type ID 046 * @deprecated Magic value 047 */ 048 @Deprecated 049 public int getId() { 050 return id; 051 } 052 053 /** 054 * Gets a skeleton type by its ID. 055 * 056 * @param id ID of the skeleton type to get. 057 * @return Resulting skeleton type, or null if not found. 058 * @deprecated Magic value 059 */ 060 @Deprecated 061 public static SkeletonType getType(int id) { 062 return (id >= types.length) ? null : types[id]; 063 } 064 } 065 }