001 package org.bukkit.material; 002 003 import org.bukkit.Material; 004 import org.bukkit.TreeSpecies; 005 006 /** 007 * Represents the different types of leaves. 008 */ 009 public class Leaves extends MaterialData { 010 public Leaves() { 011 super(Material.LEAVES); 012 } 013 014 public Leaves(TreeSpecies species) { 015 this(); 016 setSpecies(species); 017 } 018 019 /** 020 * 021 * @deprecated Magic value 022 */ 023 @Deprecated 024 public Leaves(final int type) { 025 super(type); 026 } 027 028 public Leaves(final Material type) { 029 super(type); 030 } 031 032 /** 033 * 034 * @deprecated Magic value 035 */ 036 @Deprecated 037 public Leaves(final int type, final byte data) { 038 super(type, data); 039 } 040 041 /** 042 * 043 * @deprecated Magic value 044 */ 045 @Deprecated 046 public Leaves(final Material type, final byte data) { 047 super(type, data); 048 } 049 050 /** 051 * Gets the current species of this leave 052 * 053 * @return TreeSpecies of this leave 054 */ 055 public TreeSpecies getSpecies() { 056 return TreeSpecies.getByData((byte) (getData() & 3)); 057 } 058 059 /** 060 * Sets the species of this leave 061 * 062 * @param species New species of this leave 063 */ 064 public void setSpecies(TreeSpecies species) { 065 setData(species.getData()); 066 } 067 068 @Override 069 public String toString() { 070 return getSpecies() + " " + super.toString(); 071 } 072 073 @Override 074 public Leaves clone() { 075 return (Leaves) super.clone(); 076 } 077 }