From 2223947a61cc98c1e2b2c3e52c5e0bad7399dceb Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 18 Mar 2016 14:24:53 -0400
Subject: [PATCH] Fix Furnace cook time bug
If the server lags out and skips multiple ticks, Furnace cooking behavior would not
cook in the expected amount of time as the cook time was not decremented correctly.
This patch ensures that furnaces cook to the correct wall time expectation.
diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java
index 8f9a59693..3a587a766 100644
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
@@ -272,7 +272,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve
if (this.isBurning() && this.canBurn(irecipe)) {
this.cookTime += elapsedTicks;
if (this.cookTime >= this.cookTimeTotal) {
- this.cookTime = 0;
+ this.cookTime -= this.cookTimeTotal; // Paper
this.cookTimeTotal = this.s();
this.burn(irecipe);
flag1 = true;
--
2.18.0