aboutsummaryrefslogtreecommitdiff
path: root/spark-bukkit
diff options
context:
space:
mode:
Diffstat (limited to 'spark-bukkit')
-rw-r--r--spark-bukkit/build.gradle3
-rw-r--r--spark-bukkit/src/main/java/me/lucko/spark/bukkit/BukkitWorldInfoProvider.java15
2 files changed, 15 insertions, 3 deletions
diff --git a/spark-bukkit/build.gradle b/spark-bukkit/build.gradle
index 92b65cc..4c33dfc 100644
--- a/spark-bukkit/build.gradle
+++ b/spark-bukkit/build.gradle
@@ -15,7 +15,7 @@ dependencies {
}
repositories {
- maven { url 'https://papermc.io/repo/repository/maven-public/' }
+ maven { url "https://repo.papermc.io/repository/maven-public/" }
}
processResources {
@@ -37,6 +37,7 @@ shadowJar {
relocate 'com.google.protobuf', 'me.lucko.spark.lib.protobuf'
relocate 'org.objectweb.asm', 'me.lucko.spark.lib.asm'
relocate 'one.profiler', 'me.lucko.spark.lib.asyncprofiler'
+ relocate 'me.lucko.bytesocks.client', 'me.lucko.spark.lib.bytesocks'
exclude 'module-info.class'
exclude 'META-INF/maven/**'
diff --git a/spark-bukkit/src/main/java/me/lucko/spark/bukkit/BukkitWorldInfoProvider.java b/spark-bukkit/src/main/java/me/lucko/spark/bukkit/BukkitWorldInfoProvider.java
index 8f876cf..babb0bc 100644
--- a/spark-bukkit/src/main/java/me/lucko/spark/bukkit/BukkitWorldInfoProvider.java
+++ b/spark-bukkit/src/main/java/me/lucko/spark/bukkit/BukkitWorldInfoProvider.java
@@ -27,6 +27,7 @@ import me.lucko.spark.common.platform.world.WorldInfoProvider;
import org.bukkit.Chunk;
import org.bukkit.Server;
import org.bukkit.World;
+import org.bukkit.block.BlockState;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
@@ -69,11 +70,21 @@ public class BukkitWorldInfoProvider implements WorldInfoProvider {
chunks += world.getChunkCount();
} else {
entities += world.getEntities().size();
+
Chunk[] chunksArray = world.getLoadedChunks();
+ int nullChunks = 0;
+
for (Chunk chunk : chunksArray) {
- tileEntities += chunk.getTileEntities().length;
+ if (chunk == null) {
+ ++nullChunks;
+ continue;
+ }
+
+ BlockState[] tileEntitiesArray = chunk.getTileEntities();
+ tileEntities += tileEntitiesArray != null ? tileEntitiesArray.length : 0;
}
- chunks += chunksArray.length;
+
+ chunks += chunksArray.length - nullChunks;
}
}