mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 15:49:00 +01:00
Expose isFuel and canSmelt methods to FurnaceInventory (#7181)
This commit is contained in:
parent
57a0a45096
commit
3b479df487
2 changed files with 66 additions and 0 deletions
|
@ -0,0 +1,35 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: BillyGalbreath <blake.galbreath@gmail.com>
|
||||||
|
Date: Thu, 23 Dec 2021 15:32:40 -0600
|
||||||
|
Subject: [PATCH] Expose isFuel and canSmelt methods to FurnaceInventory
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/inventory/FurnaceInventory.java b/src/main/java/org/bukkit/inventory/FurnaceInventory.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/inventory/FurnaceInventory.java
|
||||||
|
+++ b/src/main/java/org/bukkit/inventory/FurnaceInventory.java
|
||||||
|
@@ -0,0 +0,0 @@ public interface FurnaceInventory extends Inventory {
|
||||||
|
*/
|
||||||
|
void setSmelting(@Nullable ItemStack stack);
|
||||||
|
|
||||||
|
+ // Paper start
|
||||||
|
+ /**
|
||||||
|
+ * Check if an item can be used as a fuel source in this furnace container
|
||||||
|
+ *
|
||||||
|
+ * @param item Item to check
|
||||||
|
+ * @return True if a valid fuel source
|
||||||
|
+ */
|
||||||
|
+ public boolean isFuel(@Nullable ItemStack item);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Check if an item can be smelted in this furnace container
|
||||||
|
+ *
|
||||||
|
+ * @param item Item to check
|
||||||
|
+ * @return True if can be smelt
|
||||||
|
+ */
|
||||||
|
+ public boolean canSmelt(@Nullable ItemStack item);
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
Furnace getHolder();
|
|
@ -0,0 +1,31 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: BillyGalbreath <blake.galbreath@gmail.com>
|
||||||
|
Date: Thu, 23 Dec 2021 15:32:50 -0600
|
||||||
|
Subject: [PATCH] Expose isFuel and canSmelt methods to FurnaceInventory
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryFurnace.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryFurnace.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryFurnace.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryFurnace.java
|
||||||
|
@@ -0,0 +0,0 @@ public class CraftInventoryFurnace extends CraftInventory implements FurnaceInve
|
||||||
|
setItem(0, stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Paper start
|
||||||
|
+ @Override
|
||||||
|
+ public boolean isFuel(ItemStack stack) {
|
||||||
|
+ return stack != null && !stack.getType().isEmpty() && AbstractFurnaceBlockEntity.isFuel(CraftItemStack.asNMSCopy(stack));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public boolean canSmelt(ItemStack stack) {
|
||||||
|
+ // data packs are always loaded in the main world
|
||||||
|
+ net.minecraft.server.level.ServerLevel world = ((org.bukkit.craftbukkit.CraftWorld) org.bukkit.Bukkit.getWorlds().get(0)).getHandle();
|
||||||
|
+ return stack != null && !stack.getType().isEmpty() && world.getRecipeManager().getRecipeFor(((AbstractFurnaceBlockEntity) this.inventory).recipeType, new net.minecraft.world.SimpleContainer(CraftItemStack.asNMSCopy(stack)), world).isPresent();
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
@Override
|
||||||
|
public Furnace getHolder() {
|
||||||
|
return (Furnace) inventory.getOwner();
|
Loading…
Reference in a new issue