Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@152f4fe Add back improved watchdog support patch
PaperMC/Paper@13992b1 Make chunk system loggers calm down a bit
PaperMC/Paper@bf8552f Delegate ItemStack (#10852)
PaperMC/Paper@b3e072a Fix `hasFiredAsync` parameter when `AsyncPlayerSendCommandsEvent` is called (#10896)
PaperMC/Paper@21c9a7c Rebuild patches
PaperMC/Paper@b9f7098 [ci skip] Fix javadoc mistake in EnchantmentRegistryEntry.Builder (#10898)
PaperMC/Paper@b4b8208 Fix NPE for Jukebox#setRecord
This commit is contained in:
granny
2024-06-17 21:39:57 -07:00
parent 45774b4d0e
commit dd826a31ca
20 changed files with 103 additions and 117 deletions

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.21-R0.1-SNAPSHOT version = 1.21-R0.1-SNAPSHOT
mcVersion = 1.21 mcVersion = 1.21
paperCommit = a7f66333625febf891e5126bbd432707d38d1b1c paperCommit = b4b820851f5291c467b1a9590750a10ec67af4f6
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

View File

@@ -50,7 +50,7 @@ index 54704da43cf9c429f3914f0580246dde99aa93c0..e1a677cfde05aba487a09e34e170fea6
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 7f5633e7689b82b937d5b985c3e6ae15dc94a20f..e77842896654088cedc19822a99361778336057a 100644 index f603b5b6ba80af919f415322583a8345a5b1358a..5fd6ec735ff88e66c0ff0359f5838fe49fb24d08 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java --- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -19,6 +19,17 @@ import org.bukkit.inventory.meta.ItemMeta; @@ -19,6 +19,17 @@ import org.bukkit.inventory.meta.ItemMeta;
@@ -71,7 +71,7 @@ index 7f5633e7689b82b937d5b985c3e6ae15dc94a20f..e77842896654088cedc19822a9936177
/** /**
* Represents a stack of items. * Represents a stack of items.
@@ -1089,4 +1100,565 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat @@ -1031,4 +1042,551 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player); return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player);
} }
// Paper end - expose itemstack tooltip lines // Paper end - expose itemstack tooltip lines
@@ -513,20 +513,6 @@ index 7f5633e7689b82b937d5b985c3e6ae15dc94a20f..e77842896654088cedc19822a9936177
+ } + }
+ +
+ /** + /**
+ * Returns a custom tag container capable of storing tags on the object.
+ *
+ * Note that the tags stored on this container are all stored under their
+ * own custom namespace therefore modifying default tags using this
+ * {@link PersistentDataHolder} is impossible.
+ *
+ * @return the persistent metadata container
+ */
+ @NotNull
+ public PersistentDataContainer getPersistentDataContainer() {
+ return getItemMeta().getPersistentDataContainer();
+ }
+
+ /**
+ * Checks to see if this item has damage + * Checks to see if this item has damage
+ * + *
+ * @return true if this has damage + * @return true if this has damage

View File

@@ -184,7 +184,7 @@ index 790bad0494454ca12ee152e3de6da3da634d9b20..a6e5950b5875cafd734300cdfbf58f5d
@Override @Override
diff --git a/src/main/java/net/minecraft/CrashReport.java b/src/main/java/net/minecraft/CrashReport.java diff --git a/src/main/java/net/minecraft/CrashReport.java b/src/main/java/net/minecraft/CrashReport.java
index 589a8bf75be6ccc59f1e5dd5d8d9afed41c4772d..7eabcb453ef655741c4802d2f574932d6d741631 100644 index b24265573fdef5d9a964bcd76146f34542c420cf..710477ae27ebc5afdf0012ef0867d05efd293c24 100644
--- a/src/main/java/net/minecraft/CrashReport.java --- a/src/main/java/net/minecraft/CrashReport.java
+++ b/src/main/java/net/minecraft/CrashReport.java +++ b/src/main/java/net/minecraft/CrashReport.java
@@ -32,6 +32,7 @@ public class CrashReport { @@ -32,6 +32,7 @@ public class CrashReport {
@@ -254,7 +254,7 @@ index e85b9bb3f9c225d289a4959921970b9963881199..c1e2d3a75b9d4710ab6d8b5c62af4bc1
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 8dba6c4a2e1f305cf576e8bfdca5d0c07ab871ae..dcf90f04aec8e703d34357db569141aa3ccae35a 100644 index d70c5546c8bd6f364fad9b24880b6867efdab644..aa38e21c30ae104e0f775bd29da4a49366d009f8 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -504,7 +504,7 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -504,7 +504,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -280,10 +280,10 @@ index 774556a62eb240da42e84db4502e2ed43495be17..99597258e8e88cd9e2c901c4ac3ff7fa
if (stream != null) { if (stream != null) {
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
index c68256c0c8e131497108f677c6b254c589ce67e2..101d1528d818a1c27080c973df5eee041f1ebc9e 100644 index b0a3ec17a50f4c302d6a9dd75bf907b01c567209..38a6ffd0e21e29601443ce5b5f66f4f69c4ebde0 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java --- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -23,7 +23,7 @@ public class WatchdogThread extends Thread @@ -24,7 +24,7 @@ public class WatchdogThread extends Thread
private WatchdogThread(long timeoutTime, boolean restart) private WatchdogThread(long timeoutTime, boolean restart)
{ {
@@ -292,7 +292,7 @@ index c68256c0c8e131497108f677c6b254c589ce67e2..101d1528d818a1c27080c973df5eee04
this.timeoutTime = timeoutTime; this.timeoutTime = timeoutTime;
this.restart = restart; this.restart = restart;
earlyWarningEvery = Math.min(io.papermc.paper.configuration.GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper earlyWarningEvery = Math.min(io.papermc.paper.configuration.GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper
@@ -80,14 +80,14 @@ public class WatchdogThread extends Thread @@ -83,14 +83,14 @@ public class WatchdogThread extends Thread
if (isLongTimeout) { if (isLongTimeout) {
// Paper end // Paper end
log.log( Level.SEVERE, "------------------------------" ); log.log( Level.SEVERE, "------------------------------" );
@@ -310,7 +310,7 @@ index c68256c0c8e131497108f677c6b254c589ce67e2..101d1528d818a1c27080c973df5eee04
// //
if ( net.minecraft.world.level.Level.lastPhysicsProblem != null ) if ( net.minecraft.world.level.Level.lastPhysicsProblem != null )
{ {
@@ -109,12 +109,12 @@ public class WatchdogThread extends Thread @@ -112,12 +112,12 @@ public class WatchdogThread extends Thread
// Paper end // Paper end
} else } else
{ {
@@ -325,7 +325,7 @@ index c68256c0c8e131497108f677c6b254c589ce67e2..101d1528d818a1c27080c973df5eee04
ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(isLongTimeout); // Paper - rewrite chunk system ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(isLongTimeout); // Paper - rewrite chunk system
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log ); WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
log.log( Level.SEVERE, "------------------------------" ); log.log( Level.SEVERE, "------------------------------" );
@@ -129,7 +129,7 @@ public class WatchdogThread extends Thread @@ -132,7 +132,7 @@ public class WatchdogThread extends Thread
WatchdogThread.dumpThread( thread, log ); WatchdogThread.dumpThread( thread, log );
} }
} else { } else {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
index 6aaed8e8bf8c721fc834da5c76ac72a4c3e92458..308d80ca27aa0edd63fba87343b12b39675462bc 100644 index 4b002e8b75d117b726b0de274a76d3596fce015b..8cde30544e14f8fc2dac32966ae3c21f8cf3a551 100644
--- a/src/main/java/com/destroystokyo/paper/Metrics.java --- a/src/main/java/com/destroystokyo/paper/Metrics.java
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java
@@ -588,7 +588,7 @@ public class Metrics { @@ -593,7 +593,7 @@ public class Metrics {
boolean logFailedRequests = config.getBoolean("logFailedRequests", false); boolean logFailedRequests = config.getBoolean("logFailedRequests", false);
// Only start Metrics, if it's enabled in the config // Only start Metrics, if it's enabled in the config
if (config.getBoolean("enabled", true)) { if (config.getBoolean("enabled", true)) {
@@ -17,7 +17,7 @@ index 6aaed8e8bf8c721fc834da5c76ac72a4c3e92458..308d80ca27aa0edd63fba87343b12b39
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
String minecraftVersion = Bukkit.getVersion(); String minecraftVersion = Bukkit.getVersion();
@@ -597,16 +597,8 @@ public class Metrics { @@ -602,16 +602,8 @@ public class Metrics {
})); }));
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size())); metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));
@@ -37,7 +37,7 @@ index 6aaed8e8bf8c721fc834da5c76ac72a4c3e92458..308d80ca27aa0edd63fba87343b12b39
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> { metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
Map<String, Map<String, Integer>> map = new HashMap<>(); Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index 59d7e8a3d83d3ab7aa28606401bb129ccaeff240..b51850c0368b0fa2c9eb4ca44b9c931eb46478fc 100644 index 2d344df35d47b4b1ecddf32ccaa4dae41e5f58cb..2f7ed5b38e8930b3a615f160cdf4c5b0ec932a8d 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java --- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java +++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -310,6 +310,30 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS @@ -310,6 +310,30 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS
@@ -72,7 +72,7 @@ index 59d7e8a3d83d3ab7aa28606401bb129ccaeff240..b51850c0368b0fa2c9eb4ca44b9c931e
boolean flag1 = this.source.acceptsSuccess() && !this.silent; boolean flag1 = this.source.acceptsSuccess() && !this.silent;
boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent; boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 0761d5bc5f2813bb4a9f664ac7a05b9744d0a778..36351e029c55ccd67b460e90f8c74e3d87f8ae5a 100644 index 1bfab581e59c607c7a30eeda17c88bb2938536f2..4582215c4952c8557df0c50cc70302940eff40d7 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -236,6 +236,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -236,6 +236,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -92,7 +92,7 @@ index 0761d5bc5f2813bb4a9f664ac7a05b9744d0a778..36351e029c55ccd67b460e90f8c74e3d
this.setPvpAllowed(dedicatedserverproperties.pvp); this.setPvpAllowed(dedicatedserverproperties.pvp);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 96ad3868a93964247790134fa5f4b18e5c07aea8..a6b09497e2dd99122f6124f5103f0a72a4cb6005 100644 index f1e085c712e4f128c813c3cf5340e6d2e4e55ccc..0e595bf509be9ea558ab94e5cfe0de10c58bfb1c 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -172,6 +172,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -172,6 +172,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl

View File

@@ -22,10 +22,10 @@ index 2767d6f97e8b314d23a8e62f22dfd396f5660d31..a64e5997b94cc8173f0512d1e282355f
super(x, y, z); super(x, y, z);
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7e32eecacf6f5e832dbfd0455e4bab1302a33d46..32d574d1f52577c67883d99309ff03a9fae123dc 100644 index eb0a740f884fde081cabaec5a61c9b642a85a1b4..bbbd335ccefc197048350b580b407210918bbf21 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1660,6 +1660,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1712,6 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - BlockPhysicsEvent worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - BlockPhysicsEvent
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 32d574d1f52577c67883d99309ff03a9fae123dc..c8616c6c9f555079cb8433da4dd9dcf9e218dc7d 100644 index bbbd335ccefc197048350b580b407210918bbf21..4c71a0eedb99cf7de16335f6f260689abf4c92c7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1823,7 +1823,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1875,7 +1875,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index c8616c6c9f555079cb8433da4dd9dcf9e218dc7d..0f53f5d5c25f115cf6bc7b0fdd844521a15ccfbd 100644 index 4c71a0eedb99cf7de16335f6f260689abf4c92c7..d86bb821814e439fa79e17aec7d70e464f8e1912 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -319,6 +319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -319,6 +319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -14,9 +14,9 @@ index c8616c6c9f555079cb8433da4dd9dcf9e218dc7d..0f53f5d5c25f115cf6bc7b0fdd844521
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
+ public boolean lagging = false; // Purpur + public boolean lagging = false; // Purpur
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) { public volatile Thread shutdownThread; // Paper
AtomicReference<S> atomicreference = new AtomicReference(); public volatile boolean abnormalExit = false; // Paper
@@ -1186,6 +1187,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1226,6 +1227,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[0] = tps1.getAverage(); this.recentTps[0] = tps1.getAverage();
this.recentTps[1] = tps5.getAverage(); this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage(); this.recentTps[2] = tps15.getAverage();

View File

@@ -5,13 +5,13 @@ Subject: [PATCH] Skip events if there's no listeners
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index eb488f598de412849ad6fd83161cfaebe043be14..f5989a4e4a9f6d983d664a9f74ccdfebf91ed4d9 100644 index 3e454515360c22a26c9329e4032d525579110d7e..4b8dbdc43e85c08846a4e2ae50e59a6ca59758f3 100644
--- a/src/main/java/net/minecraft/commands/Commands.java --- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -518,6 +518,7 @@ public class Commands { @@ -518,6 +518,7 @@ public class Commands {
private void runSync(ServerPlayer player, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) { private void runSync(ServerPlayer player, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
// Paper end - Perf: Async command map building // Paper end - Perf: Async command map building
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper - Brigadier API new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, true).callEvent(); // Paper - Brigadier API
+ if (PlayerCommandSendEvent.getHandlerList().getRegisteredListeners().length > 0) { // Purpur - skip all this crap if there's nothing listening + if (PlayerCommandSendEvent.getHandlerList().getRegisteredListeners().length > 0) { // Purpur - skip all this crap if there's nothing listening
PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit)); PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit));
event.getPlayer().getServer().getPluginManager().callEvent(event); event.getPlayer().getServer().getPluginManager().callEvent(event);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0f53f5d5c25f115cf6bc7b0fdd844521a15ccfbd..709611a974f957c101aeba9002b382835208f19b 100644 index d86bb821814e439fa79e17aec7d70e464f8e1912..753148b495d6623112fa860c9f6cbca9c6c0e986 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1218,6 +1218,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1258,6 +1258,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.popPush("nextTickWait"); this.profiler.popPush("nextTickWait");
this.mayHaveDelayedTasks = true; this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos); this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);

View File

@@ -18,7 +18,7 @@ index 039a86034928a5eb7aaa2d7ca76a7bddcca346bd..308f67d0616e2d6bb135258f1fda53cc
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 709611a974f957c101aeba9002b382835208f19b..cb13595ddb9662e41909b0068a02bbc298912deb 100644 index 753148b495d6623112fa860c9f6cbca9c6c0e986..186a7d3c0e79e114279046716e37c685f797f65f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -314,7 +314,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -314,7 +314,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -30,7 +30,7 @@ index 709611a974f957c101aeba9002b382835208f19b..cb13595ddb9662e41909b0068a02bbc2
// Spigot end // Spigot end
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
public static long currentTickLong = 0L; // Paper - track current tick as a long public static long currentTickLong = 0L; // Paper - track current tick as a long
@@ -1078,6 +1078,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1105,6 +1105,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L; private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0; private long lastTick = 0;
private long catchupTime = 0; private long catchupTime = 0;
@@ -38,7 +38,7 @@ index 709611a974f957c101aeba9002b382835208f19b..cb13595ddb9662e41909b0068a02bbc2
public final RollingAverage tps1 = new RollingAverage(60); public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5); public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15); public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1179,14 +1180,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1219,14 +1220,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) { if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
final long diff = currentTime - tickSection; final long diff = currentTime - tickSection;
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP); final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);

View File

@@ -27,10 +27,10 @@ index 321188173918d0d60858a258400dfd682ccdb21c..af47074f3a61a8518697d7851e43d543
return true; return true;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index a6b09497e2dd99122f6124f5103f0a72a4cb6005..1da37b076fbbbd4b756fc30c5995995528653ddf 100644 index 0e595bf509be9ea558ab94e5cfe0de10c58bfb1c..163ce425b273779dda5e3229be6c6b981d99acd0 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1582,4 +1582,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1583,4 +1583,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
return null; return null;
} }
// Paper end - optimize redstone (Alternate Current) // Paper end - optimize redstone (Alternate Current)

View File

@@ -18,10 +18,10 @@ index 76ef195a5074006b009acd9cc1744667c6aecbb9..659577549e132754281df76a7a1bfd88
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time; this.gameTime = time;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cb13595ddb9662e41909b0068a02bbc298912deb..2bc6190f17f2874eabcf4606066e4c18a33dcc97 100644 index 186a7d3c0e79e114279046716e37c685f797f65f..f1686cca24ff1339ca0062d288ddfe1049e9090a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1653,7 +1653,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1705,7 +1705,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = level.getGameTime(); long worldTime = level.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight); final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : level.players()) { for (Player entityhuman : level.players()) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement TPSBar
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index c44832599a95039f9ca0f772e7b405e40d7a97b5..37d2e9a7b9a5e9b71a49bdb5d421d5d201c609c5 100644 index 911a12e8af22b5f7a645384fee37c9ad435a9be1..73774049d9d4165036ddf90979d2de837e3701d8 100644
--- a/src/main/java/net/minecraft/commands/Commands.java --- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -253,6 +253,7 @@ public class Commands { @@ -253,6 +253,7 @@ public class Commands {
@@ -17,10 +17,10 @@ index c44832599a95039f9ca0f772e7b405e40d7a97b5..37d2e9a7b9a5e9b71a49bdb5d421d5d2
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2bc6190f17f2874eabcf4606066e4c18a33dcc97..d8194ec9b676582fe5684d1330674ef847a04682 100644 index f1686cca24ff1339ca0062d288ddfe1049e9090a..71cc454cda7ad6253cadaface31de8293df4843a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1052,6 +1052,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1079,6 +1079,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.safeShutdown(waitForShutdown, false); this.safeShutdown(waitForShutdown, false);
} }
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) { public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
@@ -29,7 +29,7 @@ index 2bc6190f17f2874eabcf4606066e4c18a33dcc97..d8194ec9b676582fe5684d1330674ef8
this.hasLoggedStop = true; // Paper - Debugging this.hasLoggedStop = true; // Paper - Debugging
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 36351e029c55ccd67b460e90f8c74e3d87f8ae5a..70b0d8f18df7380d54a9c28e0d9060964e338993 100644 index 4582215c4952c8557df0c50cc70302940eff40d7..01fbe7f7d898be5cfc423255e2abb97e75f32718 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -366,6 +366,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -366,6 +366,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -83,7 +83,7 @@ index 7737c2b5aaa8ad8367915991b75aff00d041efab..a1ef38422631b3856160e054daa14eac
// Purpur end // Purpur end
} }
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index c5d1379a95794ca818e2bd3aee49a2226833d137..ffab1dd057ce003c0c7e6ffd9203833a9d5ffd0e 100644 index 7aec825af7d07b1701519e413432739612527747..9b52cb228de73df4fec47b18f1245b34f7ee8aef 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -480,6 +480,7 @@ public abstract class PlayerList { @@ -480,6 +480,7 @@ public abstract class PlayerList {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 02bec087837783892db667883db89263bae1ca76..a0543b776d6e423851c18402247bf6a2d4e40fb1 100644 index 42dfc81f310d8dd74dbbc97cff1d3c5a3df1078d..1d88ec86a784a0085ab3e741640cdd9d66fbca46 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -321,6 +321,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -321,6 +321,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -14,9 +14,9 @@ index 02bec087837783892db667883db89263bae1ca76..a0543b776d6e423851c18402247bf6a2
public boolean lagging = false; // Purpur public boolean lagging = false; // Purpur
+ protected boolean upnp = false; // Purpur + protected boolean upnp = false; // Purpur
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) { public volatile Thread shutdownThread; // Paper
AtomicReference<S> atomicreference = new AtomicReference(); public volatile boolean abnormalExit = false; // Paper
@@ -968,6 +969,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -985,6 +986,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.info("Stopping server"); MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
MinecraftTimings.stopServer(); // Paper MinecraftTimings.stopServer(); // Paper
@@ -32,7 +32,7 @@ index 02bec087837783892db667883db89263bae1ca76..a0543b776d6e423851c18402247bf6a2
if (this.server != null) { if (this.server != null) {
this.server.disablePlugins(); this.server.disablePlugins();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 70b0d8f18df7380d54a9c28e0d9060964e338993..1331b58b60142513708c8188f04c6818d75d6160 100644 index 01fbe7f7d898be5cfc423255e2abb97e75f32718..dc5ddad9457ac685838b0889d837bebcb428c81d 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -293,6 +293,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -293,6 +293,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a0543b776d6e423851c18402247bf6a2d4e40fb1..59938afbf2d3add16b6a7f0acdba81806054bbbb 100644 index 1d88ec86a784a0085ab3e741640cdd9d66fbca46..3f7150abcfed72567d446105fc285610deed329d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1063,6 +1063,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1090,6 +1090,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) { public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
@@ -17,7 +17,7 @@ index a0543b776d6e423851c18402247bf6a2d4e40fb1..59938afbf2d3add16b6a7f0acdba8180
this.hasLoggedStop = true; // Paper - Debugging this.hasLoggedStop = true; // Paper - Debugging
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 1331b58b60142513708c8188f04c6818d75d6160..7a579cdb6bb9dced485f86d1bfe8ab432db51ab1 100644 index dc5ddad9457ac685838b0889d837bebcb428c81d..aae89d7fa1e8b58c0c45d2ccaceee6d0293dd110 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -391,6 +391,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -391,6 +391,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface

View File

@@ -42,10 +42,10 @@ index d0d36a57ec4896bcb74970f8fb24d8f3e17db133..0c8fe5b2500480c3a9e9ab3285ad22e0
} catch (Exception exception) { } catch (Exception exception) {
if (exception instanceof ReportedException) { if (exception instanceof ReportedException) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 59938afbf2d3add16b6a7f0acdba81806054bbbb..f0a85af9681e30937b60d1325d2b719ae2b442b4 100644 index 3f7150abcfed72567d446105fc285610deed329d..28fceecee801cd56edc3e0506641d6560756a973 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1494,15 +1494,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1546,15 +1546,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public void tickServer(BooleanSupplier shouldKeepTicking) { public void tickServer(BooleanSupplier shouldKeepTicking) {
@@ -64,7 +64,7 @@ index 59938afbf2d3add16b6a7f0acdba81806054bbbb..f0a85af9681e30937b60d1325d2b719a
// Paper end // Paper end
new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper - Server Tick Events new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper - Server Tick Events
@@ -1527,9 +1527,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1579,9 +1579,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
io.papermc.paper.util.CachedLists.reset(); // Paper io.papermc.paper.util.CachedLists.reset(); // Paper
// Paper start - move executeAll() into full server tick timing // Paper start - move executeAll() into full server tick timing
@@ -76,7 +76,7 @@ index 59938afbf2d3add16b6a7f0acdba81806054bbbb..f0a85af9681e30937b60d1325d2b719a
// Paper end // Paper end
// Paper start - Server Tick Events // Paper start - Server Tick Events
long endTime = System.nanoTime(); long endTime = System.nanoTime();
@@ -1552,7 +1552,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1604,7 +1604,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.logTickMethodTime(i); this.logTickMethodTime(i);
this.profiler.pop(); this.profiler.pop();
org.spigotmc.WatchdogThread.tick(); // Spigot org.spigotmc.WatchdogThread.tick(); // Spigot
@@ -85,7 +85,7 @@ index 59938afbf2d3add16b6a7f0acdba81806054bbbb..f0a85af9681e30937b60d1325d2b719a
} }
private void logTickMethodTime(long tickStartTime) { private void logTickMethodTime(long tickStartTime) {
@@ -1623,9 +1623,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1675,9 +1675,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getPlayerList().getPlayers().forEach((entityplayer) -> { this.getPlayerList().getPlayers().forEach((entityplayer) -> {
entityplayer.connection.suspendFlushing(); entityplayer.connection.suspendFlushing();
}); });
@@ -97,7 +97,7 @@ index 59938afbf2d3add16b6a7f0acdba81806054bbbb..f0a85af9681e30937b60d1325d2b719a
// Paper start - Folia scheduler API // Paper start - Folia scheduler API
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick(); ((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
getAllLevels().forEach(level -> { getAllLevels().forEach(level -> {
@@ -1642,21 +1642,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1694,21 +1694,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Folia scheduler API // Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
this.profiler.push("commandFunctions"); this.profiler.push("commandFunctions");
@@ -124,7 +124,7 @@ index 59938afbf2d3add16b6a7f0acdba81806054bbbb..f0a85af9681e30937b60d1325d2b719a
// Send time updates to everyone, it will get the right time from the world the player is in. // Send time updates to everyone, it will get the right time from the world the player is in.
// Paper start - Perf: Optimize time updates // Paper start - Perf: Optimize time updates
for (final ServerLevel level : this.getAllLevels()) { for (final ServerLevel level : this.getAllLevels()) {
@@ -1676,7 +1676,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1728,7 +1728,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
} }
// Paper end - Perf: Optimize time updates // Paper end - Perf: Optimize time updates
@@ -133,7 +133,7 @@ index 59938afbf2d3add16b6a7f0acdba81806054bbbb..f0a85af9681e30937b60d1325d2b719a
this.isIteratingOverLevels = true; // Paper - Throw exception on world create while being ticked 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 Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; move down
@@ -1703,14 +1703,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1755,14 +1755,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.push("tick"); this.profiler.push("tick");
try { try {
@@ -150,7 +150,7 @@ index 59938afbf2d3add16b6a7f0acdba81806054bbbb..f0a85af9681e30937b60d1325d2b719a
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world"); CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
@@ -1725,24 +1725,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1777,24 +1777,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
this.profiler.popPush("connection"); this.profiler.popPush("connection");
@@ -182,10 +182,10 @@ index 59938afbf2d3add16b6a7f0acdba81806054bbbb..f0a85af9681e30937b60d1325d2b719a
this.profiler.popPush("send chunks"); this.profiler.popPush("send chunks");
iterator = this.playerList.getPlayers().iterator(); 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 diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 7a579cdb6bb9dced485f86d1bfe8ab432db51ab1..d9b299cde538db9bc07a267274551cc9893615db 100644 index aae89d7fa1e8b58c0c45d2ccaceee6d0293dd110..7966a96e8b7d3aa4b858f578229bae6c8f7714b8 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -516,7 +516,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -517,7 +517,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
} }
public void handleConsoleInputs() { public void handleConsoleInputs() {
@@ -194,7 +194,7 @@ index 7a579cdb6bb9dced485f86d1bfe8ab432db51ab1..d9b299cde538db9bc07a267274551cc9
// Paper start - Perf: use proper queue // Paper start - Perf: use proper queue
ConsoleInput servercommand; ConsoleInput servercommand;
while ((servercommand = this.serverCommandQueue.poll()) != null) { while ((servercommand = this.serverCommandQueue.poll()) != null) {
@@ -533,7 +533,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -534,7 +534,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
// CraftBukkit end // CraftBukkit end
} }
@@ -496,7 +496,7 @@ index fda301c5bb53bc04d9cb133c45d791fa2b30169c..55446501a3bc42e4881eb38b13d1de5d
} }
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index b9c48dfa9c1e091cd674d6168b230ad25b66e94d..51cb32a67f81422fd59ef072633c3de523ff7405 100644 index 7b215f334c75d0e8714c3a9b3efef46272fa1ceb..10c59d30da3c4713fb7cdcf2e600508c0dd3acf0 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1220,11 +1220,11 @@ public abstract class PlayerList { @@ -1220,11 +1220,11 @@ public abstract class PlayerList {
@@ -563,7 +563,7 @@ index 85b4b24361e785acf75571ff98f924c00ae80748..09a7b418ddf564c0be13297f7c216db2
} }
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 6b1dc40787e53723ff48b1ed4d408bb935f2cca8..e94e6cc538094de4ce0fc0f615e6fed8bcdcb828 100644 index 238929778d6c36be5e60c5f21861db13d17b8cb1..2fc472df25f61528e04f5f41e0fc179a3f4151fb 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -987,15 +987,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -987,15 +987,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -617,7 +617,7 @@ index ed8032495af9ce9c23419224814b8d27e4a97c17..2812505185df691e8f08932aa0bba162
} }
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index d869607853ad27032df072c1f1d74a74e4911baf..b29e8136f2bf7af0dd37bd030cee67e310de6faa 100644 index 435f5f0a17901f743bd565b28f9feb5d4058c819..1a57806714e347ab4efe12f5f7782c2167a439a2 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -739,7 +739,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -739,7 +739,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -647,7 +647,7 @@ index d869607853ad27032df072c1f1d74a74e4911baf..b29e8136f2bf7af0dd37bd030cee67e3
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition); BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
if (this.blockEntity.getType().isValid(iblockdata)) { if (this.blockEntity.getType().isValid(iblockdata)) {
@@ -1135,7 +1135,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -1136,7 +1136,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
// Paper end - Prevent block entity and entity crashes // Paper end - Prevent block entity and entity crashes
// Spigot start // Spigot start
} finally { } finally {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Remove Mojang Profiler
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 1beb75aa960c766344f00fa898f905d5094efc01..6daecb014fea4e0a4fb00aec28e0ab6779bad9ae 100644 index c32d172c161e6e537ee8e60b36bcb402e1ddb876..03c6ed862cc391b104b6c0ff0b8adf62824d293d 100644
--- a/src/main/java/net/minecraft/commands/Commands.java --- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -165,7 +165,7 @@ public class Commands { @@ -165,7 +165,7 @@ public class Commands {
@@ -83,10 +83,10 @@ index e9775b4506909bee65a74964f0d5391a0513de1d..684f7f202305c09b1037c5d38a52a5ea
} }
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d8d5172cd 100644 index 28fceecee801cd56edc3e0506641d6560756a973..f7c8ded17964394a1a10d16128d507aa5660f278 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -356,13 +356,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -359,13 +359,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) { public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) {
super("Server"); super("Server");
SERVER = this; // Paper - better singleton SERVER = this; // Paper - better singleton
@@ -106,9 +106,9 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
this.random = RandomSource.create(); this.random = RandomSource.create();
this.port = -1; this.port = -1;
this.levels = Maps.newLinkedHashMap(); this.levels = Maps.newLinkedHashMap();
@@ -962,9 +962,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -979,9 +979,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
if (!hasLoggedStop && isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging // Paper end
// CraftBukkit end // CraftBukkit end
- if (this.metricsRecorder.isRecording()) { - if (this.metricsRecorder.isRecording()) {
+ /*if (this.metricsRecorder.isRecording()) { // Purpur + /*if (this.metricsRecorder.isRecording()) { // Purpur
@@ -118,7 +118,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
MinecraftServer.LOGGER.info("Stopping server"); MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -1212,16 +1212,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1252,16 +1252,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
boolean flag = i == 0L; boolean flag = i == 0L;
@@ -139,7 +139,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
this.tickServer(flag ? () -> { this.tickServer(flag ? () -> {
return false; return false;
} : this::haveTime); } : this::haveTime);
@@ -1232,7 +1232,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1272,7 +1272,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new RuntimeException("Chunk system crash propagated to tick()", crash); throw new RuntimeException("Chunk system crash propagated to tick()", crash);
} }
// Paper end - rewrite chunk system // Paper end - rewrite chunk system
@@ -148,7 +148,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
this.mayHaveDelayedTasks = true; this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos); this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
// Purpur start // Purpur start
@@ -1248,9 +1248,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1288,9 +1288,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickRateManager.endTickWork(); this.tickRateManager.endTickWork();
} }
@@ -161,7 +161,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
this.isReady = true; this.isReady = true;
JvmProfiler.INSTANCE.onServerTick(this.smoothedTickTimeMillis); JvmProfiler.INSTANCE.onServerTick(this.smoothedTickTimeMillis);
} }
@@ -1447,7 +1447,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1499,7 +1499,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
@@ -170,7 +170,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
super.doRunTask(ticktask); super.doRunTask(ticktask);
} }
@@ -1520,9 +1520,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1572,9 +1572,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.ticksUntilAutosave = this.autosavePeriod; this.ticksUntilAutosave = this.autosavePeriod;
// CraftBukkit end // CraftBukkit end
MinecraftServer.LOGGER.debug("Autosave started"); MinecraftServer.LOGGER.debug("Autosave started");
@@ -182,7 +182,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
MinecraftServer.LOGGER.debug("Autosave finished"); MinecraftServer.LOGGER.debug("Autosave finished");
} }
io.papermc.paper.util.CachedLists.reset(); // Paper io.papermc.paper.util.CachedLists.reset(); // Paper
@@ -1536,7 +1536,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1588,7 +1588,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime; long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent(); new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
// Paper end - Server Tick Events // Paper end - Server Tick Events
@@ -191,7 +191,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
long j = Util.getNanos() - i; long j = Util.getNanos() - i;
int k = this.tickCount % 100; int k = this.tickCount % 100;
@@ -1550,7 +1550,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1602,7 +1602,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickTimes60s.add(this.tickCount, j); this.tickTimes60s.add(this.tickCount, j);
// Paper end - Add tick times API and /mspt command // Paper end - Add tick times API and /mspt command
this.logTickMethodTime(i); this.logTickMethodTime(i);
@@ -200,7 +200,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
org.spigotmc.WatchdogThread.tick(); // Spigot org.spigotmc.WatchdogThread.tick(); // Spigot
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur //co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
} }
@@ -1641,11 +1641,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1693,11 +1693,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}); });
// Paper end - Folia scheduler API // Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
@@ -214,7 +214,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
//Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down //Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down
// CraftBukkit start // CraftBukkit start
@@ -1687,20 +1687,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1739,20 +1739,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@@ -240,7 +240,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
try { try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur //worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1718,17 +1718,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1770,17 +1770,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport); throw new ReportedException(crashreport);
} }
@@ -262,7 +262,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur //MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick(); this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur //MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1736,7 +1736,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1788,7 +1788,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick(); GameTestTicker.SINGLETON.tick();
} }
@@ -271,7 +271,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur //MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) { for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1744,7 +1744,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1796,7 +1796,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur //MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -280,7 +280,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
iterator = this.playerList.getPlayers().iterator(); iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1754,7 +1754,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1806,7 +1806,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.resumeFlushing(); entityplayer.connection.resumeFlushing();
} }
@@ -289,7 +289,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
} }
private void synchronizeTime(ServerLevel world) { private void synchronizeTime(ServerLevel world) {
@@ -1762,7 +1762,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1814,7 +1814,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public void forceTimeSynchronization() { public void forceTimeSynchronization() {
@@ -298,7 +298,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
Iterator iterator = this.getAllLevels().iterator(); Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1771,7 +1771,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1823,7 +1823,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver); this.synchronizeTime(worldserver);
} }
@@ -307,7 +307,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
} }
public boolean isLevelEnabled(Level world) { public boolean isLevelEnabled(Level world) {
@@ -2475,6 +2475,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2535,6 +2535,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public ProfilerFiller getProfiler() { public ProfilerFiller getProfiler() {
@@ -315,7 +315,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
return this.profiler; return this.profiler;
} }
@@ -2714,7 +2715,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2774,7 +2775,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end // CraftBukkit end
private void startMetricsRecordingTick() { private void startMetricsRecordingTick() {
@@ -324,7 +324,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> { this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
this.executeBlocking(() -> { this.executeBlocking(() -> {
this.saveDebugReport(path.resolve("server")); this.saveDebugReport(path.resolve("server"));
@@ -2724,40 +2725,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2784,40 +2785,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false; this.willStartRecordingMetrics = false;
} }
@@ -377,7 +377,7 @@ index f0a85af9681e30937b60d1325d2b719ae2b442b4..3df64fa31137116aed8b7993cb82164d
} }
public Path getWorldPath(LevelResource worldSavePath) { public Path getWorldPath(LevelResource worldSavePath) {
@@ -2810,15 +2811,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2870,15 +2871,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public boolean isTimeProfilerRunning() { public boolean isTimeProfilerRunning() {
@@ -1806,7 +1806,7 @@ index bff83fe413c7baef4ba56a3270ea4463a58c792f..3ee7bf7e10f8120258baaae8f77cdcbb
if (this.fire) { if (this.fire) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index e94e6cc538094de4ce0fc0f615e6fed8bcdcb828..629f35eda2f31b17025fd9d0e594cdebabc0a504 100644 index 2fc472df25f61528e04f5f41e0fc179a3f4151fb..91106cab35f1b219e28e833b7a0735fb0e016bb5 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -268,7 +268,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -268,7 +268,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1848,7 +1848,7 @@ index e94e6cc538094de4ce0fc0f615e6fed8bcdcb828..629f35eda2f31b17025fd9d0e594cdeb
this.spigotConfig.currentPrimedTnt = 0; // Spigot this.spigotConfig.currentPrimedTnt = 0; // Spigot
} }
@@ -1225,7 +1225,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1226,7 +1226,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@Override @Override
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) { public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
@@ -1857,7 +1857,7 @@ index e94e6cc538094de4ce0fc0f615e6fed8bcdcb828..629f35eda2f31b17025fd9d0e594cdeb
// Paper start - rewrite chunk system // Paper start - rewrite chunk system
final List<Entity> ret = new java.util.ArrayList<>(); final List<Entity> ret = new java.util.ArrayList<>();
@@ -1251,7 +1251,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1252,7 +1252,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest, public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest,
final AABB boundingBox, final Predicate<? super T> predicate, final AABB boundingBox, final Predicate<? super T> predicate,
final List<? super T> into, final int maxCount) { final List<? super T> into, final int maxCount) {
@@ -1866,7 +1866,7 @@ index e94e6cc538094de4ce0fc0f615e6fed8bcdcb828..629f35eda2f31b17025fd9d0e594cdeb
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) { if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
if (maxCount != Integer.MAX_VALUE) { if (maxCount != Integer.MAX_VALUE) {
@@ -1546,6 +1546,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1547,6 +1547,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
} }
public ProfilerFiller getProfiler() { public ProfilerFiller getProfiler() {
@@ -1897,7 +1897,7 @@ index 2812505185df691e8f08932aa0bba162a7d9db86..35e94c06361795d032f995e8282f8b35
// Paper start - Add mobcaps commands // Paper start - Add mobcaps commands
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index b29e8136f2bf7af0dd37bd030cee67e310de6faa..f84a3d9909542c685672b9cdd5d8125746870665 100644 index 1a57806714e347ab4efe12f5f7782c2167a439a2..5d67b0fb6e979133d80c852d0c8d9fe02e2f97d2 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -449,11 +449,11 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -449,11 +449,11 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -1934,8 +1934,8 @@ index b29e8136f2bf7af0dd37bd030cee67e310de6faa..f84a3d9909542c685672b9cdd5d81257
- gameprofilerfiller.pop(); - gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); + //gameprofilerfiller.pop();
} catch (Throwable throwable) { } catch (Throwable throwable) {
if (throwable instanceof ThreadDeath) throw throwable; // Paper
// Paper start - Prevent block entity and entity crashes // Paper start - Prevent block entity and entity crashes
final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ());
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java diff --git a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
index 18bbb3f8f99849333ff4bc020c8ce758a69312a5..404080976208c30e9e95e5bee47c2a749e709a45 100644 index 18bbb3f8f99849333ff4bc020c8ce758a69312a5..404080976208c30e9e95e5bee47c2a749e709a45 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java --- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java

View File

@@ -96,7 +96,7 @@ index 0000000000000000000000000000000000000000..15a226e3854d731f7724025ea3459c8a
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index d9b299cde538db9bc07a267274551cc9893615db..3e27a6c1d0e36d76d1ecdf52f642935b90d50d73 100644 index 7966a96e8b7d3aa4b858f578229bae6c8f7714b8..b603f61324c9051b5f4b7a747e92ad1f3baec52e 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -114,6 +114,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -114,6 +114,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -398,11 +398,11 @@ index 0000000000000000000000000000000000000000..d75fb5e77eff27d86135ed7d605dbc25
+ } + }
+} +}
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 637d64da9938e51a97338b9253b43889585c67bb..f9313059b4e3b2d100e66ed8a70d4811dc394031 100644 index d2a75850af9c6ad2aca66a5f994f1b587d73eac4..a056aa167887abef9e6d531a9edd2cda433567d2 100644
--- a/src/main/resources/log4j2.xml --- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml
@@ -2,7 +2,16 @@ @@ -2,7 +2,16 @@
<Configuration status="WARN"> <Configuration status="WARN" shutdownHook="disable">
<Appenders> <Appenders>
<Queue name="ServerGuiConsole"> <Queue name="ServerGuiConsole">
- <PatternLayout pattern="[%d{HH:mm:ss} %level]: %msg{nolookups}%n" /> - <PatternLayout pattern="[%d{HH:mm:ss} %level]: %msg{nolookups}%n" />

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] config for startup commands
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3df64fa31137116aed8b7993cb82164d8d5172cd..40a4273275822a8b3013807a9dd0716a0c93eaf0 100644 index f7c8ded17964394a1a10d16128d507aa5660f278..cfa43c14ad1d42e8ba4a28a492dfcb679e05ef10 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1165,6 +1165,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1205,6 +1205,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
// Paper end - Add onboarding message for initial server start // Paper end - Add onboarding message for initial server start

View File

@@ -7,13 +7,13 @@ Adopts the purpur-api to the material rerouting infrastructure introduced
by upstream's upstream. by upstream's upstream.
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java b/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java b/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java
index 9c004e7cb46841d874ab997bf2e3b63ae763aec7..36003e5c7c61d964f11e81fa56845a52a8785468 100644 index d7c8f26b21276d9ff1d5c7c9738cc1126ce7d4b9..f0471f92044612e3a2fd12a575b8b1f844790d3a 100644
--- a/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java --- a/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java +++ b/src/main/java/org/bukkit/craftbukkit/legacy/MaterialRerouting.java
@@ -678,4 +678,32 @@ public class MaterialRerouting { @@ -690,4 +690,32 @@ public class MaterialRerouting {
return itemStack.withType(material); return ItemStack.of(material, amount);
} }
// Paper end - register paper API specific material consumers in rerouting // Paper end
+ // Purpur start + // Purpur start
+ // Method added post 1.13, no-op (https://github.com/PurpurMC/Purpur/pull/570) + // Method added post 1.13, no-op (https://github.com/PurpurMC/Purpur/pull/570)
+ public static void addFuel(Server server, Material material, int burnTime) { + public static void addFuel(Server server, Material material, int burnTime) {