mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-29 22:13:42 +01:00
e4d10a6d67
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: 122289ff Add FaceAttachable interface to handle Grindstone facing in common with Switches a6db750e SPIGOT-5647: ZombieVillager entity should have getVillagerType() CraftBukkit Changes:bbe3d58e
SPIGOT-5650: Lectern.setPage(int) causes a NullPointerException3075579f
Add FaceAttachable interface to handle Grindstone facing in common with Switches95bd4238
SPIGOT-5647: ZombieVillager entity should have getVillagerType()4d975ac3
SPIGOT-5617: setBlockData does not work when NotPlayEvent is called by redstone current
37 lines
1.9 KiB
Diff
37 lines
1.9 KiB
Diff
From 5b5eae01e944b6381ce8b0b2e1171b8db52d21d0 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 ec257ba31f..349a0ea213 100644
|
|
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
|
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
|
@@ -44,7 +44,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
|
|
|
private static final Logger LOGGER = LogManager.getLogger();
|
|
private static final Pattern i = 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<ServerCommand>(); // Paper - use a proper queue
|
|
private RemoteStatusListener remoteStatusListener;
|
|
public final RemoteControlCommandListener remoteControlCommandListener;
|
|
private RemoteControlListener remoteControlListener;
|
|
@@ -454,8 +454,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);
|
|
--
|
|
2.25.1
|
|
|