![Zach Brown](/assets/img/avatar_default.png)
This makes it easier for downstream projects (forks) to replace the version fetching system with their own. It is as simple as implementing an interface and overriding the default implementation of org.bukkit.UnsafeValues#getVersionFetcher() It also makes it easier for us to organize things like the version history feature. Lastly I have updated the paper implementation to check against the site API rather than against jenkins.
46 lines
2.2 KiB
Diff
46 lines
2.2 KiB
Diff
From 534281ebb98cd82d59750beeff481f2f2376cc19 Mon Sep 17 00:00:00 2001
|
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
|
Date: Mon, 13 May 2019 21:10:59 -0700
|
|
Subject: [PATCH] Fix CraftServer#isPrimaryThread and MinecraftServer
|
|
isMainThread
|
|
|
|
md_5 changed it so he could shut down the server asynchronously
|
|
from watchdog, although we have patches that prevent that type
|
|
of behavior for this exact reason.
|
|
|
|
md_5 also placed code in PlayerConnectionUtils that would have
|
|
solved https://bugs.mojang.com/browse/MC-142590, making the change
|
|
to MinecraftServer#isMainThread irrelevant.
|
|
By reverting his change to MinecraftServer#isMainThread packet
|
|
handling that should have been handled synchronously will be handled
|
|
synchronously when the server gets shut down.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
index ba68d7f83..f1cd38d42 100644
|
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
@@ -1936,7 +1936,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
|
// CraftBukkit start
|
|
@Override
|
|
public boolean isMainThread() {
|
|
- return super.isMainThread() || this.isStopped(); // CraftBukkit - MC-142590
|
|
+ return super.isMainThread() /*|| this.isStopped()*/; // CraftBukkit - MC-142590 // Paper - causes issues elsewhere
|
|
}
|
|
|
|
@Deprecated
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
index 88b416f60..62cfb6e42 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -1658,7 +1658,7 @@ public final class CraftServer implements Server {
|
|
|
|
@Override
|
|
public boolean isPrimaryThread() {
|
|
- return Thread.currentThread().equals(console.serverThread) || console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog)
|
|
+ return Thread.currentThread().equals(console.serverThread); // Paper - Fix issues with detecting main thread properly
|
|
}
|
|
|
|
@Override
|
|
--
|
|
2.21.0
|
|
|