Paper/Spigot-Server-Patches/0098-remove-null-possibility-for-getServer-singleton.patch
Shane Freeder 48b6bfe2a6
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
c987938a SPIGOT-5180: Add Villager#sleep() and #wakeup() methods

CraftBukkit Changes:
7f33c6a2 SPIGOT-5196: Restore previous version behaviour regarding cancelled BlockBreakEvent
6a5fc902 Improve diff in EntityHanging
c98d61bf SPIGOT-4712: Allow spawning of upwards or downwards facing item frames
db971477 SPIGOT-5199: Fix NPE if setting the book of the ItemMeta of a lectern
b0ef3996 SPIGOT-4679 Fix black lines after book paragraphs
1215188f SPIGOT-5180: Add Villager#sleep() and #wakeup() methods
c03b2bef SPIGOT-4975: NPE on WorldGenStronghold When Using Multiple Worlds
65ea162c Ensure Bukkit data pack is always up to date
0b107b8d MC-157395, SPIGOT-5193: Small armor stands do not drop loot
6da0abca SPIGOT-5195: Player loot table does not drop when keepInventory is on
8b09d983 SPIGOT-5190: Superfluous EntityCombustEvent called when using fire aspect sword

Spigot Changes:
1981d553 SPIGOT-5198: Catch more bad async operations
6a14ca46 Rebuild patches
2019-07-23 20:17:32 +01:00

40 lines
2.2 KiB
Diff

From 5e758106631ef6319880888cf38ead080a7de9d9 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 28 Apr 2016 00:57:27 -0400
Subject: [PATCH] remove null possibility for getServer singleton
to stop IDE complaining about potential NPE
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 57db59671..9562fde4c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -68,6 +68,7 @@ import org.spigotmc.SlackActivityAccountant; // Spigot
public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTask> implements IMojangStatistics, ICommandListener, AutoCloseable, Runnable {
+ private static MinecraftServer SERVER; // Paper
public static final Logger LOGGER = LogManager.getLogger();
public static final File b = new File("usercache.json");
private static final CompletableFuture<Unit> i = CompletableFuture.completedFuture(Unit.INSTANCE);
@@ -175,6 +176,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public MinecraftServer(OptionSet options, Proxy proxy, DataFixer datafixer, CommandDispatcher commanddispatcher, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache, WorldLoadListenerFactory worldloadlistenerfactory, String s) {
super("Server");
this.ae = new ResourceManager(EnumResourcePackType.SERVER_DATA, this.serverThread);
+ SERVER = this; // Paper - better singleton
this.resourcePackRepository = new ResourcePackRepository<>(ResourcePackLoader::new);
this.ai = new CraftingManager();
this.aj = new TagRegistry();
@@ -2117,7 +2119,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@Deprecated
public static MinecraftServer getServer() {
- return (Bukkit.getServer() instanceof CraftServer) ? ((CraftServer) Bukkit.getServer()).getServer() : null;
+ return SERVER; // Paper
}
// CraftBukkit end
}
--
2.22.0