mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-23 17:37:45 +01:00
5a5c3a4a24
The issue the patch was initially added for has already been fixed and filling stacktraces can be expensive
32 lines
1.8 KiB
Diff
32 lines
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: ploppyperson <nathat890@outlook.com>
|
|
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<CraftingRecipe> 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 {
|