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();
|
|
- }
|
|
-}
|