Files
MiraiMC/patches/server/0014-Patina-Remove-TickTask.patch
2021-10-11 22:08:41 +02:00

103 lines
4.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: foss-mc <69294560+foss-mc@users.noreply.github.com>
Date: Thu, 1 Jul 2021 11:59:11 +0000
Subject: [PATCH] (Patina) Remove TickTask
Original code by PatinaMC, licensed under GNU General Public License v3.0
You can find the original code on https://github.com/PatinaMC/Patina
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 48ed4ba0c4eef10e32206a066e4a22e8998449c7..c2ef14a223b9e4414c0e1a34b507a99378ddca21 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -189,7 +189,7 @@ import org.bukkit.event.server.ServerLoadEvent;
import co.aikar.timings.MinecraftTimings; // Paper
import org.spigotmc.SlackActivityAccountant; // Spigot
-public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTask> implements CommandSource, AutoCloseable { // SnooperPopulator, // Patina - completely remove snooper
+public abstract class MinecraftServer extends ReentrantBlockableEventLoop<Runnable> implements CommandSource, AutoCloseable { // SnooperPopulator, // Patina - completely remove snooper
private static MinecraftServer SERVER; // Paper
public static final Logger LOGGER = LogManager.getLogger();
@@ -1374,19 +1374,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
@Override
- public TickTask wrapRunnable(Runnable runnable) {
+ public Runnable wrapRunnable(Runnable runnable) { // Patina
// Paper start - anything that does try to post to main during watchdog crash, run on watchdog
if (this.hasStopped && Thread.currentThread().equals(shutdownThread)) {
runnable.run();
runnable = () -> {};
}
// Paper end
- return new TickTask(this.tickCount, runnable);
+ return runnable; // Patina
}
- protected boolean shouldRun(TickTask ticktask) {
+ /* // Patina
+ protected boolean shouldRun(TickTask ticktask) {
return ticktask.getTick() + 3 < this.tickCount || this.haveTime();
}
+ */
@Override
public boolean pollTask() {
@@ -1417,10 +1419,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
- public void doRunTask(TickTask ticktask) {
+ /* // Patina
+ public void doRunTask(TickTask ticktask) {
this.getProfiler().incrementCounter("runTask");
super.doRunTask(ticktask);
}
+ */
private void updateStatusIcon(ServerStatus metadata) {
Optional<File> optional = Optional.of(this.getFile("server-icon.png")).filter(File::isFile);
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 35f27e9a7c82eaec5b4a1a71696dac8485b2cd6d..14cf1956ef31f49684195292bed2d8916231a514 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -1213,10 +1213,12 @@ public class ServerChunkCache extends ChunkSource {
return runnable;
}
- @Override
+ /* // Patina
+ @Override
protected boolean shouldRun(Runnable task) {
return true;
}
+ */
@Override
protected boolean scheduleExecutables() {
diff --git a/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java b/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java
index dcce05d2f4ab16424db4ab103a12188e207a457b..b289488636dbaf1d97d03cec67f5dcf4f227f4d4 100644
--- a/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java
+++ b/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java
@@ -29,7 +29,9 @@ public abstract class BlockableEventLoop<R extends Runnable> implements Profiler
protected abstract R wrapRunnable(Runnable runnable);
- protected abstract boolean shouldRun(R task);
+ /* // Patina
+ protected abstract boolean shouldRun(R task);
+ */
public boolean isSameThread() {
return Thread.currentThread() == this.getRunningThread();
@@ -116,7 +118,7 @@ public abstract class BlockableEventLoop<R extends Runnable> implements Profiler
R runnable = this.pendingRunnables.peek();
if (runnable == null) {
return false;
- } else if (this.blockingCount == 0 && !this.shouldRun(runnable)) {
+ } else if (this.blockingCount == 0 && !true/*this.shouldRun(runnable)*/) { // Patina
return false;
} else {
this.doRunTask(this.pendingRunnables.remove());