From 34c794dc51305e50c315e07e555a4ba10c208357 Mon Sep 17 00:00:00 2001 From: Shane Bee Date: Sat, 8 Mar 2025 14:09:40 -0800 Subject: [PATCH] ServerTickManager#requestGameToSprint - Silence command like feedback (#12220) * CraftServerTickManager - silence feedback when sprinting * CraftServerTickManager - forgot secondary note * ServerTickRateManager - only set to silent if not already sprinting --- .../server/ServerTickRateManager.java.patch | 36 +++++++++++++++++++ .../craftbukkit/CraftServerTickManager.java | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 paper-server/patches/sources/net/minecraft/server/ServerTickRateManager.java.patch diff --git a/paper-server/patches/sources/net/minecraft/server/ServerTickRateManager.java.patch b/paper-server/patches/sources/net/minecraft/server/ServerTickRateManager.java.patch new file mode 100644 index 000000000..9258d5414 --- /dev/null +++ b/paper-server/patches/sources/net/minecraft/server/ServerTickRateManager.java.patch @@ -0,0 +1,36 @@ +--- a/net/minecraft/server/ServerTickRateManager.java ++++ b/net/minecraft/server/ServerTickRateManager.java +@@ -14,6 +_,7 @@ + private long scheduledCurrentSprintTicks = 0L; + private boolean previousIsFrozen = false; + private final MinecraftServer server; ++ private boolean silent; // Paper - silence feedback when API requests sprint + + public ServerTickRateManager(MinecraftServer server) { + this.server = server; +@@ -67,6 +_,13 @@ + } + + public boolean requestGameToSprint(int sprintTime) { ++ // Paper start - silence feedback when API requests sprint ++ return requestGameToSprint(sprintTime, false); ++ } ++ ++ public boolean requestGameToSprint(int sprintTime, boolean silent) { ++ if (!isSprinting()) this.silent = silent; ++ // Paper end - silence feedback when API requests sprint + boolean flag = this.remainingSprintTicks > 0L; + this.sprintTimeSpend = 0L; + this.scheduledCurrentSprintTicks = sprintTime; +@@ -83,7 +_,10 @@ + String string = String.format("%.2f", l == 0L ? this.millisecondsPerTick() : d / l); + this.scheduledCurrentSprintTicks = 0L; + this.sprintTimeSpend = 0L; +- this.server.createCommandSourceStack().sendSuccess(() -> Component.translatable("commands.tick.sprint.report", i, string), true); ++ // Paper start - silence feedback when API requests sprint ++ if (!this.silent) this.server.createCommandSourceStack().sendSuccess(() -> Component.translatable("commands.tick.sprint.report", i, string), true); ++ this.silent = false; ++ // Paper end - silence feedback when API requests sprint + this.remainingSprintTicks = 0L; + this.setFrozen(this.previousIsFrozen); + this.server.onTickRateChanged(); diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServerTickManager.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServerTickManager.java index cdc55d070..f14759011 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServerTickManager.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftServerTickManager.java @@ -72,7 +72,7 @@ final class CraftServerTickManager implements ServerTickManager { @Override public boolean requestGameToSprint(final int ticks) { - return this.manager.requestGameToSprint(ticks); + return this.manager.requestGameToSprint(ticks, true); } @Override