PaperMC/patches/api/0455-Item-Mutation-Fixes.patch

50 lines
2.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Date: Wed, 20 Mar 2024 20:42:31 -0400
Subject: [PATCH] Item Mutation Fixes
diff --git a/src/main/java/org/bukkit/event/block/InventoryBlockStartEvent.java b/src/main/java/org/bukkit/event/block/InventoryBlockStartEvent.java
index 1ebd45295a29fbc990a1311a7f0fe7f42ac79275..b70450919e78e869c9f158c4e3e25944bcaa73f2 100644
--- a/src/main/java/org/bukkit/event/block/InventoryBlockStartEvent.java
+++ b/src/main/java/org/bukkit/event/block/InventoryBlockStartEvent.java
@@ -17,7 +17,7 @@ import org.jetbrains.annotations.NotNull;
public class InventoryBlockStartEvent extends BlockEvent {
private static final HandlerList handlers = new HandlerList();
- private final ItemStack source;
+ protected ItemStack source; // Paper
public InventoryBlockStartEvent(@NotNull final Block block, @NotNull ItemStack source) {
super(block);
diff --git a/src/main/java/org/bukkit/event/enchantment/EnchantItemEvent.java b/src/main/java/org/bukkit/event/enchantment/EnchantItemEvent.java
index 1829529c9915937dcdd0e6d1ceba9e64819fb93f..e7c243038b70ca13b7eabdf88ce518b6198c6db9 100644
--- a/src/main/java/org/bukkit/event/enchantment/EnchantItemEvent.java
+++ b/src/main/java/org/bukkit/event/enchantment/EnchantItemEvent.java
@@ -20,7 +20,7 @@ import org.jetbrains.annotations.NotNull;
public class EnchantItemEvent extends InventoryEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
private final Block table;
- private final ItemStack item;
+ private ItemStack item; // Paper
private int level;
private boolean cancelled;
private final Map<Enchantment, Integer> enchants;
@@ -72,6 +72,17 @@ public class EnchantItemEvent extends InventoryEvent implements Cancellable {
return item;
}
+ // Paper start
+ /**
+ * Sets the item to be enchanted
+ *
+ * @param item item
+ */
+ public void setItem(@NotNull final ItemStack item) {
+ this.item = item;
+ }
+ // Paper end
+
/**
* Gets the cost (minimum level) which is displayed as a number on the right
* hand side of the enchantment offer.