Commits
Niklas Merkelt authored and md_5 committed f042873c1d8
1 1 | package org.bukkit.inventory; |
2 2 | |
3 3 | import org.bukkit.Material; |
4 4 | import org.bukkit.material.MaterialData; |
5 5 | |
6 6 | /** |
7 7 | * Represents a smelting recipe. |
8 8 | */ |
9 9 | public class FurnaceRecipe implements Recipe { |
10 10 | private ItemStack output; |
11 11 | private ItemStack ingredient; |
12 + | private float experience; |
12 13 | |
13 14 | /** |
14 15 | * Create a furnace recipe to craft the specified ItemStack. |
15 16 | * |
16 17 | * @param result The item you want the recipe to create. |
17 18 | * @param source The input material. |
18 19 | */ |
19 20 | public FurnaceRecipe(ItemStack result, Material source) { |
20 - | this(result, source, 0); |
21 + | this(result, source, 0, 0); |
21 22 | } |
22 23 | |
23 24 | /** |
24 25 | * Create a furnace recipe to craft the specified ItemStack. |
25 26 | * |
26 27 | * @param result The item you want the recipe to create. |
27 28 | * @param source The input material. |
28 29 | */ |
29 30 | public FurnaceRecipe(ItemStack result, MaterialData source) { |
30 - | this(result, source.getItemType(), source.getData()); |
31 + | this(result, source.getItemType(), source.getData(), 0); |
32 + | } |
33 + | |
34 + | /** |
35 + | * Create a furnace recipe to craft the specified ItemStack. |
36 + | * |
37 + | * @param result The item you want the recipe to create. |
38 + | * @param source The input material. |
39 + | * @param experience The experience given by this recipe |
40 + | */ |
41 + | public FurnaceRecipe(ItemStack result, MaterialData source, float experience) { |
42 + | this(result, source.getItemType(), source.getData(), experience); |
31 43 | } |
32 44 | |
33 45 | /** |
34 46 | * Create a furnace recipe to craft the specified ItemStack. |
35 47 | * |
36 48 | * @param result The item you want the recipe to create. |
37 49 | * @param source The input material. |
38 50 | * @param data The data value. (Note: This is currently ignored by the |
39 51 | * CraftBukkit server.) |
40 52 | * @deprecated Magic value |
41 53 | */ |
42 54 | |
43 55 | public FurnaceRecipe(ItemStack result, Material source, int data) { |
56 + | this(result, source, data, 0); |
57 + | } |
58 + | |
59 + | /** |
60 + | * Create a furnace recipe to craft the specified ItemStack. |
61 + | * |
62 + | * @param result The item you want the recipe to create. |
63 + | * @param source The input material. |
64 + | * @param data The data value. (Note: This is currently ignored by the |
65 + | * CraftBukkit server.) |
66 + | * @param experience The experience given by this recipe |
67 + | * @deprecated Magic value |
68 + | */ |
69 + | |
70 + | public FurnaceRecipe(ItemStack result, Material source, int data, float experience) { |
44 71 | this.output = new ItemStack(result); |
45 72 | this.ingredient = new ItemStack(source, 1, (short) data); |
73 + | this.experience = experience; |
46 74 | } |
47 75 | |
48 76 | /** |
49 77 | * Sets the input of this furnace recipe. |
50 78 | * |
51 79 | * @param input The input material. |
52 80 | * @return The changed recipe, so you can chain calls. |
53 81 | */ |
54 82 | public FurnaceRecipe setInput(MaterialData input) { |
55 83 | return setInput(input.getItemType(), input.getData()); |
90 118 | } |
91 119 | |
92 120 | /** |
93 121 | * Get the result of this recipe. |
94 122 | * |
95 123 | * @return The resulting stack. |
96 124 | */ |
97 125 | public ItemStack getResult() { |
98 126 | return output.clone(); |
99 127 | } |
128 + | |
129 + | /** |
130 + | * Sets the experience given by this recipe. |
131 + | * |
132 + | * @param experience the experience level |
133 + | */ |
134 + | public void setExperience(float experience) { |
135 + | this.experience = experience; |
136 + | } |
137 + | |
138 + | /** |
139 + | * Get the experience given by this recipe. |
140 + | * |
141 + | * @return experience level |
142 + | */ |
143 + | public float getExperience() { |
144 + | return experience; |
145 + | } |
100 146 | } |