mirror of
https://github.com/SparklyPower/SparklyPaper.git
synced 2025-12-19 15:09:27 +00:00
37 lines
2.0 KiB
Diff
37 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MrPowerGamerBR <git@mrpowergamerbr.com>
|
|
Date: Tue, 25 Jun 2024 02:52:32 -0300
|
|
Subject: [PATCH] Add CraftItemRecipeEvent
|
|
|
|
Used when a player OR a crafter block crafts an item, as an alternative to PrepareItemCraftEvent and CraftItemEvent, because both events are not triggered when a item is crafted from a crafter
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
|
index 57c3f8531bf85b53af3a4aad6e9e369d5cff0ce3..80bb0371eed48dbcb0e4e62dfc7f23f8514bdf77 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
|
@@ -1474,6 +1474,24 @@ public class CraftEventFactory {
|
|
Bukkit.getPluginManager().callEvent(crafterCraftEvent);
|
|
return crafterCraftEvent;
|
|
}
|
|
+
|
|
+ // SparklyPaper start - add CraftItemRecipeEvent
|
|
+ public static net.sparklypower.sparklypaper.event.inventory.CraftItemRecipeEvent callCraftItemRecipeEvent(net.minecraft.world.inventory.CraftingContainer container, Recipe recipe, ItemStack result) {
|
|
+ org.bukkit.inventory.ItemStack[] matrix = new org.bukkit.inventory.ItemStack[container.getItems().size()];
|
|
+ int i = 0;
|
|
+ for (ItemStack item : container.getItems()) {
|
|
+ matrix[i] = CraftItemStack.asCraftMirror(item);
|
|
+ i++;
|
|
+ }
|
|
+ org.bukkit.inventory.ItemStack bukkitResult = CraftItemStack.asCraftMirror(result);
|
|
+
|
|
+ net.sparklypower.sparklypaper.event.inventory.CraftItemRecipeEvent event = new net.sparklypower.sparklypaper.event.inventory.CraftItemRecipeEvent(matrix, recipe, bukkitResult);
|
|
+ Bukkit.getPluginManager().callEvent(event);
|
|
+
|
|
+ return event;
|
|
+ }
|
|
+ // SparklyPaper end
|
|
+
|
|
// Paper start
|
|
@Deprecated
|
|
public static com.destroystokyo.paper.event.entity.ProjectileCollideEvent callProjectileCollideEvent(Entity entity, EntityHitResult position) {
|