mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@a61d58d adjust ItemMeta to distinguish null and empty modifiers PaperMC/Paper@6c02dbc handle recent ItemMeta changes in serialization logic PaperMC/Paper@447f9a1 [ci skip] Fix paperclip PR label PaperMC/Paper@b98d20a Brigadier Command Support (#8235) PaperMC/Paper@ac554ad Updated Upstream (Bukkit/CraftBukkit) (#10691) PaperMC/Paper@711f82e Fix signed book page serialization (#10696)
This commit is contained in:
@@ -42,6 +42,30 @@ index 56b07a3306e5735816c8d89601b519cb0db6379a..604de7aed6db44c9c84d541765e57da4
|
||||
|
||||
return executedUnloadTask | canSaveChunk | canSaveEntities | canSavePOI ? new SaveStat(executedUnloadTask || canSaveChunk, canSaveEntities, canSavePOI): null;
|
||||
}
|
||||
diff --git a/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java b/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java
|
||||
index 10a113b057b0a4d27cce3bae975e1108aaa7b517..02597f890ac7f2dc12c94c283356b8309638dd17 100644
|
||||
--- a/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java
|
||||
+++ b/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java
|
||||
@@ -75,16 +75,16 @@ public class BukkitCommandNode extends LiteralCommandNode<CommandSourceStack> {
|
||||
|
||||
// Plugins do weird things to workaround normal registration
|
||||
if (this.command.timings == null) {
|
||||
- this.command.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, this.command);
|
||||
+ //this.command.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, this.command); // Purpur
|
||||
}
|
||||
|
||||
String content = context.getRange().get(context.getInput());
|
||||
String[] args = org.apache.commons.lang3.StringUtils.split(content, ' '); // fix adjacent spaces (from console/plugins) causing empty array elements
|
||||
|
||||
- try (Timing ignored = this.command.timings.startTiming()) {
|
||||
+ //try (Timing ignored = this.command.timings.startTiming()) { // Purpur
|
||||
// Note: we don't return the result of target.execute as thats success / failure, we return handled (true) or not handled (false)
|
||||
this.command.execute(sender, this.literal, Arrays.copyOfRange(args, 1, args.length));
|
||||
- }
|
||||
+ //} // Purpur
|
||||
|
||||
// return true as command was handled
|
||||
return 1;
|
||||
diff --git a/src/main/java/net/minecraft/network/protocol/PacketUtils.java b/src/main/java/net/minecraft/network/protocol/PacketUtils.java
|
||||
index 57e76b53e5e314c3e6b8856010f7a84188121582..8c134a642ccaf3530022f2e675a858d726e1dda4 100644
|
||||
--- a/src/main/java/net/minecraft/network/protocol/PacketUtils.java
|
||||
@@ -56,10 +80,10 @@ index 57e76b53e5e314c3e6b8856010f7a84188121582..8c134a642ccaf3530022f2e675a858d7
|
||||
} catch (Exception exception) {
|
||||
if (exception instanceof ReportedException) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3c8b5c572 100644
|
||||
index 7c016118b410b8c041aa4e0cc0928aa978a4b5d6..1fbbf1ff63a186099f47b9c478dead3e416099ee 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1481,7 +1481,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1483,7 +1483,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -68,7 +92,7 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
try {
|
||||
for (;;) {
|
||||
boolean moreTasks = this.tickMidTickTasks();
|
||||
@@ -1508,7 +1508,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1510,7 +1510,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
@@ -77,7 +101,7 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
}
|
||||
}
|
||||
// Paper end - execute chunk tasks mid tick
|
||||
@@ -1583,15 +1583,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1585,15 +1585,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
|
||||
public void tickServer(BooleanSupplier shouldKeepTicking) {
|
||||
@@ -96,7 +120,7 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
// Paper end
|
||||
new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper - Server Tick Events
|
||||
|
||||
@@ -1628,9 +1628,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1630,9 +1630,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// Paper end - Incremental chunk and player saving
|
||||
io.papermc.paper.util.CachedLists.reset(); // Paper
|
||||
// Paper start - move executeAll() into full server tick timing
|
||||
@@ -108,7 +132,7 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
// Paper end
|
||||
// Paper start - Server Tick Events
|
||||
long endTime = System.nanoTime();
|
||||
@@ -1653,7 +1653,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1655,7 +1655,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.logTickMethodTime(i);
|
||||
this.profiler.pop();
|
||||
org.spigotmc.WatchdogThread.tick(); // Spigot
|
||||
@@ -117,7 +141,7 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
}
|
||||
|
||||
private void logTickMethodTime(long tickStartTime) {
|
||||
@@ -1724,9 +1724,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1726,9 +1726,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.getPlayerList().getPlayers().forEach((entityplayer) -> {
|
||||
entityplayer.connection.suspendFlushing();
|
||||
});
|
||||
@@ -129,7 +153,7 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
// Paper start - Folia scheduler API
|
||||
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
|
||||
getAllLevels().forEach(level -> {
|
||||
@@ -1743,21 +1743,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1745,21 +1745,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// Paper end - Folia scheduler API
|
||||
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
|
||||
this.profiler.push("commandFunctions");
|
||||
@@ -156,7 +180,7 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
// Send time updates to everyone, it will get the right time from the world the player is in.
|
||||
// Paper start - Perf: Optimize time updates
|
||||
for (final ServerLevel level : this.getAllLevels()) {
|
||||
@@ -1777,7 +1777,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1779,7 +1779,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
}
|
||||
// Paper end - Perf: Optimize time updates
|
||||
@@ -165,7 +189,7 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
|
||||
this.isIteratingOverLevels = true; // Paper - Throw exception on world create while being ticked
|
||||
Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; move down
|
||||
@@ -1805,14 +1805,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1807,14 +1807,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.profiler.push("tick");
|
||||
|
||||
try {
|
||||
@@ -182,7 +206,7 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
|
||||
|
||||
@@ -1827,24 +1827,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1829,24 +1829,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||
|
||||
this.profiler.popPush("connection");
|
||||
@@ -214,10 +238,10 @@ index 5081a631a94920db0307341261755eac399fea1e..f3c66049ab3fe087fa0fa87c2fca36c3
|
||||
this.profiler.popPush("send chunks");
|
||||
iterator = this.playerList.getPlayers().iterator();
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 56c6800ae5696397ffba2dc2e03930195a130112..0d2d254fc2795f0ec844029bd4c05cdf6dc94207 100644
|
||||
index 7adf0af86449d2bd4805d9d8823db6bd1c6fef9e..3b0754ea12ec8a29bd6dd139078b767498b21595 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -541,7 +541,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -540,7 +540,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
}
|
||||
|
||||
public void handleConsoleInputs() {
|
||||
@@ -226,7 +250,7 @@ index 56c6800ae5696397ffba2dc2e03930195a130112..0d2d254fc2795f0ec844029bd4c05cdf
|
||||
// Paper start - Perf: use proper queue
|
||||
ConsoleInput servercommand;
|
||||
while ((servercommand = this.serverCommandQueue.poll()) != null) {
|
||||
@@ -558,7 +558,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -557,7 +557,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
@@ -236,7 +260,7 @@ index 56c6800ae5696397ffba2dc2e03930195a130112..0d2d254fc2795f0ec844029bd4c05cdf
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index dbe9df1e1973db133f7c8516256697ef7c968137..bbe4580f7fc7cb6c8eb7055c82e2af7ad2ccd59d 100644
|
||||
index 7fb9ba3dadb1eca4a1000ea8cf4d13fed2b7db1e..2b8448ccb0e4750b722933b0b5de02d8f4f38788 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -543,15 +543,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -449,7 +473,7 @@ index b99f50604bafecbc68835974c9ed0caa91911a40..07b428ed7837642254b1edd55fd08a7b
|
||||
gameprofilerfiller.pop();
|
||||
gameprofilerfiller.pop();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index ae2b9732b2795ea7faec96af4c27ccb04f772307..a84a9218838fb42c49a00c0d5f28e9e486fc7dac 100644
|
||||
index 5d20af55a3a8fa1b585a9fe36c817eb0bd609d16..b727c707ef46a9387fc225b51ef050c6baff1c74 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -872,7 +872,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -631,37 +655,6 @@ index ae2b9732b2795ea7faec96af4c27ccb04f772307..a84a9218838fb42c49a00c0d5f28e9e4
|
||||
// Paper - rewrite chunk system - entity saving moved into ChunkHolder
|
||||
|
||||
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index e54be01cb1629616c2952ea99c6f28f09a592773..a3e29942d3db9e5e63c839b4e32394639f60b680 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2537,7 +2537,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
public void handleCommand(String s) { // Paper - private -> public
|
||||
org.spigotmc.AsyncCatcher.catchOp("Command Dispatched Async: " + s); // Paper - Add async catcher
|
||||
- co.aikar.timings.MinecraftTimings.playerCommandTimer.startTiming(); // Paper
|
||||
+ //co.aikar.timings.MinecraftTimings.playerCommandTimer.startTiming(); // Paper // Purpur
|
||||
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
|
||||
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
|
||||
|
||||
@@ -2547,7 +2547,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
- co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper
|
||||
+ //co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper // Purpur
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2560,7 +2560,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||
return;
|
||||
} finally {
|
||||
- co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper
|
||||
+ //co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper // Purpur
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index d20a7a79e27db1092ff78910df5d45982971cc3e..b863f6fe65c796a1d3102cc3eddb5d6c5becd3ac 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
|
||||
Reference in New Issue
Block a user