diff options
Diffstat (limited to 'nms-patches/RecipeRepair.patch')
-rw-r--r-- | nms-patches/RecipeRepair.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/nms-patches/RecipeRepair.patch b/nms-patches/RecipeRepair.patch new file mode 100644 index 00000000..51349bb2 --- /dev/null +++ b/nms-patches/RecipeRepair.patch @@ -0,0 +1,39 @@ +--- ../work/decompile-bb26c12b/net/minecraft/server/RecipeRepair.java 2014-11-27 08:59:46.877421071 +1100 ++++ src/main/java/net/minecraft/server/RecipeRepair.java 2014-11-27 08:42:10.148850918 +1100 +@@ -3,9 +3,13 @@ + import com.google.common.collect.Lists; + import java.util.ArrayList; + +-public class RecipeRepair implements IRecipe { ++public class RecipeRepair extends ShapelessRecipes implements IRecipe { // CraftBukkit - added extends + +- public RecipeRepair() {} ++ // CraftBukkit start - Delegate to new parent class ++ public RecipeRepair() { ++ super(new ItemStack(Items.LEATHER_HELMET), java.util.Arrays.asList(new ItemStack(Items.LEATHER_HELMET))); ++ } ++ // CraftBukkit end + + public boolean a(InventoryCrafting inventorycrafting, World world) { + ArrayList arraylist = Lists.newArrayList(); +@@ -61,8 +65,18 @@ + if (i1 < 0) { + i1 = 0; + } +- +- return new ItemStack(itemstack2.getItem(), 1, i1); ++ ++ // CraftBukkit start - Construct a dummy repair recipe ++ ItemStack result = new ItemStack(itemstack.getItem(), 1, i1); ++ java.util.List<ItemStack> ingredients = new ArrayList<ItemStack>(); ++ ingredients.add(itemstack2.cloneItemStack()); ++ ingredients.add(itemstack.cloneItemStack()); ++ ShapelessRecipes recipe = new ShapelessRecipes(result.cloneItemStack(), ingredients); ++ inventorycrafting.currentRecipe = recipe; ++ result = org.bukkit.craftbukkit.event.CraftEventFactory.callPreCraftEvent(inventorycrafting, result, CraftingManager.getInstance().lastCraftView, true); ++ return result; ++ // return new ItemStack(itemstack2.getItem(), 1, i1); ++ // CraftBukkit end + } + } + |