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