61 lines
2.5 KiB
Diff
61 lines
2.5 KiB
Diff
--- a/net/minecraft/world/inventory/LegacySmithingMenu.java
|
|
+++ b/net/minecraft/world/inventory/LegacySmithingMenu.java
|
|
@@ -11,6 +11,8 @@
|
|
import net.minecraft.world.level.block.Blocks;
|
|
import net.minecraft.world.level.block.state.IBlockData;
|
|
|
|
+import org.bukkit.craftbukkit.inventory.CraftInventoryView; // CraftBukkit
|
|
+
|
|
/** @deprecated */
|
|
@Deprecated(forRemoval = true)
|
|
public class LegacySmithingMenu extends ContainerAnvilAbstract {
|
|
@@ -26,6 +28,9 @@
|
|
@Nullable
|
|
private LegacyUpgradeRecipe selectedRecipe;
|
|
private final List<LegacyUpgradeRecipe> recipes;
|
|
+ // CraftBukkit start
|
|
+ private CraftInventoryView bukkitEntity;
|
|
+ // CraftBukkit end
|
|
|
|
public LegacySmithingMenu(int i, PlayerInventory playerinventory) {
|
|
this(i, playerinventory, ContainerAccess.NULL);
|
|
@@ -87,7 +92,7 @@
|
|
}).toList();
|
|
|
|
if (list.isEmpty()) {
|
|
- this.resultSlots.setItem(0, ItemStack.EMPTY);
|
|
+ org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareSmithingEvent(getBukkitView(), ItemStack.EMPTY); // CraftBukkit
|
|
} else {
|
|
LegacyUpgradeRecipe legacyupgraderecipe = (LegacyUpgradeRecipe) list.get(0);
|
|
ItemStack itemstack = legacyupgraderecipe.assemble(this.inputSlots, this.level.registryAccess());
|
|
@@ -95,7 +100,9 @@
|
|
if (itemstack.isItemEnabled(this.level.enabledFeatures())) {
|
|
this.selectedRecipe = legacyupgraderecipe;
|
|
this.resultSlots.setRecipeUsed(legacyupgraderecipe);
|
|
- this.resultSlots.setItem(0, itemstack);
|
|
+ // CraftBukkit start
|
|
+ org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareSmithingEvent(getBukkitView(), itemstack);
|
|
+ // CraftBukkit end
|
|
}
|
|
}
|
|
|
|
@@ -116,4 +123,18 @@
|
|
public boolean canTakeItemForPickAll(ItemStack itemstack, Slot slot) {
|
|
return slot.container != this.resultSlots && super.canTakeItemForPickAll(itemstack, slot);
|
|
}
|
|
+
|
|
+ // CraftBukkit start
|
|
+ @Override
|
|
+ public CraftInventoryView getBukkitView() {
|
|
+ if (bukkitEntity != null) {
|
|
+ return bukkitEntity;
|
|
+ }
|
|
+
|
|
+ org.bukkit.craftbukkit.inventory.CraftInventory inventory = new org.bukkit.craftbukkit.inventory.CraftInventorySmithing(
|
|
+ access.getLocation(), this.inputSlots, this.resultSlots);
|
|
+ bukkitEntity = new CraftInventoryView(this.player.getBukkitEntity(), inventory, this);
|
|
+ return bukkitEntity;
|
|
+ }
|
|
+ // CraftBukkit end
|
|
}
|