Add consumeFuel to FurnaceBurnEvent (#5532)

This commit is contained in:
Jake Potrebic 2021-04-23 03:04:19 -07:00 committed by GitHub
parent 9957f46302
commit 33fb8cf63c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 63 additions and 0 deletions

View File

@ -0,0 +1,44 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
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() {

View File

@ -0,0 +1,19 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
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);