SPIGOT-4248: Fix accuracy of /tps

This commit is contained in:
md_5 2018-08-09 21:02:45 +10:00
parent 1503de9ce3
commit 417cfb3603
5 changed files with 18 additions and 20 deletions

View file

@ -1,4 +1,4 @@
From 5e63d04d83d9a5781c43cf47de4fc4758e8a7b2d Mon Sep 17 00:00:00 2001
From 1de9d86686ad5afdf1aa81a3f11b1915139026e9 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 15 May 2017 15:16:15 +1000
Subject: [PATCH] Skeleton API Implementations
@ -37,10 +37,10 @@ index 4daee3b0..8fb0c750 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index f18dff83..3bdb0b23 100644
index ecfdecaa..040d74a4 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1439,6 +1439,14 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1443,6 +1443,14 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data);

View file

@ -1,14 +1,14 @@
From f55070b493b564582e5db9553d2f414e76b1c966 Mon Sep 17 00:00:00 2001
From e4f2cc0cd3e1b46c0c26ab186fe21ab204e83580 Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Sun, 23 Feb 2014 16:16:29 -0400
Subject: [PATCH] Silenceable Lightning API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 3bdb0b23..91ad39a8 100644
index 040d74a4..b92ef757 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1443,6 +1443,29 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1447,6 +1447,29 @@ public interface World extends PluginMessageRecipient, Metadatable {
public class Spigot
{

View file

@ -1,4 +1,4 @@
From 422ba648571f6efce0452faa8910128fd8f79569 Mon Sep 17 00:00:00 2001
From e045e75cc544f2ebe6962ee3c6aa45771ab7c1a6 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 2 Jun 2013 15:10:56 +1000
Subject: [PATCH] Skeleton API Implementations
@ -180,10 +180,10 @@ index c8654c68f..0c1bca2bd 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index 6623ae127..9b8f0627e 100644
index e0f28caa9..b304ae483 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -966,4 +966,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
@@ -968,4 +968,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
return HANDLED_TAGS;
}
}

View file

@ -1,11 +1,11 @@
From b3344d333e3b6f55ad1c7045b990ec02beb5a17b Mon Sep 17 00:00:00 2001
From 46f09be2feebb4b8ee3eed4d40e7d53ebeb73aae Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Thu, 26 Jan 2017 21:50:51 +0000
Subject: [PATCH] Highly Optimized Tick Loop
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7aa788871..540079fcb 100644
index e73f29ffd..17554e149 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -147,6 +147,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@ -35,13 +35,13 @@ index 7aa788871..540079fcb 100644
public void run() {
try {
if (this.init()) {
@@ -668,28 +681,36 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -668,26 +681,34 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.n.setServerInfo(new ServerPing.ServerData("1.13", 393));
this.a(this.n);
+ // Spigot start
+ Arrays.fill( recentTps, 20 );
+ long lastTick = System.nanoTime(), catchupTime = 0, curTime, wait, tickSection = lastTick;
+ long lastTick = System.nanoTime(), catchupTime = 0, curTime, wait, tickSection = lastTick, tickCount = 1;
while (this.isRunning) {
- long i = SystemUtils.b() - this.aa;
-
@ -61,7 +61,7 @@ index 7aa788871..540079fcb 100644
- MinecraftServer.LOGGER.warn("Can\'t keep up! Is the server overloaded? Running {}ms or {} ticks behind", Long.valueOf(i), Long.valueOf(j));
- this.aa += j * 50L;
- this.Q = this.aa;
+ if ( MinecraftServer.currentTick++ % SAMPLE_INTERVAL == 0 )
+ if ( tickCount++ % SAMPLE_INTERVAL == 0 )
+ {
+ double currentTps = 1E9 / ( curTime - tickSection ) * SAMPLE_INTERVAL;
+ recentTps[0] = calcTps( recentTps[0], 0.92, currentTps ); // 1/exp(5sec/1min)
@ -79,12 +79,10 @@ index 7aa788871..540079fcb 100644
- Thread.sleep(1L);
- }
-
+ // Spigot end
this.P = true;
}
+ // Spigot end
} else {
this.a((CrashReport) null);
}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index dde542b95..9d43b080e 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java

View file

@ -1,14 +1,14 @@
From a7751233a43af41736aca18423b1e021c28de65e Mon Sep 17 00:00:00 2001
From 2a4693deef6a87d6fcb00f92c2cfd9510811e56e Mon Sep 17 00:00:00 2001
From: libraryaddict <redwarfare@live.com>
Date: Fri, 22 Aug 2014 05:35:16 -0400
Subject: [PATCH] Added isUnbreakable and setUnbreakable to ItemMeta
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index fd2ba3069..b2190b01d 100644
index e76bf7d8e..1fe5ddcd5 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -1100,6 +1100,17 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
@@ -1102,6 +1102,17 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
// Spigot start
private final Spigot spigot = new Spigot()
{