PaperMC/patches/server/Properly-remove-the-experimental-smithing-inventory-.patch

130 lines
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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/inventory/SmithingMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/SmithingMenu.java
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
@@ -0,0 +0,0 @@ public class CraftContainer extends AbstractContainerMenu {
case STONECUTTER:
return MenuType.STONECUTTER;
case SMITHING_NEW:
+ case SMITHING:
return MenuType.SMITHING;
case CREATIVE:
case CRAFTING:
@@ -0,0 +0,0 @@ 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:
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithing.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithing.java
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventorySmithingNew.java
+++ /dev/null
@@ -0,0 +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();
- }
-}