mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-20 07:19:33 +00:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@a24f9b2 1.21.6 dev PaperMC/Paper@457a0a6 Bump version string and protocol version to 1.21.6 release PaperMC/Paper@245b547 Update base to 1.21.6 PaperMC/Paper@b28d77b Update Moonrise to 1.21.6 PaperMC/Paper@8318dcb Update DataConverter to 1.21.6-rc1 PaperMC/Paper@d2b1158 Set correct world access on BSL snapshots PaperMC/Paper@023e6c2 Ensure waypoints are per world PaperMC/Paper@40d5d31 Fix recursively converting JSON Text Components PaperMC/Paper@1fcc416 Implement FeatureHooks#isChunkSent for Moonrise chunk system PaperMC/Paper@e4d7178 Implement WaypointTransmitter#isChunkVisible PaperMC/Paper@8980ead Directly walk text component after converting from JSON PaperMC/Paper@5613ed6 Provide env environment variable and copy spigots sys prop for overriding default repository PaperMC/Paper@62b7f86 Avoid and discourage use of Maven Central as a CDN (#12689) PaperMC/Paper@f5534cb [ci skip] Run generators (#12691) PaperMC/Paper@4781d28 Re-add Log4j Javadocs (#12693) PaperMC/Paper@74fbcce Check type of Material in get/set stats (#12607) PaperMC/Paper@4b3f967 Improve Fix MC-44654 (#12703) PaperMC/Paper@a7dd263 Enable spigot obfuscation support (#12695) PaperMC/Paper@6a51c44 Cleanup Primed TNT Fix (#12704) PaperMC/Paper@839c6a1 Fix #11169 (#12706) PaperMC/Paper@c77d5f9 Fix MC-297591 PaperMC/Paper@219f86e Implement chunk unload delay config option PaperMC/Paper@e4eb69b Do not allow ticket level decreases to be processed asynchronously PaperMC/Paper@71b0c76 Adds support for vanilla negative explosions (#12705) PaperMC/Paper@3750927 [ci skip] Fix PermissionManager#clearPermissions() docs bad wording (#12657) PaperMC/Paper@d61a51e Add ItemType#getBurnDuration() (#12604) PaperMC/Paper@29fc853 Allow empty paths in namespaced keys (#12687) PaperMC/Paper@4419afb fix: Safely handle nanosecond overflow in ClickCallback (#12686) PaperMC/Paper@5652882 Add `isProxyEnabled` method to ServerConfiguration (#12664) PaperMC/Paper@c0dda0e Add `isForceDefaultGameMode` method (#12673) PaperMC/Paper@e714de6 Fix excess slot updates PaperMC/Paper@6d0821d [ci skip] Fix docs for Spawner class and cleanup (#12710) PaperMC/Paper@cceffe3 Release ItemType and BlockType (#12708) PaperMC/Paper@186e9e3 Relocate CommandMap#registerServerAliases() call to after lifecycle events have been run (#12601) PaperMC/Paper@5edcf6d Cleanup/command dispatching (#12713) PaperMC/Paper@803baf0 Support hidden entities in Waypoints (#12715) PaperMC/Paper@1814d8b build: publish to fill (#12717) PaperMC/Paper@e454fef Add support for private constructors in plugin main classes (#12652) PaperMC/Paper@d0e808f Move player to correct position in vehicle move packet handler PaperMC/Paper@46b4b0b Improve keepalive ping system PaperMC/Paper@38c1ddb Add and use FeatureHooks.getAllEntities PaperMC/Paper@2f083ac Ensure player entity schedulers are ticked when they are dead PaperMC/Paper@7c90c7c Optimise EntityScheduler ticking PaperMC/Paper@aa6ee44 Re-add global region scheduler tick erroneously removed in last commit PaperMC/Paper@d7510ef Fix #12722 (#12726) PaperMC/Paper@0caf75f Fix #12721 (#12725) PaperMC/Paper@bee2879 Adventure 4.23.0 (#12690) PaperMC/Paper@692e93a Fix MC-299110 PaperMC/Paper@ea10fa4 Don't mutate the position of Items for MC-4 Fix (#12702) PaperMC/Paper@aa6cd74 Remove unnecesary item check for ServerboundPlayerActionPacket RELEASE_USE_ITEM (#12668) PaperMC/Paper@c9e89f4 Expose arrow velocity in EntityShootBowEvent for mobs (#12688) PaperMC/Paper@7ec3174 Jump out of experimental phase PaperMC/Paper@4e1a255 Update try catch for command handling
56 lines
3.3 KiB
Diff
56 lines
3.3 KiB
Diff
--- a/net/minecraft/server/MinecraftServer.java
|
|
+++ b/net/minecraft/server/MinecraftServer.java
|
|
@@ -300,6 +_,7 @@
|
|
public volatile boolean abnormalExit; // Paper - Improved watchdog support
|
|
public volatile Thread shutdownThread; // Paper - Improved watchdog support
|
|
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
|
|
+ public final me.samsuik.sakura.configuration.SakuraConfigurations sakuraConfigurations; // Sakura
|
|
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
|
private final Set<String> pluginsBlockingSleep = new java.util.HashSet<>(); // Paper - API to allow/disallow tick sleeping
|
|
public static final long SERVER_INIT = System.nanoTime(); // Paper - Lag compensation
|
|
@@ -319,6 +_,17 @@
|
|
thread.start();
|
|
return minecraftServer;
|
|
}
|
|
+ // Sakura start - track tick information
|
|
+ private final me.samsuik.sakura.tps.TickInformationCollector tickInformationCollector = new me.samsuik.sakura.tps.TickInformationCollector();
|
|
+
|
|
+ public final me.samsuik.sakura.tps.ServerTickInformation latestTickInformation() {
|
|
+ return this.tickInformationCollector.latestTickInformation();
|
|
+ }
|
|
+
|
|
+ public final ImmutableList<me.samsuik.sakura.tps.ServerTickInformation> tickHistory(long from, long to) {
|
|
+ return this.tickInformationCollector.collect(from, to);
|
|
+ }
|
|
+ // Sakura end - track tick information
|
|
|
|
// Paper start - rewrite chunk system
|
|
private volatile Throwable chunkSystemCrash;
|
|
@@ -471,6 +_,10 @@
|
|
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
|
|
// CraftBukkit end
|
|
this.paperConfigurations = services.paperConfigurations(); // Paper - add paper configuration files
|
|
+ // Sakura start
|
|
+ final java.nio.file.Path sakuraConfigDirPath = ((java.io.File) options.valueOf("sakura-settings-directory")).toPath();
|
|
+ this.sakuraConfigurations = me.samsuik.sakura.configuration.SakuraConfigurations.setup(sakuraConfigDirPath);
|
|
+ // Sakura end
|
|
}
|
|
|
|
private void readScoreboard(DimensionDataStorage dataStorage) {
|
|
@@ -1222,6 +_,7 @@
|
|
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
|
|
final long diff = currentTime - tickSection;
|
|
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
|
+ this.tickInformationCollector.levelData(this.levels.values(), currentTps.doubleValue()); // Sakura - track tick information
|
|
tps1.add(currentTps, diff);
|
|
tps5.add(currentTps, diff);
|
|
tps15.add(currentTps, diff);
|
|
@@ -1259,6 +_,7 @@
|
|
// Paper end - rewrite chunk system
|
|
this.tickFrame.end();
|
|
profilerFiller.popPush("nextTickWait");
|
|
+ this.tickInformationCollector.tickDuration((System.nanoTime() - currentTime) / 1_000_000L); // Sakura - track tick information
|
|
this.mayHaveDelayedTasks = true;
|
|
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + l, this.nextTickTimeNanos);
|
|
this.startMeasuringTaskExecutionTime();
|