geforkt von Mirrors/Paper
275173e538
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 0c5d8709 SPIGOT-7400: Downgrade maven-resolver due to issues resolving certain depends 255c4fdb SPIGOT-7380: Add PlayerInteractEvent#getClickedPosition and ChiseledBookshelf#getSlot CraftBukkit Changes: b6b514b7e SPIGOT-7400: Downgrade maven-resolver due to issues resolving certain depends fcff84de9 SPIGOT-7399: Revert null check in CraftMetaItem#safelyAdd 44a4b5649 SPIGOT-7380: Add PlayerInteractEvent#getClickedPosition and ChiseledBookshelf#getSlot 676969d01 SPIGOT-7389: Handle setting null items in ChiseledBookshelf Inventory
131 Zeilen
6.1 KiB
Diff
131 Zeilen
6.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Thu, 8 Jun 2023 14:45:18 -0700
|
|
Subject: [PATCH] Properly remove the experimental smithing inventory type
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/inventory/SmithingMenu.java b/src/main/java/net/minecraft/world/inventory/SmithingMenu.java
|
|
index dbfd36859010a1f950769708fbc5fc604c0754a9..7cc161b13f915dd8fe1ebc77169f1c2cbed2849b 100644
|
|
--- a/src/main/java/net/minecraft/world/inventory/SmithingMenu.java
|
|
+++ b/src/main/java/net/minecraft/world/inventory/SmithingMenu.java
|
|
@@ -147,7 +147,7 @@ public class SmithingMenu extends ItemCombinerMenu {
|
|
return this.bukkitEntity;
|
|
}
|
|
|
|
- org.bukkit.craftbukkit.inventory.CraftInventory inventory = new org.bukkit.craftbukkit.inventory.CraftInventorySmithingNew(
|
|
+ org.bukkit.craftbukkit.inventory.CraftInventory inventory = new org.bukkit.craftbukkit.inventory.CraftInventorySmithing( // Paper
|
|
access.getLocation(), this.inputSlots, this.resultSlots);
|
|
this.bukkitEntity = new CraftInventoryView(this.player.getBukkitEntity(), inventory, this);
|
|
return this.bukkitEntity;
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
|
index bdaa739aa18a95894a165e9333a3e9d596fd7dc3..3075ba5f6d66316f27e618d8b279252e9520b9cb 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
|
@@ -161,6 +161,7 @@ public class CraftContainer extends AbstractContainerMenu {
|
|
case STONECUTTER:
|
|
return MenuType.STONECUTTER;
|
|
case SMITHING_NEW:
|
|
+ case SMITHING:
|
|
return MenuType.SMITHING;
|
|
case CREATIVE:
|
|
case CRAFTING:
|
|
@@ -204,7 +205,6 @@ public class CraftContainer extends AbstractContainerMenu {
|
|
this.delegate = new HopperMenu(windowId, bottom, top);
|
|
break;
|
|
case ANVIL:
|
|
- case SMITHING:
|
|
this.setupAnvil(top, bottom); // SPIGOT-6783 - manually set up slots so we can use the delegated inventory and not the automatically created one
|
|
break;
|
|
case BEACON:
|
|
@@ -237,6 +237,7 @@ public class CraftContainer extends AbstractContainerMenu {
|
|
case MERCHANT:
|
|
this.delegate = new MerchantMenu(windowId, bottom);
|
|
break;
|
|
+ case SMITHING: // Paper
|
|
case SMITHING_NEW:
|
|
this.setupSmithing(top, bottom); // SPIGOT-6783 - manually set up slots so we can use the delegated inventory and not the automatically created one
|
|
break;
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
|
index bfac13ec6c316caa65db4a51b77f0a7045ad88ff..df254c42b73cdb56f71781473cbf9d0f28dcfb08 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
|
@@ -536,8 +536,7 @@ public class CraftInventory implements Inventory {
|
|
return InventoryType.COMPOSTER;
|
|
} else if (this.inventory instanceof JukeboxBlockEntity) {
|
|
return InventoryType.JUKEBOX;
|
|
- } else if (this instanceof CraftInventorySmithingNew) {
|
|
- return InventoryType.SMITHING_NEW;
|
|
+ // Paper - remove
|
|
} else {
|
|
return InventoryType.CHEST;
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithing.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithing.java
|
|
index b665e5ce358b54be7c3c9a5e0ab21fa9430a685b..d89c5d601a15a9b4787e5672a850cb4eaf3eced0 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithing.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithing.java
|
|
@@ -28,12 +28,12 @@ public class CraftInventorySmithing extends CraftResultInventory implements Smit
|
|
|
|
@Override
|
|
public ItemStack getResult() {
|
|
- return getItem(2);
|
|
+ return getItem(net.minecraft.world.inventory.SmithingMenu.RESULT_SLOT); // Paper
|
|
}
|
|
|
|
@Override
|
|
public void setResult(ItemStack item) {
|
|
- setItem(2, item);
|
|
+ setItem(net.minecraft.world.inventory.SmithingMenu.RESULT_SLOT, item); // Paper
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithingNew.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithingNew.java
|
|
deleted file mode 100644
|
|
index 50c023f7f742f1466f75a217937ef664a619d753..0000000000000000000000000000000000000000
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithingNew.java
|
|
+++ /dev/null
|
|
@@ -1,44 +0,0 @@
|
|
-package org.bukkit.craftbukkit.inventory;
|
|
-
|
|
-import net.minecraft.world.Container;
|
|
-import net.minecraft.world.inventory.ResultContainer;
|
|
-import org.bukkit.Location;
|
|
-import org.bukkit.inventory.ItemStack;
|
|
-import org.bukkit.inventory.Recipe;
|
|
-import org.bukkit.inventory.SmithingInventory;
|
|
-
|
|
-public class CraftInventorySmithingNew extends CraftResultInventory implements SmithingInventory {
|
|
-
|
|
- private final Location location;
|
|
-
|
|
- public CraftInventorySmithingNew(Location location, Container inventory, ResultContainer resultInventory) {
|
|
- super(inventory, resultInventory);
|
|
- this.location = location;
|
|
- }
|
|
-
|
|
- @Override
|
|
- public ResultContainer getResultInventory() {
|
|
- return (ResultContainer) super.getResultInventory();
|
|
- }
|
|
-
|
|
- @Override
|
|
- public Location getLocation() {
|
|
- return this.location;
|
|
- }
|
|
-
|
|
- @Override
|
|
- public ItemStack getResult() {
|
|
- return getItem(3);
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void setResult(ItemStack item) {
|
|
- setItem(3, item);
|
|
- }
|
|
-
|
|
- @Override
|
|
- public Recipe getRecipe() {
|
|
- net.minecraft.world.item.crafting.Recipe recipe = this.getResultInventory().getRecipeUsed();
|
|
- return (recipe == null) ? null : recipe.toBukkitRecipe();
|
|
- }
|
|
-}
|