From 6656d07bd277fcd9d73c686766d2b68dc7b19634 Mon Sep 17 00:00:00 2001 From: Colin Godsey Date: Wed, 15 Aug 2018 15:07:30 -0600 Subject: [PATCH] pr changes, flat array --- .../0333-Add-entity-count-cache.patch | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Spigot-Server-Patches/0333-Add-entity-count-cache.patch b/Spigot-Server-Patches/0333-Add-entity-count-cache.patch index 25efed0a3..e671dd45a 100644 --- a/Spigot-Server-Patches/0333-Add-entity-count-cache.patch +++ b/Spigot-Server-Patches/0333-Add-entity-count-cache.patch @@ -1,4 +1,4 @@ -From 4f16c3445f22654d43ca5b2006f45fac0e17203b Mon Sep 17 00:00:00 2001 +From 7077ffc2e14e2b759174392e773d65ee8ba303a5 Mon Sep 17 00:00:00 2001 From: Colin Godsey Date: Wed, 8 Aug 2018 10:10:06 -0600 Subject: [PATCH] Add entity count cache @@ -52,7 +52,7 @@ index f525fd1b4..494759a1c 100644 if (k <= l1) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 004c3ec47..dc301c6f4 100644 +index 004c3ec47..e2d591f8f 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -11,6 +11,7 @@ import java.util.Iterator; @@ -113,23 +113,19 @@ index 004c3ec47..dc301c6f4 100644 return super.remove( o ); } -@@ -2464,6 +2497,53 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose +@@ -2464,6 +2497,49 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose return i; } + // Paper start - entity count cache -+ private Map countCache = new EnumMap(EnumCreatureType.class); ++ private final int[] countCache = new int[EnumCreatureType.values().length]; + + public int getCreatureCount(EnumCreatureType type) { -+ Integer count = countCache.get(type); -+ -+ return count == null ? 0 : count; ++ return countCache[type.ordinal()]; + } + + protected void updateEntityCount(EnumCreatureType type, boolean incr) { -+ Integer countObject = countCache.get(type); -+ -+ int count = countObject == null ? 0 : countObject; ++ int count = countCache[type.ordinal()]; + + if (incr) count++; + else count--; @@ -139,7 +135,7 @@ index 004c3ec47..dc301c6f4 100644 + count = 0; + } + -+ countCache.put(type, count); ++ countCache[type.ordinal()] = count; + } + + protected void updateEntityCount(Entity entity, boolean incr) {