60 lines
3.0 KiB
Diff
60 lines
3.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Cryptite <cryptite@gmail.com>
|
|
Date: Sat, 2 Apr 2022 17:38:32 -0500
|
|
Subject: [PATCH] Debug sync chunk loads
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
|
|
index d0c55497040158d959693ef2ddf3ff03bd6df05f..5925feafad214333529bace2178f233f589e1a6e 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
|
|
@@ -70,7 +70,7 @@ import java.util.stream.Collectors;
|
|
|
|
public class PaperCommand extends Command {
|
|
private static final String BASE_PERM = "bukkit.command.paper.";
|
|
- private static final ImmutableSet<String> SUBCOMMANDS = ImmutableSet.<String>builder().add("heap", "entity", "reload", "version", "debug", "chunkinfo", "fixlight", "syncloadinfo", "dumpitem", "mobcaps", "playermobcaps").build();
|
|
+ private static final ImmutableSet<String> SUBCOMMANDS = ImmutableSet.<String>builder().add("heap", "entity", "reload", "version", "debug", "chunkinfo", "fixlight", "syncloadinfo", "dumpitem", "mobcaps", "playermobcaps", "debugsyncload").build(); // Slice
|
|
|
|
public PaperCommand(String name) {
|
|
super(name);
|
|
@@ -203,6 +203,12 @@ public class PaperCommand extends Command {
|
|
case "syncloadinfo":
|
|
this.doSyncLoadInfo(sender, args);
|
|
break;
|
|
+ // Slice start
|
|
+ case "debugsyncload":
|
|
+ SyncLoadFinder.DEBUG = !SyncLoadFinder.DEBUG;
|
|
+ MinecraftServer.LOGGER.info("Debugging sync chunk loads now " + (SyncLoadFinder.DEBUG ? "ON" : "OFF"));
|
|
+ break;
|
|
+ // Slice end
|
|
case "mobcaps":
|
|
this.printMobcaps(sender, args);
|
|
break;
|
|
diff --git a/src/main/java/com/destroystokyo/paper/io/SyncLoadFinder.java b/src/main/java/com/destroystokyo/paper/io/SyncLoadFinder.java
|
|
index d3e619655382e50e9ac9323ed942502d85c9599c..a0c4db2a78895a3e76dea755c157eccabdbf04f8 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/io/SyncLoadFinder.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/io/SyncLoadFinder.java
|
|
@@ -17,6 +17,8 @@ public class SyncLoadFinder {
|
|
|
|
public static final boolean ENABLED = Boolean.getBoolean("paper.debug-sync-loads");
|
|
|
|
+ public static boolean DEBUG = ENABLED; // Slice
|
|
+
|
|
private static final WeakHashMap<Level, Object2ObjectOpenHashMap<ThrowableWithEquals, SyncLoadInformation>> SYNC_LOADS = new WeakHashMap<>();
|
|
|
|
private static final class SyncLoadInformation {
|
|
@@ -31,6 +33,13 @@ public class SyncLoadFinder {
|
|
}
|
|
|
|
public static void logSyncLoad(final Level world, final int chunkX, final int chunkZ) {
|
|
+ // Slice start
|
|
+ if (DEBUG) {
|
|
+ org.bukkit.Bukkit.getServer().getLogger().log(java.util.logging.Level.WARNING, "Sync chunk load at " + world.getWorld().getName() + " (" + chunkX + "," + chunkZ + ")");
|
|
+ Thread.dumpStack();
|
|
+ }
|
|
+ // Slice end
|
|
+
|
|
if (!ENABLED) {
|
|
return;
|
|
}
|