mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-02 17:32:03 +01:00
6fe45a6b09
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 4db9e3dc Add API to locate structures CraftBukkit Changes:65bb2d0f
Increase expiration time to 10 days88a5346f
Add API to locate structures. Spigot Changes: 68acb93f Rebuild patches
43 lines
No EOL
1.6 KiB
Diff
43 lines
No EOL
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sat, 7 Jan 2017 15:24:46 -0500
|
|
Subject: [PATCH] Provide E/TE/Chunk count stat methods
|
|
|
|
Provides counts without the ineffeciency of using .getEntities().size()
|
|
which creates copy of the collections.
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
index 8421c397a..f39482696 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
@@ -0,0 +0,0 @@ public class CraftWorld implements World {
|
|
private int chunkLoadCount = 0;
|
|
private int chunkGCTickCount;
|
|
|
|
+ // Paper start - Provide fast information methods
|
|
+ public int getEntityCount() {
|
|
+ return world.entityList.size();
|
|
+ }
|
|
+ public int getTileEntityCount() {
|
|
+ // We don't use the full world tile entity list, so we must iterate chunks
|
|
+ int size = 0;
|
|
+ for (net.minecraft.server.Chunk chunk : ((ChunkProviderServer) world.getChunkProvider()).chunks.values()) {
|
|
+ size += chunk.tileEntities.size();
|
|
+ }
|
|
+ return size;
|
|
+ }
|
|
+ public int getTickableTileEntityCount() {
|
|
+ return world.tileEntityListTick.size();
|
|
+ }
|
|
+ public int getChunkCount() {
|
|
+ return world.getChunkProviderServer().chunks.size();
|
|
+ }
|
|
+ public int getPlayerCount() {
|
|
+ return world.players.size();
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
private static final Random rand = new Random();
|
|
|
|
public CraftWorld(WorldServer world, ChunkGenerator gen, Environment env) {
|
|
--
|