aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0368-Furnace-RecipesUsed-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0368-Furnace-RecipesUsed-API.patch')
-rw-r--r--patches/api/0368-Furnace-RecipesUsed-API.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/patches/api/0368-Furnace-RecipesUsed-API.patch b/patches/api/0368-Furnace-RecipesUsed-API.patch
new file mode 100644
index 0000000000..7fed82db21
--- /dev/null
+++ b/patches/api/0368-Furnace-RecipesUsed-API.patch
@@ -0,0 +1,51 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+Date: Thu, 13 Jan 2022 15:21:08 -0800
+Subject: [PATCH] Furnace RecipesUsed API
+
+
+diff --git a/src/main/java/org/bukkit/block/Furnace.java b/src/main/java/org/bukkit/block/Furnace.java
+index dbdf3dbe9517b09a7965cf9d65cae1edd87af67d..8745e5aeaa81cd42d6625f415c623daa28776647 100644
+--- a/src/main/java/org/bukkit/block/Furnace.java
++++ b/src/main/java/org/bukkit/block/Furnace.java
+@@ -92,6 +92,40 @@ public interface Furnace extends Container {
+ * @throws IllegalArgumentException if value is more than 200
+ */
+ public void setCookSpeedMultiplier(double multiplier);
++
++ /**
++ * Gets the number of times a recipe has been used since the
++ * last player removed items from the result slot. This is used
++ * to calculate experience rewards when withdrawing items from furnaces.
++ *
++ * @param furnaceRecipe the recipe to query the count for
++ * @return the count or 0 if none found
++ */
++ int getRecipeUsedCount(@NotNull org.bukkit.NamespacedKey furnaceRecipe);
++
++ /**
++ * Checks if the recipe has a used count present on this furnace.
++ *
++ * @param furnaceRecipe the recipe to check if a count exists for
++ * @return true if there is a positive count, else false
++ */
++ boolean hasRecipeUsedCount(@NotNull org.bukkit.NamespacedKey furnaceRecipe);
++
++ /**
++ * Sets the number of times a recipe has been used. This is used
++ * to calculate experience rewards when withdrawing items from furnaces.
++ *
++ * @param furnaceRecipe the recipe to set the count for
++ * @param count the count, a non-positive number will remove the recipe
++ */
++ void setRecipeUsedCount(@NotNull org.bukkit.inventory.CookingRecipe<?> furnaceRecipe, int count);
++
++ /**
++ * Sets all recipes used by this furnace.
++ *
++ * @param recipesUsed the recipes used
++ */
++ void setRecipesUsed(@NotNull Map<CookingRecipe<?>, Integer> recipesUsed);
+ // Paper end
+
+ @NotNull