mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-11-13 22:25:45 +01:00
cc91a8080f
* Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 8a29f5894 [Auto] Updated Upstream (Bukkit/CraftBukkit) 8756d232c Expose server protocol version (#5416) * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 32b4d52 Updated Upstream (Paper) ac5adca Make sure lit is set for pre 1.14 chunks Purpur Changes: 24d9e61 Piglin portal spawn modifier 5866f36 Fix #263 - NPE on TPSBar when player disconnects 7f7f024 Updated Upstream (Paper, Tuinity, & Airplane) * bump kotlin-stdlib * Updated Upstream and Sidestream(s) (Paper/Airplane/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 606cdac60 Update the view distance before scheduling chunk loads (#5269) Airplane Changes: 0789789 Updated Upstream (Tuinity) c1e4d71 Fluid cache patch Purpur Changes: 04f73c5 Fix error when using non living entity on monster egg 76c35fc Fix #287 - TPSBarTask NPE (again) * Updated Upstream and Sidestream(s) (Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Purpur Changes: 2e62618 Fix #280 - Ridables do not reset idle timer
56 lines
2.9 KiB
Diff
56 lines
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Mykyta Komarnytskyy <nkomarn@hotmail.com>
|
|
Date: Sat, 24 Oct 2020 21:03:53 -0500
|
|
Subject: [PATCH] Smarter statistics ticking
|
|
|
|
In vanilla, statistics that count time spent for an action (i.e. time played or sneak time) are incremented every tick. This is retarded. With this patch and a configured interval of 20, the statistics are only ticked every 20th tick and are incremented by 20 ticks at a time. This means a lot less ticking with the same accurate counting.
|
|
|
|
With an interval of 20, this patch saves roughly 3ms per tick on a server w/ 80 players online.
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
|
index 8c8716c94d813fc6de0ec2f7e8080c339e821207..6034d51d8133fa8a1c18edcf61c9377b413e7c37 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
|
@@ -275,18 +275,23 @@ public abstract class EntityHuman extends EntityLiving {
|
|
this.p();
|
|
if (!this.world.isClientSide) {
|
|
this.foodData.a(this);
|
|
- this.a(StatisticList.PLAY_ONE_MINUTE);
|
|
+ // Yatopia start
|
|
+ int interval = org.yatopiamc.yatopia.server.YatopiaConfig.playerTimeStatisticsInterval;
|
|
+ if (ticksLived % interval == 0) {
|
|
+ this.a(StatisticList.PLAY_ONE_MINUTE, interval);
|
|
+ // Yatopia end
|
|
if (this.isAlive()) {
|
|
- this.a(StatisticList.TIME_SINCE_DEATH);
|
|
+ this.a(StatisticList.TIME_SINCE_DEATH, interval); // Yatopia
|
|
}
|
|
|
|
if (this.bx()) {
|
|
- this.a(StatisticList.SNEAK_TIME);
|
|
+ this.a(StatisticList.SNEAK_TIME, interval); // Yatopia
|
|
}
|
|
|
|
if (!this.isSleeping()) {
|
|
- this.a(StatisticList.TIME_SINCE_REST);
|
|
+ this.a(StatisticList.TIME_SINCE_REST, interval); // Yatopia
|
|
}
|
|
+ } // Yatopia
|
|
}
|
|
|
|
int i = 29999999;
|
|
diff --git a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
|
index 81ab5afa7bd397266d2afe77426d2e629529aa1a..045ace1444b4db8fa5fab09f970de7a696c56ab8 100644
|
|
--- a/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
|
+++ b/src/main/java/org/yatopiamc/yatopia/server/YatopiaConfig.java
|
|
@@ -230,4 +230,9 @@ public class YatopiaConfig {
|
|
checkFlying = getBoolean("settings.checks.flight", checkFlying);
|
|
checkVehicleFlying = getBoolean("settings.checks.vehicle-flight", checkVehicleFlying);
|
|
}
|
|
+
|
|
+ public static int playerTimeStatisticsInterval = 1;
|
|
+ private static void intervals() {
|
|
+ playerTimeStatisticsInterval = Math.max(1, getInt("settings.intervals.player-time-statistics", 1));
|
|
+ }
|
|
}
|