From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tassu Date: Thu, 13 Sep 2018 08:45:01 +0300 Subject: [PATCH] Implement furnace cook speed multiplier API Signed-off-by: Tassu diff --git a/src/main/java/org/bukkit/block/Furnace.java b/src/main/java/org/bukkit/block/Furnace.java index ac3b24c5c99eeb1435d785efade728dd40947da5..dbdf3dbe9517b09a7965cf9d65cae1edd87af67d 100644 --- a/src/main/java/org/bukkit/block/Furnace.java +++ b/src/main/java/org/bukkit/block/Furnace.java @@ -74,6 +74,26 @@ public interface Furnace extends Container { @NotNull public Map, Integer> getRecipesUsed(); + // 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 } /**