62 lines
2.6 KiB
Diff
62 lines
2.6 KiB
Diff
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
|
|
index c5a8c96fa2204d6b4d2409b1bfc97697d39d964e..9063cf370a0fe66c2a27086e125f9111b77366ae 100644
|
|
--- a/src/main/java/org/bukkit/block/Furnace.java
|
|
+++ b/src/main/java/org/bukkit/block/Furnace.java
|
|
@@ -61,6 +61,26 @@ public interface Furnace extends Container {
|
|
*/
|
|
public void setCookTimeTotal(int cookTimeTotal);
|
|
|
|
+ // 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();
|
|
diff --git a/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java b/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java
|
|
index 533a33dbd4c4c3c07fe759206dc288efec5cd531..f13f1b4daa99fb86b60acc94d0406dcd8cb4d98b 100644
|
|
--- a/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java
|
|
@@ -13,11 +13,18 @@ public class FurnaceStartSmeltEvent extends BlockEvent {
|
|
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) {
|
|
+ // Paper start - furnace cook speed multiplier
|
|
+ this(furnace, source, recipe, recipe.getCookingTime());
|
|
+ }
|
|
+
|
|
+ public FurnaceStartSmeltEvent(@NotNull final Block furnace, @NotNull ItemStack source, @NotNull CookingRecipe<?> recipe, int cookingTime) {
|
|
+ // Paper end
|
|
super(furnace);
|
|
this.source = source;
|
|
this.recipe = recipe;
|
|
- this.totalCookTime = recipe.getCookingTime();
|
|
+ this.totalCookTime = cookingTime; // Paper - furnace cook speed multiplier
|
|
}
|
|
|
|
/**
|