From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: ploppyperson Date: Thu, 18 Jul 2024 16:38:48 +0200 Subject: [PATCH] Add CrafterCraftEvent While not a one-to-one copy from the proposed commit upstream, the patch calls the preemtively pulled CrafterCraftEvent. See: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/pull-requests/1450/overview diff --git a/src/main/java/net/minecraft/world/level/block/CrafterBlock.java b/src/main/java/net/minecraft/world/level/block/CrafterBlock.java index 6c24b25a7c8ce6e34aceb5702f1a0a6732ebca44..391a6af36d4c27a04000b31583297a25b89125d3 100644 --- a/src/main/java/net/minecraft/world/level/block/CrafterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CrafterBlock.java @@ -163,6 +163,16 @@ public class CrafterBlock extends BaseEntityBlock { } else { RecipeHolder recipeHolder = optional.get(); ItemStack itemStack = recipeHolder.value().assemble(var11, world.registryAccess()); + // Paper start - call CrafterCraftEvent + final org.bukkit.event.block.CrafterCraftEvent event = new org.bukkit.event.block.CrafterCraftEvent( + org.bukkit.craftbukkit.block.CraftBlock.at(world, pos), + (org.bukkit.inventory.CraftingRecipe) recipeHolder.toBukkitRecipe(), + org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemStack) + ); + if (!event.callEvent()) return; + + itemStack = org.bukkit.craftbukkit.inventory.CraftItemStack.unwrap(event.getResult()); + // Paper end - call CrafterCraftEvent if (itemStack.isEmpty()) { world.levelEvent(1050, pos, 0); } else {