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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/block/Furnace.java +++ b/src/main/java/org/bukkit/block/Furnace.java @@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java +++ b/src/main/java/org/bukkit/event/inventory/FurnaceStartSmeltEvent.java @@ -0,0 +0,0 @@ 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 } /**