From 33fb8cf63ccfa2107bc212142838da1e60a2913f Mon Sep 17 00:00:00 2001 From: Jake Potrebic <15055071+Machine-Maker@users.noreply.github.com> Date: Fri, 23 Apr 2021 03:04:19 -0700 Subject: [PATCH] Add consumeFuel to FurnaceBurnEvent (#5532) --- ...-add-consumeFuel-to-FurnaceBurnEvent.patch | 44 +++++++++++++++++++ ...-add-consumeFuel-to-FurnaceBurnEvent.patch | 19 ++++++++ 2 files changed, 63 insertions(+) create mode 100644 Spigot-API-Patches/0286-add-consumeFuel-to-FurnaceBurnEvent.patch create mode 100644 Spigot-Server-Patches/0708-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/Spigot-API-Patches/0286-add-consumeFuel-to-FurnaceBurnEvent.patch b/Spigot-API-Patches/0286-add-consumeFuel-to-FurnaceBurnEvent.patch new file mode 100644 index 0000000000..6c8b681cd9 --- /dev/null +++ b/Spigot-API-Patches/0286-add-consumeFuel-to-FurnaceBurnEvent.patch @@ -0,0 +1,44 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Thu, 22 Apr 2021 16:45:15 -0700 +Subject: [PATCH] add consumeFuel to FurnaceBurnEvent + + +diff --git a/src/main/java/org/bukkit/event/inventory/FurnaceBurnEvent.java b/src/main/java/org/bukkit/event/inventory/FurnaceBurnEvent.java +index bc71bc2d3ace0d19d730c09f05f9e0655bcee8f5..caef53d0f6546516fa7aabb2cb3abed70808b3ba 100644 +--- a/src/main/java/org/bukkit/event/inventory/FurnaceBurnEvent.java ++++ b/src/main/java/org/bukkit/event/inventory/FurnaceBurnEvent.java +@@ -16,6 +16,7 @@ public class FurnaceBurnEvent extends BlockEvent implements Cancellable { + private int burnTime; + private boolean cancelled; + private boolean burning; ++ private boolean consumeFuel = true; // Paper + + public FurnaceBurnEvent(@NotNull final Block furnace, @NotNull final ItemStack fuel, final int burnTime) { + super(furnace); +@@ -70,6 +71,25 @@ public class FurnaceBurnEvent extends BlockEvent implements Cancellable { + public void setBurning(boolean burning) { + this.burning = burning; + } ++ // Paper start ++ /** ++ * Gets whether the furnace's fuel will be consumed or not. ++ * ++ * @return whether the furnace's fuel will be consumed ++ */ ++ public boolean willConsumeFuel() { ++ return consumeFuel; ++ } ++ ++ /** ++ * Sets whether the furnace's fuel will be consumed or not. ++ * ++ * @param consumeFuel true to consume the fuel ++ */ ++ public void setConsumeFuel(boolean consumeFuel) { ++ this.consumeFuel = consumeFuel; ++ } ++ // Paper end + + @Override + public boolean isCancelled() { diff --git a/Spigot-Server-Patches/0708-add-consumeFuel-to-FurnaceBurnEvent.patch b/Spigot-Server-Patches/0708-add-consumeFuel-to-FurnaceBurnEvent.patch new file mode 100644 index 0000000000..410ceaf296 --- /dev/null +++ b/Spigot-Server-Patches/0708-add-consumeFuel-to-FurnaceBurnEvent.patch @@ -0,0 +1,19 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Thu, 22 Apr 2021 16:45:28 -0700 +Subject: [PATCH] add consumeFuel to FurnaceBurnEvent + + +diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntityFurnace.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntityFurnace.java +index 1997139fb87dc1947acfdf02e1f116577c3fa943..9ce19b89c16eb6edd3d5d5cc87a966a37f66895c 100644 +--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntityFurnace.java ++++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntityFurnace.java +@@ -331,7 +331,7 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I + if (this.isBurning() && furnaceBurnEvent.isBurning()) { + // CraftBukkit end + flag1 = true; +- if (!itemstack.isEmpty()) { ++ if (!itemstack.isEmpty() && furnaceBurnEvent.willConsumeFuel()) { // Paper + Item item = itemstack.getItem(); + + itemstack.subtract(1);