--- a/net/minecraft/server/FurnaceRecipe.java +++ b/net/minecraft/server/FurnaceRecipe.java @@ -2,6 +2,16 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; +// CraftBukkit start +import java.util.ArrayList; +import java.util.List; +import org.bukkit.craftbukkit.inventory.CraftFurnaceRecipe; +import org.bukkit.craftbukkit.inventory.CraftItemStack; +import org.bukkit.craftbukkit.util.CraftMagicNumbers; +import org.bukkit.craftbukkit.util.CraftNamespacedKey; +import org.bukkit.inventory.Recipe; +import org.bukkit.inventory.RecipeChoice; +// CraftBukkit end public class FurnaceRecipe implements IRecipe { @@ -56,6 +66,23 @@ return this.key; } + @Override + public Recipe toBukkitRecipe() { + CraftItemStack result = CraftItemStack.asCraftMirror(this.result); + RecipeItemStack list = this.ingredient; + list.buildChoices(); + + List choices = new ArrayList<>(list.choices.length); + for (ItemStack i : list.choices) { + choices.add(CraftMagicNumbers.getMaterial(i.getItem())); + } + + CraftFurnaceRecipe recipe = new CraftFurnaceRecipe(CraftNamespacedKey.fromMinecraft(this.key), result, new RecipeChoice.MaterialChoice(choices), this.experience, this.cookingTime); + recipe.setGroup(this.group); + + return recipe; + } + public static class a implements RecipeSerializer { public a() {} @@ -106,11 +133,11 @@ return "smelting"; } - public IRecipe a(MinecraftKey minecraftkey, PacketDataSerializer packetdataserializer) { + public FurnaceRecipe a(MinecraftKey minecraftkey, PacketDataSerializer packetdataserializer) { // CraftBukkit - decompile error return this.b(minecraftkey, packetdataserializer); } - public IRecipe a(MinecraftKey minecraftkey, JsonObject jsonobject) { + public FurnaceRecipe a(MinecraftKey minecraftkey, JsonObject jsonobject) { // CraftBukkit - decompile error return this.b(minecraftkey, jsonobject); } }