2021-06-11 12:02:28 +00:00
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tassu <git@tassu.me>
Date: Thu, 13 Sep 2018 08:45:01 +0300
Subject: [PATCH] Implement furnace cook speed multiplier API
Signed-off-by: Tassu <git@tassu.me>
diff --git a/src/main/java/org/bukkit/block/Furnace.java b/src/main/java/org/bukkit/block/Furnace.java
2022-02-15 10:30:58 +00:00
index ac3b24c5c99eeb1435d785efade728dd40947da5..dbdf3dbe9517b09a7965cf9d65cae1edd87af67d 100644
2021-06-11 12:02:28 +00:00
--- a/src/main/java/org/bukkit/block/Furnace.java
+++ b/src/main/java/org/bukkit/block/Furnace.java
2022-02-15 10:30:58 +00:00
@@ -74,6 +74,26 @@ public interface Furnace extends Container {
@NotNull
public Map<CookingRecipe<?>, Integer> getRecipesUsed();
2021-06-11 12:02:28 +00:00
+ // Paper start
+ /**
+ * Gets the cook speed multiplier that this {@link Furnace} will cook
+ * compared to vanilla.
+ *
+ * @return the multiplier, a value between 0 and 200
+ */
+ public double getCookSpeedMultiplier();
+
+ /**
+ * Sets the speed multiplier that this {@link Furnace} will cook
+ * compared to vanilla.
+ *
+ * @param multiplier the multiplier to set, a value between 0 and 200
+ * @throws IllegalArgumentException if value is less than 0
+ * @throws IllegalArgumentException if value is more than 200
+ */
+ public void setCookSpeedMultiplier(double multiplier);
+ // Paper end
+
@NotNull
@Override
public FurnaceInventory getInventory();
2021-09-22 19:46:15 +00:00
diff --git a/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java b/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java
2023-02-15 22:10:14 +00:00
index 1440c6115520d692faf75455df35b92aa8734491..1e55f50f04de78ae0b8832a8021ffc7327676e8e 100644
2021-09-22 19:46:15 +00:00
--- a/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java
2023-02-15 22:10:14 +00:00
@@ -15,10 +15,17 @@ public class FurnaceStartSmeltEvent extends InventoryBlockStartEvent {
2021-09-22 19:46:15 +00:00
private final CookingRecipe<?> recipe;
private int totalCookTime;
+ @Deprecated // Paper - furnace cook speed multiplier
public FurnaceStartSmeltEvent(@NotNull final Block furnace, @NotNull ItemStack source, @NotNull final CookingRecipe<?> recipe) {
2023-02-15 22:10:14 +00:00
+ // Paper start
2021-09-22 19:46:15 +00:00
+ this(furnace, source, recipe, recipe.getCookingTime());
+ }
+
2023-02-15 22:10:14 +00:00
+ public FurnaceStartSmeltEvent(final @NotNull Block furnace, final @NotNull ItemStack source, final @NotNull CookingRecipe<?> recipe, final int cookingTime) {
2021-09-22 19:46:15 +00:00
+ // Paper end
2023-02-15 22:10:14 +00:00
super(furnace, source);
2021-09-22 19:46:15 +00:00
this.recipe = recipe;
- this.totalCookTime = recipe.getCookingTime();
+ this.totalCookTime = cookingTime; // Paper - furnace cook speed multiplier
}
/**