geforkt von Mirrors/Paper
aa52bf9e33
Mojang made some changes to priorities in 1.17 and it seems that these changes conflict with the changes made in this patch, which in some cases appears to cause excessive rescheduling of tasks. This, however, is not confirmed as such but seems to be the behavior that we're seeing to cause this issue, if mojang has adopted the changes we suggested, then a good chunk of this patch may be unneeded, but, this needs a much better look than I'm currently able to do
37 Zeilen
1.8 KiB
Diff
37 Zeilen
1.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: lukas <lukasalt98@gmail.com>
|
|
Date: Sun, 27 Dec 2020 16:47:00 +0100
|
|
Subject: [PATCH] Cache burn durations
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
|
index 348196524eb3770541966e7e842ff0ae7afd94ad..381e14e9c5c818aa7022726c193c14e69f021275 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
|
@@ -127,7 +127,13 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
|
|
this.recipeType = recipeType;
|
|
}
|
|
|
|
+ private static Map<Item, Integer> cachedBurnDurations = null; // Paper - cache burn durations
|
|
public static Map<Item, Integer> getFuel() {
|
|
+ // Paper start - cache burn durations
|
|
+ if(cachedBurnDurations != null) {
|
|
+ return cachedBurnDurations;
|
|
+ }
|
|
+ // Paper end
|
|
Map<Item, Integer> map = Maps.newLinkedHashMap();
|
|
|
|
AbstractFurnaceBlockEntity.add(map, (ItemLike) Items.LAVA_BUCKET, 20000);
|
|
@@ -192,7 +198,10 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
|
|
AbstractFurnaceBlockEntity.add(map, (ItemLike) Blocks.COMPOSTER, 300);
|
|
AbstractFurnaceBlockEntity.add(map, (ItemLike) Blocks.AZALEA, 100);
|
|
AbstractFurnaceBlockEntity.add(map, (ItemLike) Blocks.FLOWERING_AZALEA, 100);
|
|
- return map;
|
|
+ // Paper start - cache burn durations
|
|
+ cachedBurnDurations = com.google.common.collect.ImmutableMap.copyOf(map);
|
|
+ return cachedBurnDurations;
|
|
+ // Paper end
|
|
}
|
|
|
|
// CraftBukkit start - add fields and methods
|