aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0477-Cache-burn-durations.patch
blob: 32d702d1242e7d85e7f1c7648013e9057b55c0f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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 9801b777bc6ab7de91d82b29a142459292ee8605..8f7029e602300f68b3c8411caa2d9e0b1e8be62e 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
@@ -134,7 +134,13 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
         this.recipeType = recipeType; // Paper - cook speed multiplier API
     }
 
+    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 - cache burn durations
         Map<Item, Integer> map = Maps.newLinkedHashMap();
 
         AbstractFurnaceBlockEntity.add(map, (ItemLike) Items.LAVA_BUCKET, 20000);
@@ -196,7 +202,10 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
         AbstractFurnaceBlockEntity.add(map, (ItemLike) Blocks.AZALEA, 100);
         AbstractFurnaceBlockEntity.add(map, (ItemLike) Blocks.FLOWERING_AZALEA, 100);
         AbstractFurnaceBlockEntity.add(map, (ItemLike) Blocks.MANGROVE_ROOTS, 300);
-        return map;
+        // Paper start - cache burn durations
+        cachedBurnDurations = com.google.common.collect.ImmutableMap.copyOf(map);
+        return cachedBurnDurations;
+        // Paper end - cache burn durations
     }
 
     // CraftBukkit start - add fields and methods