Commits

Niklas Merkelt authored and md_5 committed f042873c1d8
Add custom experience levels for FurnaceRecipes.
No tags

src/main/java/org/bukkit/inventory/FurnaceRecipe.java

Modified
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 @Deprecated
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 + @Deprecated
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 }

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut