Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
1package org.bukkit.craftbukkit.inventory;
2
3import net.minecraft.server.CraftingManager;
4import org.bukkit.inventory.ItemStack;
5import org.bukkit.inventory.ShapelessRecipe;
6import org.bukkit.material.MaterialData;
7
8import java.util.ArrayList;
9
10public class CraftShapelessRecipe extends ShapelessRecipe implements CraftRecipe {
11 public CraftShapelessRecipe(ItemStack result) {
12 super(result);
13 }
14
15 public static CraftShapelessRecipe fromBukkitRecipe(ShapelessRecipe recipe) {
16 if (recipe instanceof CraftShapelessRecipe) {
17 return (CraftShapelessRecipe) recipe;
18 }
19 CraftShapelessRecipe ret = new CraftShapelessRecipe(recipe.getResult());
20 for (MaterialData ingred : recipe.getIngredientList()) {
21 ret.addIngredient(ingred);
22 }
23 return ret;
24 }
25
26 public void addToCraftingManager() {
27 ArrayList<MaterialData> ingred = this.getIngredientList();
28 Object[] data = new Object[ingred.size()];
29 int i = 0;
30 for (MaterialData mdata : ingred) {
31 int id = mdata.getItemTypeId();
32 byte dmg = mdata.getData();
33 data[i] = new net.minecraft.server.ItemStack(id, 1, dmg);
34 i++;
35 }
36 int id = this.getResult().getTypeId();
37 int amount = this.getResult().getAmount();
38 short durability = this.getResult().getDurability();
39 CraftingManager.getInstance().registerShapelessRecipe(new net.minecraft.server.ItemStack(id, amount, durability), data);
40 }
41}