From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 23 Jul 2019 10:07:16 -0500 Subject: [PATCH] Purpur: Lagging threshold Original license: MIT Original project: https://github.com/PurpurMC/Purpur diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java index ef9511d74a185c800e106c1192bbb8162f037326..9fe91c7d5949fcd1c764e79fa937f62a5a2ee23b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -408,6 +408,7 @@ public abstract class MinecraftServer extends MinecraftServerBlockableEventLoop public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; public final GaleConfigurations galeConfigurations; // Gale - Gale configuration public static long currentTickLong = 0L; // Paper + public boolean lagging = false; // Purpur public volatile Thread shutdownThread; // Paper public volatile boolean abnormalExit = false; // Paper @@ -1273,6 +1274,7 @@ public abstract class MinecraftServer extends MinecraftServerBlockableEventLoop this.recentTps[1] = tps5.getAverage(); this.recentTps[2] = tps15.getAverage(); // Paper end + lagging = recentTps[0] < org.dreeam.leaf.LeafConfig.laggingThreshold; // Purpur tickSection = curTime; } // Spigot end diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 822aad8bacc80fadd8b9ec1dfa48cd45126896b5..9dd50870384e1a8bc12a94099a357c6227aa0c3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2982,4 +2982,10 @@ public final class CraftServer implements Server { } // Gale end - YAPFA - last tick time - API + // Purpur start + @Override + public boolean isLagging() { + return getServer().lagging; + } + // Purpur end } diff --git a/src/main/java/org/dreeam/leaf/LeafConfig.java b/src/main/java/org/dreeam/leaf/LeafConfig.java index b9ade5d89b8dd48b075338e0f61c54aee5fa72ae..d16699e35a17b78364f7d47d69cbeb4ab76c00a1 100644 --- a/src/main/java/org/dreeam/leaf/LeafConfig.java +++ b/src/main/java/org/dreeam/leaf/LeafConfig.java @@ -183,6 +183,11 @@ public class LeafConfig { maxUseItemDistance = getDouble("max-UseItem-distance", maxUseItemDistance, "The max distance of UseItem for players"); } + public static double laggingThreshold = 19.0D; + private static void performance() { + laggingThreshold = getDouble("performance.lagging-threshold", laggingThreshold); + } + public static String commandTPSBarOutput = "Tpsbar toggled for "; public static String commandTPSBarTitle = "TPS: MSPT: Ping: ms"; public static BossBar.Overlay commandTPSBarProgressOverlay = BossBar.Overlay.NOTCHED_20;