Bukkit-API  1.7.9-R0.2
The inofficial Bukkit-API
FlowerPot.java
1 package org.bukkit.material;
2 
3 import org.bukkit.GrassSpecies;
4 import org.bukkit.Material;
5 import org.bukkit.TreeSpecies;
6 
7 /**
8  * Represents a flower pot.
9  */
10 public class FlowerPot extends MaterialData {
11 
12  /**
13  * Default constructor for a flower pot.
14  */
15  public FlowerPot() {
16  super(Material.FLOWER_POT);
17  }
18 
19  /**
20  *
21  * @deprecated Magic value
22  */
23  @Deprecated
24  public FlowerPot(final int type) {
25  super(type);
26  }
27 
28  public FlowerPot(final Material type) {
29  super(type);
30  }
31 
32  /**
33  *
34  * @deprecated Magic value
35  */
36  @Deprecated
37  public FlowerPot(final int type, final byte data) {
38  super(type, data);
39  }
40 
41  /**
42  *
43  * @deprecated Magic value
44  */
45  @Deprecated
46  public FlowerPot(final Material type, final byte data) {
47  super(type, data);
48  }
49 
50  /**
51  * Get the material in the flower pot
52  *
53  * @return material MaterialData for the block currently in the flower pot
54  * or null if empty
55  */
57  switch (getData()) {
58  case 1:
59  return new MaterialData(Material.RED_ROSE);
60  case 2:
61  return new MaterialData(Material.YELLOW_FLOWER);
62  case 3:
63  return new Tree(TreeSpecies.GENERIC);
64  case 4:
65  return new Tree(TreeSpecies.REDWOOD);
66  case 5:
67  return new Tree(TreeSpecies.BIRCH);
68  case 6:
69  return new Tree(TreeSpecies.JUNGLE);
70  case 7:
71  return new MaterialData(Material.RED_MUSHROOM);
72  case 8:
73  return new MaterialData(Material.BROWN_MUSHROOM);
74  case 9:
75  return new MaterialData(Material.CACTUS);
76  case 10:
77  return new MaterialData(Material.DEAD_BUSH);
78  case 11:
79  return new LongGrass(GrassSpecies.FERN_LIKE);
80  default:
81  return null;
82  }
83  }
84 
85  /**
86  * Set the contents of the flower pot
87  *
88  * @param materialData MaterialData of the block to put in the flower pot.
89  */
90  public void setContents(MaterialData materialData) {
91  Material mat = materialData.getItemType();
92 
93  if (mat == Material.RED_ROSE) {
94  setData((byte) 1);
95  } else if (mat == Material.YELLOW_FLOWER) {
96  setData((byte) 2);
97  } else if (mat == Material.RED_MUSHROOM) {
98  setData((byte) 7);
99  } else if (mat == Material.BROWN_MUSHROOM) {
100  setData((byte) 8);
101  } else if (mat == Material.CACTUS) {
102  setData((byte) 9);
103  } else if (mat == Material.DEAD_BUSH) {
104  setData((byte) 10);
105  } else if (mat == Material.SAPLING) {
106  TreeSpecies species = ((Tree) materialData).getSpecies();
107 
108  if (species == TreeSpecies.GENERIC) {
109  setData((byte) 3);
110  } else if (species == TreeSpecies.REDWOOD) {
111  setData((byte) 4);
112  } else if (species == TreeSpecies.BIRCH) {
113  setData((byte) 5);
114  } else {
115  setData((byte) 6);
116  }
117  } else if (mat == Material.LONG_GRASS) {
118  GrassSpecies species = ((LongGrass) materialData).getSpecies();
119 
120  if (species == GrassSpecies.FERN_LIKE) {
121  setData((byte) 11);
122  }
123  }
124  }
125 
126  @Override
127  public String toString() {
128  return super.toString() + " containing " + getContents();
129  }
130 
131  @Override
132  public FlowerPot clone() {
133  return (FlowerPot) super.clone();
134  }
135 }
FlowerPot(final Material type, final byte data)
Definition: FlowerPot.java:46
FlowerPot(final int type, final byte data)
Definition: FlowerPot.java:37
void setContents(MaterialData materialData)
Definition: FlowerPot.java:90