aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJake Potrebic <[email protected]>2023-06-09 11:50:00 -0700
committerGitHub <[email protected]>2023-06-09 20:50:00 +0200
commitdc30ee591d52a55ac1f6dfce6e731a583cc21fad (patch)
treedbcf2c315b6c5a836f0ed2ab4386e3e3e8648692
parent0284b272d323cd056816b2e34d7e7dad53e70b84 (diff)
downloadPaper-dc30ee591d52a55ac1f6dfce6e731a583cc21fad.tar.gz
Paper-dc30ee591d52a55ac1f6dfce6e731a583cc21fad.zip
Properly remove the experimental smithing inventory type (#9290)
-rw-r--r--patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch42
-rw-r--r--patches/server/0971-Fix-block-place-logic.patch1
-rw-r--r--patches/server/0976-Properly-remove-the-experimental-smithing-inventory-.patch130
3 files changed, 172 insertions, 1 deletions
diff --git a/patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch
new file mode 100644
index 0000000000..58275cea90
--- /dev/null
+++ b/patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch
@@ -0,0 +1,42 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+Date: Thu, 8 Jun 2023 14:45:30 -0700
+Subject: [PATCH] Properly remove the experimental smithing inventory type
+
+
+diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
+index b821fa535b23fe5af5884e536b1708460076ee40..daddb12947e61ee69c100b422f6d07d49f76d724 100644
+--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
++++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
+@@ -146,9 +146,9 @@ public enum InventoryType {
+ /**
+ * The new smithing inventory, with 3 CRAFTING slots and 1 RESULT slot.
+ *
+- * @apiNote draft, experimental 1.20 API
++ * @deprecated use {@link #SMITHING}
+ */
+- @MinecraftExperimental
++ @Deprecated(forRemoval = true) // Paper
+ SMITHING_NEW(4, "Upgrade Gear"),
+ ;
+
+diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java
+index 002acfbdce1db10f7ba1b6a013e678f504ac6e69..77a0cd901038405ed0e267f0432f13deccae3ab5 100644
+--- a/src/main/java/org/bukkit/inventory/InventoryView.java
++++ b/src/main/java/org/bukkit/inventory/InventoryView.java
+@@ -370,7 +370,6 @@ public abstract class InventoryView {
+ type = InventoryType.SlotType.CRAFTING;
+ break;
+ case ANVIL:
+- case SMITHING:
+ case CARTOGRAPHY:
+ case GRINDSTONE:
+ case MERCHANT:
+@@ -388,6 +387,7 @@ public abstract class InventoryView {
+ }
+ break;
+ case LOOM:
++ case SMITHING: // Paper
+ case SMITHING_NEW:
+ if (slot == 3) {
+ type = InventoryType.SlotType.RESULT;
diff --git a/patches/server/0971-Fix-block-place-logic.patch b/patches/server/0971-Fix-block-place-logic.patch
index f34f9f62ec..e534f4f285 100644
--- a/patches/server/0971-Fix-block-place-logic.patch
+++ b/patches/server/0971-Fix-block-place-logic.patch
@@ -3,7 +3,6 @@ From: Lulu13022002 <[email protected]>
Date: Mon, 3 Apr 2023 18:46:49 +0200
Subject: [PATCH] Fix block place logic
-TODO: what to do about dropped sign diff
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
index b0204af850ee182773ad458208cccd946ad148d5..ebee8de2ed831755b6fd154f6cc77ac993839bb9 100644
diff --git a/patches/server/0976-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/server/0976-Properly-remove-the-experimental-smithing-inventory-.patch
new file mode 100644
index 0000000000..a1493ce3d9
--- /dev/null
+++ b/patches/server/0976-Properly-remove-the-experimental-smithing-inventory-.patch
@@ -0,0 +1,130 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+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 092f6843e3b43d4c615d2eee344f5966e96ae850..10844fecc01370dcd0cc36f83e166bacb48ded30 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();
+- }
+-}