don't use a stream for entity counts (performance)

This commit is contained in:
Aikar
2018-07-10 01:06:09 -04:00
parent 5ef91b3293
commit 8981806621

View File

@@ -14,7 +14,7 @@ Specially with servers using smaller mob spawn ranges than view distance, as wel
This patch returns mob counting to use all loaded chunks, and 17x17 division. This patch returns mob counting to use all loaded chunks, and 17x17 division.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 6b13e1d7d..1e78fc625 100644 index e07ef14ed..aca1457b0 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -0,0 +0,0 @@ public class Chunk { @@ -0,0 +0,0 @@ public class Chunk {
@@ -27,7 +27,7 @@ index 6b13e1d7d..1e78fc625 100644
if (entity instanceof EntityItem) { if (entity instanceof EntityItem) {
itemCounts[i]--; itemCounts[i]--;
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 45a83ae99..2cd063829 100644 index 45a83ae99..ed22607d9 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java --- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -0,0 +0,0 @@ public final class SpawnerCreature { @@ -0,0 +0,0 @@ public final class SpawnerCreature {
@@ -36,11 +36,11 @@ index 45a83ae99..2cd063829 100644
{ {
+ // Paper start - use entire world, not just active chunks. Spigot broke vanilla expectations. + // Paper start - use entire world, not just active chunks. Spigot broke vanilla expectations.
+ if (true) { + if (true) {
+ return server + int sum = 0;
+ .getChunkProviderServer() + for (Chunk c : server.getChunkProviderServer().chunks.values()) {
+ .chunks.values() + sum += c.entityCount.get(oClass);
+ .stream() + }
+ .collect(java.util.stream.Collectors.summingInt(c -> c.entityCount.get(oClass))); + return sum;
+ } + }
+ // Paper end + // Paper end
int i = 0; int i = 0;