mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-29 19:52:55 +01:00
c97ce029e9
PaperMC believes that 1.16.2 is now ready for general release as we fixed the main issue plagueing the 1.16.x release, the MapLike data conversion issues. Until now, it was not safe for a server to convert a world to 1.16.2 without data conversion issues around villages and potentially other things. If you did, those MapLike errors meant something went wrong. This is now resolved. Big thanks to all those that helped, notably @BillyGalbreath and @Proximyst who did large parts of the update process with me. Please as always, backup your worlds and test before updating to 1.16.2! If you update to 1.16.2, there is no going back to an older build than this. --------------------------------- Co-authored-by: William Blake Galbreath <Blake.Galbreath@GMail.com> Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com> Co-authored-by: krolik-exe <69214078+krolik-exe@users.noreply.github.com> Co-authored-by: BillyGalbreath <BillyGalbreath@users.noreply.github.com> Co-authored-by: stonar96 <minecraft.stonar96@gmail.com> Co-authored-by: Shane Freeder <theboyetronic@gmail.com> Co-authored-by: Jason <jasonpenilla2@me.com> Co-authored-by: kashike <kashike@vq.lc> Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com> Co-authored-by: KennyTV <kennytv@t-online.de> Co-authored-by: commandblockguy <commandblockguy1@gmail.com> Co-authored-by: DigitalRegent <misterwener@gmail.com> Co-authored-by: ishland <ishlandmc@yeah.net>
33 lines
1.9 KiB
Diff
33 lines
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sun, 12 Aug 2018 02:33:39 -0400
|
|
Subject: [PATCH] Use a Queue for Queueing Commands
|
|
|
|
Lists are bad as Queues mmmkay.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
|
index ea7f7f4a97ed5e1b878ec6ba2976bafbeb063df2..b197aa44307aca7f0385ae9d2f5622e72bbffc0f 100644
|
|
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
|
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
|
@@ -38,7 +38,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
|
|
|
private static final Logger LOGGER = LogManager.getLogger();
|
|
private static final Pattern k = Pattern.compile("^[a-fA-F0-9]{40}$");
|
|
- private final List<ServerCommand> serverCommandQueue = Collections.synchronizedList(Lists.newArrayList());
|
|
+ private final java.util.Queue<ServerCommand> serverCommandQueue = new java.util.concurrent.ConcurrentLinkedQueue<>(); // Paper - use a proper queue
|
|
private RemoteStatusListener remoteStatusListener;
|
|
public final RemoteControlCommandListener remoteControlCommandListener;
|
|
private RemoteControlListener remoteControlListener;
|
|
@@ -393,8 +393,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
|
|
|
public void handleCommandQueue() {
|
|
MinecraftTimings.serverCommandTimer.startTiming(); // Spigot
|
|
- while (!this.serverCommandQueue.isEmpty()) {
|
|
- ServerCommand servercommand = (ServerCommand) this.serverCommandQueue.remove(0);
|
|
+ // Paper start - use proper queue
|
|
+ ServerCommand servercommand;
|
|
+ while ((servercommand = this.serverCommandQueue.poll()) != null) {
|
|
+ // Paper end
|
|
|
|
// CraftBukkit start - ServerCommand for preprocessing
|
|
ServerCommandEvent event = new ServerCommandEvent(console, servercommand.command);
|