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.
This commit is contained in:
Aikar 2016-03-18 14:27:53 -04:00
parent 8fea9b93ce
commit dc477811ed

View file

@ -0,0 +1,26 @@
From 6872ee5a6ad3b144059d292e75a427bd30b102dc 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 1b17ca6..c242a7a 100644
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
@@ -164,7 +164,7 @@ public class TileEntityFurnace extends TileEntityContainer implements ITickable,
this.cookTime += elapsedTicks;
if (this.cookTime >= this.cookTimeTotal) {
this.cookTime = 0;
- this.cookTimeTotal = this.a(this.items[0]);
+ this.cookTimeTotal -= this.a(this.items[0]); // Paper - Fix Furnace cook time bug
this.burn();
flag1 = true;
}
--
2.7.3