Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@b14d336 Apply watchdoge patches
This commit is contained in:
granny
2024-10-26 02:15:43 -07:00
parent abdb5b653e
commit ab8264ec21
30 changed files with 149 additions and 149 deletions

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.21.3-R0.1-SNAPSHOT
mcVersion = 1.21.3
paperCommit = be2edeac2b42ab3d76d9462cd7fab584e13dee9c
paperCommit = b14d336442a1928e21ad2eb28768bd0632961682
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -184,7 +184,7 @@ index 790bad0494454ca12ee152e3de6da3da634d9b20..a6e5950b5875cafd734300cdfbf58f5d
@Override
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
+++ b/src/main/java/net/minecraft/CrashReport.java
@@ -32,6 +32,7 @@ public class CrashReport {
@@ -293,10 +293,10 @@ index 774556a62eb240da42e84db4502e2ed43495be17..99597258e8e88cd9e2c901c4ac3ff7fa
if (stream != null) {
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
index 529df2a41dd93d6e1505053bd04032dbf0cdaa31..c0aa9f4bfaa1d6fb81823363e3ac3f1ff06efc3d 100644
index f7a4fee9bb25ff256dc2e5ea26bfbceca6a49167..f51cc3de3ca935ef90f7f0e9dd0506b856fc55f3 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -23,7 +23,7 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre
@@ -96,7 +96,7 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre
private WatchdogThread(long timeoutTime, boolean restart)
{
@@ -305,7 +305,7 @@ index 529df2a41dd93d6e1505053bd04032dbf0cdaa31..c0aa9f4bfaa1d6fb81823363e3ac3f1f
this.timeoutTime = timeoutTime;
this.restart = restart;
earlyWarningEvery = Math.min(io.papermc.paper.configuration.GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper
@@ -80,14 +80,14 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre
@@ -155,14 +155,14 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre
if (isLongTimeout) {
// Paper end
log.log( Level.SEVERE, "------------------------------" );
@@ -323,7 +323,7 @@ index 529df2a41dd93d6e1505053bd04032dbf0cdaa31..c0aa9f4bfaa1d6fb81823363e3ac3f1f
//
if ( net.minecraft.world.level.Level.lastPhysicsProblem != null )
{
@@ -109,12 +109,12 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre
@@ -184,12 +184,12 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre
// Paper end
} else
{
@@ -336,9 +336,9 @@ index 529df2a41dd93d6e1505053bd04032dbf0cdaa31..c0aa9f4bfaa1d6fb81823363e3ac3f1f
- log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper
+ log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):" ); // Paper // Purpur
ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(MinecraftServer.getServer(), isLongTimeout); // Paper - rewrite chunk system
this.dumpTickingInfo(); // Paper - log detailed tick information
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
log.log( Level.SEVERE, "------------------------------" );
@@ -129,7 +129,7 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre
@@ -205,7 +205,7 @@ public class WatchdogThread extends ca.spottedleaf.moonrise.common.util.TickThre
WatchdogThread.dumpThread( thread, log );
}
} 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
index 6aaed8e8bf8c721fc834da5c76ac72a4c3e92458..308d80ca27aa0edd63fba87343b12b39675462bc 100644
index 4b002e8b75d117b726b0de274a76d3596fce015b..8cde30544e14f8fc2dac32966ae3c21f8cf3a551 100644
--- a/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);
// Only start Metrics, if it's enabled in the config
if (config.getBoolean("enabled", true)) {
@@ -17,7 +17,7 @@ index 6aaed8e8bf8c721fc834da5c76ac72a4c3e92458..308d80ca27aa0edd63fba87343b12b39
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
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()));
@@ -72,7 +72,7 @@ index 13bd145b1e8006a53c22f5dc0c78f29b540c7663..ae2d9c91afe13d07fd0de6d455b90a2a
boolean flag1 = this.source.acceptsSuccess() && !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
index 3ed19896a0e06fe834953e6450f23abdc805a6cc..11f708ec623bba462fce8bc9c4483f855fe48366 100644
index 7a79541db29cc47c844d617fc8a4360f61c73372..3267240e8be56a6dc152805c23269f47ab0f54df 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -235,6 +235,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -92,7 +92,7 @@ index 3ed19896a0e06fe834953e6450f23abdc805a6cc..11f708ec623bba462fce8bc9c4483f85
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
index bb2d3ba2065b6bf67af24a8630ac2d58169fe783..caa01dd419da2e18ad027e5eab828d8bcaca0279 100644
index 044985030607bc20a61666dee7dd2659ae4553b5..580ddacce37e50e392999d45fdfa9f42f555aa6a 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -174,6 +174,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl

View File

@@ -36,7 +36,7 @@ index eb6f95a37b26ac077423accc93492d9957456a1a..f00e708fe38454e228cf126199651b81
public void displayClientMessage(Component message, boolean overlay) {
this.sendSystemMessage(message, overlay);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index bbefb529607d1cffe8917b883389494a8fa126c0..a4454289fb92cf7b97ee77db422c328f008521f1 100644
index 511e7254d938733aca508efd5de82e61678c7620..75e5e540f03d28b64fa5fef1f342a157598c3fa7 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -985,6 +985,20 @@ public abstract class PlayerList {
@@ -81,10 +81,10 @@ index bb1a60180e58c1333e7bb33e8acf1b0225eda8a8..c83e80ebdbbfb2d0e08561a44486a308
return this.type().msgId();
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b36a915e6d337d7ec3f797bf1773b14c5b231d76..3ca09f9ac97ad835feae8800a72d882af2192077 100644
index 6817015f0cf39df03029e36cd845d590618031dc..62af796b2b883856a904647f504ff064a5fed463 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4426,6 +4426,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4468,6 +4468,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return SlotAccess.NULL;
}

View File

@@ -22,10 +22,10 @@ index f58a94efafbc01d402cd03a108bb90f60930a316..21ea63da99c5b3e2e1ab9cc1049c903b
super(x, y, z);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 38060a14181f6bcbd36ee4c91fdb20fae30c534a..000a765c2e62d7e1921b2f4b4de77fc1a56ca02b 100644
index 79f3dc4f53dce892c4756b0850352e0ca2eb95a6..dc9e3f798bc8a9a6968a588a09122a08dc9b9774 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1805,6 +1805,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1848,6 +1848,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
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
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
@@ -34,7 +34,7 @@ index 38060a14181f6bcbd36ee4c91fdb20fae30c534a..000a765c2e62d7e1921b2f4b4de77fc1
gameprofilerfiller.push(() -> {
String s = String.valueOf(worldserver);
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 3b55367865b3583e11ef886678114d4d4b294e8c..fc400624a9896f8fd29984c21df70e67b0c32c1d 100644
index a7420e4522e0dff72ce7f8a791b9cd4bfa270106..0fa5e0c80ad09e03452c4d412390cb8f52060c01 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -231,6 +231,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -79,7 +79,7 @@ index eef96e946b80064fe211039a65db4192ea7a52d3..352ade7acc9052e4d74ef840e085a86f
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 3ca09f9ac97ad835feae8800a72d882af2192077..a897a9f371d44cc6d1fcc19f2da5450e61858527 100644
index 62af796b2b883856a904647f504ff064a5fed463..49a8b0d4f4a18c91a48291c316c420bd78428ca5 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -383,7 +383,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -91,7 +91,7 @@ index 3ca09f9ac97ad835feae8800a72d882af2192077..a897a9f371d44cc6d1fcc19f2da5450e
private float eyeHeight;
public boolean isInPowderSnow;
public boolean wasInPowderSnow;
@@ -3287,6 +3287,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3329,6 +3329,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.passengers = ImmutableList.copyOf(list);
}
@@ -105,7 +105,7 @@ index 3ca09f9ac97ad835feae8800a72d882af2192077..a897a9f371d44cc6d1fcc19f2da5450e
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
}
}
@@ -3326,6 +3333,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3368,6 +3375,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return false;
}
// CraftBukkit end
@@ -120,7 +120,7 @@ index 3ca09f9ac97ad835feae8800a72d882af2192077..a897a9f371d44cc6d1fcc19f2da5450e
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of();
} else {
@@ -5297,4 +5312,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -5343,4 +5358,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
}
// Paper end - Expose entity id counter

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
index 000a765c2e62d7e1921b2f4b4de77fc1a56ca02b..a95f3032d498c9f71aa89fcfdda1081ae6fca3bd 100644
index dc9e3f798bc8a9a6968a588a09122a08dc9b9774..99b1c6f239a85eb82019a1bae9e91391fcb55519 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1968,7 +1968,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2011,7 +2011,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
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
index a95f3032d498c9f71aa89fcfdda1081ae6fca3bd..a75972eb4a4ad285982bb6dc5faf661123df9817 100644
index 99b1c6f239a85eb82019a1bae9e91391fcb55519..a0bcb0fccadbf946e4c4bc0bbb8a1460532c636b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -329,6 +329,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -14,9 +14,9 @@ index a95f3032d498c9f71aa89fcfdda1081ae6fca3bd..a75972eb4a4ad285982bb6dc5faf6611
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
+ public boolean lagging = false; // Purpur
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -1269,6 +1270,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@@ -1299,6 +1300,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[0] = tps1.getAverage();
this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage();

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to set armorstand step height
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e8f21091fe1d6043dcc4588d571f20f7bbda0901..fc40e7ec07b7741d12095a25a8408f030904eab8 100644
index 01ee2cecacd9309d2eb5dd47b76b825db8d52d80..809ab6aaf50e573099dfb4ef839e3c2825cb7793 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -343,6 +343,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -16,7 +16,7 @@ index e8f21091fe1d6043dcc4588d571f20f7bbda0901..fc40e7ec07b7741d12095a25a8408f03
public boolean noPhysics;
private boolean wasOnFire;
public final RandomSource random;
@@ -5111,7 +5112,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -5157,7 +5158,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public float maxUpStep() {

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
index a75972eb4a4ad285982bb6dc5faf661123df9817..8719173e50ec2313cb44905b52e5dbe7fb264374 100644
index a0bcb0fccadbf946e4c4bc0bbb8a1460532c636b..fd37f9256c1b2d396e855e1167a1f2ca473d58d2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1309,6 +1309,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1339,6 +1339,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
gameprofilerfiller.popPush("nextTickWait");
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index fc40e7ec07b7741d12095a25a8408f030904eab8..f573cbaa5bf7bc12d6e9405010bf50c13727b350 100644
index 809ab6aaf50e573099dfb4ef839e3c2825cb7793..e4293aea8564372d29cc7076b0efdb5e957c8d9d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3083,6 +3083,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3125,6 +3125,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (this.isAlive() && this instanceof Leashable leashable) {
if (leashable.getLeashHolder() == player) {
if (!this.level().isClientSide()) {

View File

@@ -41,10 +41,10 @@ index a81a332ffb80e67d7f886295099b5cd2ae8994c5..1d18cad6c32815854ff8dace256b5902
public class FrostedIce extends ConfigurationPart {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 8719173e50ec2313cb44905b52e5dbe7fb264374..0fd97d9607b83fa2c2c36602c3b92ab0a6f58e27 100644
index fd37f9256c1b2d396e855e1167a1f2ca473d58d2..f80a22d79a0ecfd9fb86911252232af6af2dd8c4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1235,7 +1235,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1265,7 +1265,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
LOGGER.info("*************************************************************************************");
}
// Paper end - Add onboarding message for initial server start
@@ -62,7 +62,7 @@ index 8719173e50ec2313cb44905b52e5dbe7fb264374..0fd97d9607b83fa2c2c36602c3b92ab0
long i;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 11f708ec623bba462fce8bc9c4483f855fe48366..0d8d96e5aa24e8582e32fdbb920f6ae071871765 100644
index 3267240e8be56a6dc152805c23269f47ab0f54df..c8a575b1823c53d6caf121b77607c703a061834d 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -221,6 +221,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface

View File

@@ -26,7 +26,7 @@ index 12b327eea95e0de9e9c39b7d039badee8ec46508..849ecc5af70901f1e40cb6c419f33f1c
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0fd97d9607b83fa2c2c36602c3b92ab0a6f58e27..e96f55191f97490bbaf5fb990c33237469fa07e0 100644
index f80a22d79a0ecfd9fb86911252232af6af2dd8c4..b4fc561e9ad4bd4489cf1c2060c6fb6586f3c085 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -325,7 +325,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -38,7 +38,7 @@ index 0fd97d9607b83fa2c2c36602c3b92ab0a6f58e27..e96f55191f97490bbaf5fb990c332374
// Spigot end
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
@@ -1162,6 +1162,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1180,6 +1180,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0;
private long catchupTime = 0;
@@ -46,7 +46,7 @@ index 0fd97d9607b83fa2c2c36602c3b92ab0a6f58e27..e96f55191f97490bbaf5fb990c332374
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1270,14 +1271,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1300,14 +1301,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
final long diff = currentTime - tickSection;
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 3bddfb6f7412ab86e0c090d0cbc6cf254b3f891c..6aa8ee091d3a7d2826d08ab9a03f970e
return true;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index caa01dd419da2e18ad027e5eab828d8bcaca0279..82025f6dd73366a259418c2039638a6dcc6d4fc1 100644
index 580ddacce37e50e392999d45fdfa9f42f555aa6a..bea79e136847bfb3282b3c801b2641a109dcb682 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -2039,4 +2039,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -2040,4 +2040,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
return this.id;
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c2cc934f2599c6620b60b1b1485c743390157377..6f93348f929c33268107607dec6cce7e102c18b2 100644
index b9b058c29ba53c780d578a434f2b5002030f391d..e4ce84d4374e27afc79591d4ee2e7a696e0b64cf 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4721,6 +4721,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4763,6 +4763,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return Mth.lerp(delta, this.yRotO, this.yRot);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 6f93348f929c33268107607dec6cce7e102c18b2..4b516fcc23c692ec2c9847bee45484d747981410 100644
index e4ce84d4374e27afc79591d4ee2e7a696e0b64cf..f326f3a0a5b218addbf9d41837f5653248a39a1d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3431,7 +3431,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3473,7 +3473,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public void setAsInsidePortal(Portal portal, BlockPos pos) {
if (this.isOnPortalCooldown()) {
this.setPortalCooldown();
@@ -17,7 +17,7 @@ index 6f93348f929c33268107607dec6cce7e102c18b2..4b516fcc23c692ec2c9847bee45484d7
if (this.portalProcess != null && this.portalProcess.isSamePortal(portal)) {
if (!this.portalProcess.isInsidePortalThisTick()) {
this.portalProcess.updateEntryPosition(pos.immutable());
@@ -4148,7 +4148,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4190,7 +4190,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// CraftBukkit end
public boolean canUsePortal(boolean allowVehicles) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable daylight cycle
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e96f55191f97490bbaf5fb990c33237469fa07e0..d5efd5fdbf0acc89de3790f30b9739809f0a02d4 100644
index b4fc561e9ad4bd4489cf1c2060c6fb6586f3c085..3f1271f8295151bfa7e18bffa0e70cee5f0bd71e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1804,7 +1804,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1847,7 +1847,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = level.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : level.players()) {
@@ -18,7 +18,7 @@ index e96f55191f97490bbaf5fb990c33237469fa07e0..d5efd5fdbf0acc89de3790f30b973980
}
ServerPlayer entityplayer = (ServerPlayer) entityhuman;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 9538510ac96d97b8e3cdfcc9873bb3d274c351ad..8dd211d20a695164c2086c03c8b0237ba109fda4 100644
index e47f9fb98d94b7165feba4261b0600648f7a0142..f03de2bf7a02d1eb687401002acb3a45a7b7dd18 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -224,6 +224,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe

View File

@@ -17,10 +17,10 @@ index 24c2568db30f970aed1a4897cfbc7d07297047d3..5d94b71bd54f99040b76cca74964a32d
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d5efd5fdbf0acc89de3790f30b9739809f0a02d4..6bc6d24022c4f5ea3b7da7074725737fae341fcf 100644
index 3f1271f8295151bfa7e18bffa0e70cee5f0bd71e..874535bf55b76ca2df482a191d66924f8f228c97 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1136,6 +1136,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1154,6 +1154,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.safeShutdown(waitForShutdown, false);
}
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
@@ -29,7 +29,7 @@ index d5efd5fdbf0acc89de3790f30b9739809f0a02d4..6bc6d24022c4f5ea3b7da7074725737f
this.hasLoggedStop = true; // 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
index 0d8d96e5aa24e8582e32fdbb920f6ae071871765..86c25c52e4c42074866975884ec15dc099a77591 100644
index c8a575b1823c53d6caf121b77607c703a061834d..de85340fe0a0e057c527cc1fa91ae6bec558228a 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -365,6 +365,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -83,7 +83,7 @@ index 14640ed95dbbf99150ef1f41ff1046c2c034e552..d1a4eca112ad8698aa9025cec1b38bca
// Purpur end
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index e8f43bcf810b200f0dfcac6feae7761f54dda6fe..44f1048b231e56fae00feb1bcf935c4f65508b69 100644
index ca11a05c0ba7f963c7d848a11557fd81baf6b34f..78a061dc5d7141ce4e4efca5a478e559b1d935c0 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -420,6 +420,7 @@ public abstract class PlayerList {

View File

@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 4b516fcc23c692ec2c9847bee45484d747981410..49af66a9f5e0fcc0993fdfb8095645e48c17bd68 100644
index f326f3a0a5b218addbf9d41837f5653248a39a1d..89d4d749336b2947b0ac12d7df140c0240f67636 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2007,7 +2007,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -2049,7 +2049,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.isInWater() || flag;
}

View File

@@ -17,10 +17,10 @@ index d1a4eca112ad8698aa9025cec1b38bca01805e3f..c64b2386f35c55e3484df2d193f712a1
this.connection.internalTeleport(PositionMoveRotation.of(teleportTarget), teleportTarget.relatives()); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 49af66a9f5e0fcc0993fdfb8095645e48c17bd68..0b936bcf09bb12b0a29a1ef755df1a24604f0904 100644
index 89d4d749336b2947b0ac12d7df140c0240f67636..a942f6b9404f72c1c0af1bfc2325ddbfd5e6f255 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3428,14 +3428,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3470,14 +3470,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return Vec3.directionFromRotation(this.getRotationVector());
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 0b936bcf09bb12b0a29a1ef755df1a24604f0904..f3769da2422d98dec32ba252bde5d9467f1bd84f 100644
index a942f6b9404f72c1c0af1bfc2325ddbfd5e6f255..58d9ad22790664d425d26b53f70fbc19e3963f65 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3655,7 +3655,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3697,7 +3697,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public int getMaxAirSupply() {

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
index 76f31bf31f77c8347b9436779c3701f8a87045e6..781eb66ada5fd2bf821453be3b14c59026217999 100644
index e1cabc6af43e4342e8215a774483d5cd0db0aba8..2cbd4a0d12a643f1f7446d005433580fb1a81a42 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -331,6 +331,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -14,9 +14,9 @@ index 76f31bf31f77c8347b9436779c3701f8a87045e6..781eb66ada5fd2bf821453be3b14c590
public boolean lagging = false; // Purpur
+ protected boolean upnp = false; // Purpur
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -1045,6 +1046,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@@ -1054,6 +1055,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
MinecraftTimings.stopServer(); // Paper
@@ -33,7 +33,7 @@ index 76f31bf31f77c8347b9436779c3701f8a87045e6..781eb66ada5fd2bf821453be3b14c590
if (this.server != null) {
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
index 86c25c52e4c42074866975884ec15dc099a77591..dfb502be415eb0e8750b0307d908bc42f11a2988 100644
index de85340fe0a0e057c527cc1fa91ae6bec558228a..e73c07257395198e123019811b20fec6adf8f0ef 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -292,6 +292,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
index 781eb66ada5fd2bf821453be3b14c59026217999..c3c5d392f1295e7edc0e96881f90f96cace5486f 100644
index 2cbd4a0d12a643f1f7446d005433580fb1a81a42..a795427f35cb15a984d76391a90e702e44562e45 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1148,6 +1148,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1166,6 +1166,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
@@ -17,7 +17,7 @@ index 781eb66ada5fd2bf821453be3b14c59026217999..c3c5d392f1295e7edc0e96881f90f96c
this.hasLoggedStop = true; // 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
index dfb502be415eb0e8750b0307d908bc42f11a2988..136ac58eef2c243650ffb390459d6959b90d5202 100644
index e73c07257395198e123019811b20fec6adf8f0ef..b18ed9645dfda3a7a12500533394fcd16d1829cd 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -390,6 +390,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index de24307e48e7bc6cc39234fae55ddb404df243b3..f2bf1a9856fb1200f750b06b64e83b1b12e4068d 100644
index 78e1f0f9bbe861bf3986cea5074c6c49d8fb6510..f598939777eb4ee2d8aff851e1a20a033d8aa02b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2770,7 +2770,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -2795,7 +2795,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
// Paper start - Fix merchant inventory not closing on entity removal

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for enchant level clamping
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
index e114e687f2f4503546687fd6792226a643af8793..cccdf61ff0b08531ec0f2165588abe5dd4d488eb 100644
index 90ca25c4aaf92a5639839a7cdaee2ffcdb75efa7..5e9a2838335179566bdcd79bca0cb849c725b73b 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -119,6 +119,11 @@ public class Main {
@@ -120,6 +120,11 @@ public class Main {
JvmProfiler.INSTANCE.start(Environment.SERVER);
}

View File

@@ -29,10 +29,10 @@ index 0c3c82b28e581286b798ee58ca4193efc2faff4a..24121a43aeb5e9bce013f30c92dddd15
// 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 d0d36a57ec4896bcb74970f8fb24d8f3e17db133..0c8fe5b2500480c3a9e9ab3285ad22e0e599d953 100644
index e2c24813f59c2fd075c740ac1842a38f20ed8554..01efbc507b3d58f13f78ee286f93df40cdc3f0cb 100644
--- a/src/main/java/net/minecraft/network/protocol/PacketUtils.java
+++ b/src/main/java/net/minecraft/network/protocol/PacketUtils.java
@@ -32,7 +32,7 @@ public class PacketUtils {
@@ -52,7 +52,7 @@ public class PacketUtils {
if (listener instanceof ServerCommonPacketListenerImpl serverCommonPacketListener && serverCommonPacketListener.processedDisconnect) return; // CraftBukkit - Don't handle sync packets for kicked players
if (listener.shouldHandleMessage(packet)) {
co.aikar.timings.Timing timing = co.aikar.timings.MinecraftTimings.getPacketTiming(packet); // Paper - timings
@@ -42,19 +42,19 @@ index d0d36a57ec4896bcb74970f8fb24d8f3e17db133..0c8fe5b2500480c3a9e9ab3285ad22e0
} 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 c3c5d392f1295e7edc0e96881f90f96cace5486f..9ab3a164c079721d2c4650ff0cf5aec82ada09bc 100644
index a795427f35cb15a984d76391a90e702e44562e45..c5afb410b893b5f60817ae2775758bfc0e510d67 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1619,7 +1619,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
@@ -1662,7 +1662,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public void tickServer(BooleanSupplier shouldKeepTicking) {
org.spigotmc.WatchdogThread.tick(); // Spigot
- co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper
+ //co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper // Purpur
long i = Util.getNanos();
int j = this.pauseWhileEmptySeconds() * 20;
@@ -1643,11 +1643,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1686,11 +1686,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Paper start - move oversleep into full server tick
@@ -68,7 +68,7 @@ index c3c5d392f1295e7edc0e96881f90f96cace5486f..9ab3a164c079721d2c4650ff0cf5aec8
// Paper end
new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper - Server Tick Events
@@ -1667,9 +1667,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1710,9 +1710,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ProfilerFiller gameprofilerfiller = Profiler.get();
// Paper start - move executeAll() into full server tick timing
@@ -80,7 +80,7 @@ index c3c5d392f1295e7edc0e96881f90f96cace5486f..9ab3a164c079721d2c4650ff0cf5aec8
// Paper end
// Paper start - Server Tick Events
long endTime = System.nanoTime();
@@ -1691,7 +1691,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1734,7 +1734,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Add tick times API and /mspt command
this.logTickMethodTime(i);
gameprofilerfiller.pop();
@@ -89,7 +89,7 @@ index c3c5d392f1295e7edc0e96881f90f96cace5486f..9ab3a164c079721d2c4650ff0cf5aec8
}
private void autoSave() {
@@ -1775,9 +1775,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1818,9 +1818,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getPlayerList().getPlayers().forEach((entityplayer) -> {
entityplayer.connection.suspendFlushing();
});
@@ -101,7 +101,7 @@ index c3c5d392f1295e7edc0e96881f90f96cace5486f..9ab3a164c079721d2c4650ff0cf5aec8
// Paper start - Folia scheduler API
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
getAllLevels().forEach(level -> {
@@ -1794,21 +1794,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1837,21 +1837,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
gameprofilerfiller.push("commandFunctions");
@@ -128,7 +128,7 @@ index c3c5d392f1295e7edc0e96881f90f96cace5486f..9ab3a164c079721d2c4650ff0cf5aec8
// 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()) {
@@ -1828,7 +1828,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1871,7 +1871,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// Paper end - Perf: Optimize time updates
@@ -137,7 +137,7 @@ index c3c5d392f1295e7edc0e96881f90f96cace5486f..9ab3a164c079721d2c4650ff0cf5aec8
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
@@ -1855,9 +1855,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1898,9 +1898,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
gameprofilerfiller.push("tick");
try {
@@ -149,7 +149,7 @@ index c3c5d392f1295e7edc0e96881f90f96cace5486f..9ab3a164c079721d2c4650ff0cf5aec8
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
@@ -1871,24 +1871,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1914,24 +1914,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
gameprofilerfiller.popPush("connection");
@@ -181,10 +181,10 @@ index c3c5d392f1295e7edc0e96881f90f96cace5486f..9ab3a164c079721d2c4650ff0cf5aec8
gameprofilerfiller.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 136ac58eef2c243650ffb390459d6959b90d5202..51abda23e30e56d79b3e020d0407c1cfe25d8ab9 100644
index b18ed9645dfda3a7a12500533394fcd16d1829cd..71420de8a37b004dfa3940abb537321cc82e1993 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -524,7 +524,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -525,7 +525,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
}
public void handleConsoleInputs() {
@@ -193,7 +193,7 @@ index 136ac58eef2c243650ffb390459d6959b90d5202..51abda23e30e56d79b3e020d0407c1cf
// Paper start - Perf: use proper queue
ConsoleInput servercommand;
while ((servercommand = this.serverCommandQueue.poll()) != null) {
@@ -541,7 +541,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -542,7 +542,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
// CraftBukkit end
}
@@ -316,7 +316,7 @@ index 4b5985c284faac7b06c0f99d53065f5060ecff4a..96f9d18eb22380cccd35b486713583d6
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index f2bf1a9856fb1200f750b06b64e83b1b12e4068d..6e4ca03d66d870cca45aef1e49c18a470ebd7dc0 100644
index f598939777eb4ee2d8aff851e1a20a033d8aa02b..47ae7af2a0ff8ab4181cf447c58410ccb0f37371 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -757,7 +757,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -404,7 +404,7 @@ index f2bf1a9856fb1200f750b06b64e83b1b12e4068d..6e4ca03d66d870cca45aef1e49c18a47
gameprofilerfiller.pop();
}
@@ -1344,8 +1344,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1363,8 +1363,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Spigot end
// Paper start- timings
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
@@ -415,7 +415,7 @@ index f2bf1a9856fb1200f750b06b64e83b1b12e4068d..6e4ca03d66d870cca45aef1e49c18a47
// Paper end - timings
entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = Profiler.get();
@@ -1360,7 +1360,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1379,7 +1379,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.postTick(); // CraftBukkit
} else { entity.inactiveTick(); } // Paper - EAR 2
gameprofilerfiller.pop();
@@ -424,7 +424,7 @@ index f2bf1a9856fb1200f750b06b64e83b1b12e4068d..6e4ca03d66d870cca45aef1e49c18a47
Iterator iterator = entity.getPassengers().iterator();
while (iterator.hasNext()) {
@@ -1424,7 +1424,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1449,7 +1449,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (!savingDisabled) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(this.getWorld())); // CraftBukkit
@@ -433,7 +433,7 @@ index f2bf1a9856fb1200f750b06b64e83b1b12e4068d..6e4ca03d66d870cca45aef1e49c18a47
if (progressListener != null) {
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
}
@@ -1434,10 +1434,10 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1459,10 +1459,10 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
progressListener.progressStage(Component.translatable("menu.savingChunks"));
}
@@ -448,7 +448,7 @@ index f2bf1a9856fb1200f750b06b64e83b1b12e4068d..6e4ca03d66d870cca45aef1e49c18a47
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index a170b6b357987d6e1cb42a9b54a2b8d965395db6..988490d84188e61ce716506585c80c85e59c692a 100644
index 479d493421453f875bd04ee6a734db62ef4ac816..99a20052536884ef78f55ddce4ddae369b1d53c2 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1192,11 +1192,11 @@ public abstract class PlayerList {
@@ -516,7 +516,7 @@ index 8bc7979fb9c2a796921a2a279b78294809f2ed03..043e078f2c108d9ff77d3b21f96a6a10
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 85ae5c9c873dab19f897fe50b70c62e3c094bd42..5a8b02d93f3d7eb882e93c9698858e7ae55c79e6 100644
index 3befc3c882b69ad27ef7b83d116781d740dbf4b7..e14e9ae4f16dff8486c98f391c27ead816c2a080 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1491,15 +1491,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -570,7 +570,7 @@ index 6eb69ebe688c1c52d5a5986dfc63cdd42e66687e..f6fb4892c95f9716628ed8a90d1560b7
}
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 e03d57f58a9f962cd429e8851fb3f35f3491e2c0..a1a5b34b059d3beaa042f8f2d0ba509191df6f15 100644
index 1313ac2ff9f1b9fccab54b0c200b9dfa7a4edd00..c1ce5a43b5759f204c432cbfbcdcb14b5ef43dc0 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -691,7 +691,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -600,7 +600,7 @@ index e03d57f58a9f962cd429e8851fb3f35f3491e2c0..a1a5b34b059d3beaa042f8f2d0ba5091
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
if (this.blockEntity.getType().isValid(iblockdata)) {
@@ -1089,7 +1089,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -1090,7 +1090,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
// Paper end - Prevent block entity and entity crashes
// Spigot start
} finally {

View File

@@ -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
index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d5666118daf5 100644
index c5afb410b893b5f60817ae2775758bfc0e510d67..13f29051f55b5628d91b4dca06051e41097badcd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -428,12 +428,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -431,12 +431,12 @@ 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) {
super("Server");
SERVER = this; // Paper - better singleton
@@ -104,9 +104,9 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
this.random = RandomSource.create();
this.port = -1;
this.levels = Maps.newLinkedHashMap();
@@ -1039,9 +1039,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
if (!hasLoggedStop && isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
@@ -1048,9 +1048,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
org.spigotmc.WatchdogThread.doStop(); // Paper
// Paper end
// CraftBukkit end
- if (this.metricsRecorder.isRecording()) {
+ /*if (this.metricsRecorder.isRecording()) { // Purpur
@@ -116,7 +116,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -1304,22 +1304,22 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1334,22 +1334,22 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
boolean flag = i == 0L;
@@ -144,7 +144,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
this.tickFrame.start();
this.tickServer(flag ? () -> {
return false;
@@ -1332,7 +1332,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1362,7 +1362,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Paper end - rewrite chunk system
this.tickFrame.end();
@@ -153,7 +153,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
if (!org.purpurmc.purpur.PurpurConfig.tpsCatchup /*|| !gg.pufferfish.pufferfish.PufferfishConfig.tpsCatchup*/) { // Purpur // Purpur - TODO: Pufferfish
@@ -1346,23 +1346,23 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1376,23 +1376,23 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickRateManager.endTickWork();
}
@@ -182,7 +182,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
} finally {
this.endMetricsRecordingTick();
}
@@ -1572,7 +1572,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1614,7 +1614,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
@@ -191,7 +191,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
super.doRunTask(ticktask);
}
@@ -1664,7 +1664,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1707,7 +1707,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.autoSave();
}
@@ -200,7 +200,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
// Paper start - move executeAll() into full server tick timing
//try (co.aikar.timings.Timing ignored = MinecraftTimings.processTasksTimer.startTiming()) { // Purpur
@@ -1676,7 +1676,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1719,7 +1719,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
// Paper end - Server Tick Events
@@ -209,7 +209,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
long k = Util.getNanos() - i;
int l = this.tickCount % 100;
@@ -1690,7 +1690,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1733,7 +1733,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickTimes60s.add(this.tickCount, k);
// Paper end - Add tick times API and /mspt command
this.logTickMethodTime(i);
@@ -218,7 +218,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
}
@@ -1793,11 +1793,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1836,11 +1836,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
@@ -232,7 +232,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
//Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down
// CraftBukkit start
@@ -1839,20 +1839,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1882,20 +1882,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
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@@ -258,7 +258,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1865,16 +1865,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1908,16 +1908,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
@@ -279,7 +279,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1882,7 +1882,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1925,7 +1925,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick();
}
@@ -288,7 +288,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1890,7 +1890,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1933,7 +1933,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -297,7 +297,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) {
@@ -1900,7 +1900,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1943,7 +1943,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.resumeFlushing();
}
@@ -306,7 +306,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
}
public void tickConnection() {
@@ -1912,9 +1912,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1955,9 +1955,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void forceTimeSynchronization() {
@@ -318,7 +318,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) {
@@ -1923,7 +1923,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1966,7 +1966,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver);
}
@@ -327,7 +327,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
}
public boolean isLevelEnabled(Level world) {
@@ -2868,7 +2868,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2919,7 +2919,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
private ProfilerFiller createProfiler() {
@@ -336,7 +336,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
this.executeBlocking(() -> {
this.saveDebugReport(path.resolve("server"));
@@ -2878,37 +2878,38 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2929,37 +2929,38 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false;
}
@@ -384,7 +384,7 @@ index 9ab3a164c079721d2c4650ff0cf5aec82ada09bc..195f5fa4f01a3c835bbb98e8aaf3d566
}
public Path getWorldPath(LevelResource worldSavePath) {
@@ -2961,15 +2962,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -3012,15 +3013,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public boolean isTimeProfilerRunning() {
@@ -660,7 +660,7 @@ index 96f9d18eb22380cccd35b486713583d6dfa46646..1961b18a2b5e5985181f0ca930ab14ba
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 6e4ca03d66d870cca45aef1e49c18a470ebd7dc0..96cc9d02379806704a5acd3eda0685204a192a6e 100644
index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..b3e51add828d46fc182f6ffccc7e9e8df2b5ee36 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -714,16 +714,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -824,7 +824,7 @@ index 6e4ca03d66d870cca45aef1e49c18a470ebd7dc0..96cc9d02379806704a5acd3eda068520
}
@VisibleForTesting
@@ -1348,18 +1348,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1367,18 +1367,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
//try { // Purpur
// Paper end - timings
entity.setOldPosAndRot();
@@ -848,7 +848,7 @@ index 6e4ca03d66d870cca45aef1e49c18a470ebd7dc0..96cc9d02379806704a5acd3eda068520
//} finally { timer.stopTiming(); } // Paper - timings // EAR 2 // Purpur
Iterator iterator = entity.getPassengers().iterator();
@@ -1377,12 +1377,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1402,12 +1402,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
passenger.setOldPosAndRot();
++passenger.tickCount;
@@ -865,7 +865,7 @@ index 6e4ca03d66d870cca45aef1e49c18a470ebd7dc0..96cc9d02379806704a5acd3eda068520
// Paper start - EAR 2
if (isActive) {
passenger.rideTick();
@@ -1394,7 +1394,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1419,7 +1419,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
vehicle.positionRider(passenger);
}
// Paper end - EAR 2
@@ -1180,7 +1180,7 @@ index bc5c8879befe849ce81becf5e3fba6757b01cb70..ce81d6bd87f688a24003f2fbf6d5010a
}
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index aa0771c7ab8302c03d7a54c6c1282e21defc4de7..1bab4593cfb738ed6253482d36dc99b755d4e55f 100644
index 5b1b34dbc2841ddf6789c47b6e055ef6647a2ba9..e5eadc68c1e1b0fe2b7d638d2630ab22c332b381 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -946,9 +946,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -1204,7 +1204,7 @@ index aa0771c7ab8302c03d7a54c6c1282e21defc4de7..1bab4593cfb738ed6253482d36dc99b7
}
public void setSharedFlagOnFire(boolean onFire) {
@@ -1208,9 +1208,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -1243,9 +1243,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}
@@ -1216,7 +1216,7 @@ index aa0771c7ab8302c03d7a54c6c1282e21defc4de7..1bab4593cfb738ed6253482d36dc99b7
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
movement = movement.multiply(this.stuckSpeedMultiplier);
this.stuckSpeedMultiplier = Vec3.ZERO;
@@ -1219,7 +1219,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -1254,7 +1254,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// Paper start - ignore movement changes while inactive.
if (isTemporarilyActive && !(this instanceof ItemEntity) && movement == getDeltaMovement() && type == MoverType.SELF) {
setDeltaMovement(Vec3.ZERO);
@@ -1225,7 +1225,7 @@ index aa0771c7ab8302c03d7a54c6c1282e21defc4de7..1bab4593cfb738ed6253482d36dc99b7
return;
}
// Paper end
@@ -1240,8 +1240,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -1275,8 +1275,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
}
@@ -1236,7 +1236,7 @@ index aa0771c7ab8302c03d7a54c6c1282e21defc4de7..1bab4593cfb738ed6253482d36dc99b7
boolean flag = !Mth.equal(movement.x, vec3d1.x);
boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
@@ -1263,7 +1263,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -1298,7 +1298,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
if (this.isRemoved()) {
@@ -1245,7 +1245,7 @@ index aa0771c7ab8302c03d7a54c6c1282e21defc4de7..1bab4593cfb738ed6253482d36dc99b7
} else {
if (this.horizontalCollision) {
Vec3 vec3d2 = this.getDeltaMovement();
@@ -3470,9 +3470,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3512,9 +3512,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.processPortalCooldown();
if (this.portalProcess != null) {
if (this.portalProcess.processPortalTeleportation(worldserver, this, this.canUsePortal(false))) {
@@ -1257,7 +1257,7 @@ index aa0771c7ab8302c03d7a54c6c1282e21defc4de7..1bab4593cfb738ed6253482d36dc99b7
this.setPortalCooldown();
TeleportTransition teleporttransition = this.portalProcess.getPortalDestination(worldserver, this);
@@ -3484,7 +3484,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3526,7 +3526,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}
@@ -1266,7 +1266,7 @@ index aa0771c7ab8302c03d7a54c6c1282e21defc4de7..1bab4593cfb738ed6253482d36dc99b7
} else if (this.portalProcess.hasExpired()) {
this.portalProcess = null;
}
@@ -4035,12 +4035,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4077,12 +4077,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}
@@ -1939,7 +1939,7 @@ index c885b214f4d7d91627e98d8779aab8515f205636..b4ffad429ace965f16ebf47119c880b7
this.assignProfessionWhenSpawned = false;
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 5a8b02d93f3d7eb882e93c9698858e7ae55c79e6..28350e63cb6718af521eda3b6814418957028620 100644
index e14e9ae4f16dff8486c98f391c27ead816c2a080..224ad8e6553f019d5717d3bf70d11b034147fbdc 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -271,7 +271,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1981,7 +1981,7 @@ index 5a8b02d93f3d7eb882e93c9698858e7ae55c79e6..28350e63cb6718af521eda3b68144189
this.spigotConfig.currentPrimedTnt = 0; // Spigot
}
@@ -1702,7 +1702,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1703,7 +1703,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@Override
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
@@ -1990,7 +1990,7 @@ index 5a8b02d93f3d7eb882e93c9698858e7ae55c79e6..28350e63cb6718af521eda3b68144189
List<Entity> list = Lists.newArrayList();
// Paper start - rewrite chunk system
@@ -1732,7 +1732,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1733,7 +1733,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest,
final AABB boundingBox, final Predicate<? super T> predicate,
final List<? super T> into, final int maxCount) {
@@ -2013,7 +2013,7 @@ index f6fb4892c95f9716628ed8a90d1560b7c0a2e032..4bdfba6dbe88dbc7ce901b235a524ba2
// 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
index a1a5b34b059d3beaa042f8f2d0ba509191df6f15..a6b6bdbdd245e864bd7b8622c4d391c85bfeb8e9 100644
index c1ce5a43b5759f204c432cbfbcdcb14b5ef43dc0..b525ab58998f4ead44f8a2b37ac2391c7de81df4 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -407,11 +407,11 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -2050,8 +2050,8 @@ index a1a5b34b059d3beaa042f8f2d0ba509191df6f15..a6b6bdbdd245e864bd7b8622c4d391c8
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop();
} catch (Throwable throwable) {
if (throwable instanceof ThreadDeath) throw throwable; // Paper
// 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
index cc7d94144e39f7dace7b569b4567def98396e8f9..91abbda59446d462979dddc4b380c6f24d0b4c92 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fire Immunity API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1bab4593cfb738ed6253482d36dc99b755d4e55f..285ef87b7088f905bb77c408465ccbca6644454f 100644
index e5eadc68c1e1b0fe2b7d638d2630ab22c332b381..7976a517f56b8af3a7c2aab5a4fc829acd87fa64 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -432,6 +432,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -16,7 +16,7 @@ index 1bab4593cfb738ed6253482d36dc99b755d4e55f..285ef87b7088f905bb77c408465ccbca
public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector();
@@ -1950,7 +1951,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -1992,7 +1993,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public boolean fireImmune() {
@@ -25,7 +25,7 @@ index 1bab4593cfb738ed6253482d36dc99b755d4e55f..285ef87b7088f905bb77c408465ccbca
}
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
@@ -2705,6 +2706,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -2747,6 +2748,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
nbttagcompound.putBoolean("Paper.FreezeLock", true);
}
// Paper end
@@ -37,7 +37,7 @@ index 1bab4593cfb738ed6253482d36dc99b755d4e55f..285ef87b7088f905bb77c408465ccbca
return nbttagcompound;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
@@ -2853,6 +2859,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -2895,6 +2901,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
}
// Paper end

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
index 51abda23e30e56d79b3e020d0407c1cfe25d8ab9..73216c774f2ee5455c4b118180b2dcc2e3a24f0d 100644
index 71420de8a37b004dfa3940abb537321cc82e1993..b96c331ec8c196b2a08dc2b04db475426805ba6a 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -113,6 +113,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
index 637d64da9938e51a97338b9253b43889585c67bb..f9313059b4e3b2d100e66ed8a70d4811dc394031 100644
index d2a75850af9c6ad2aca66a5f994f1b587d73eac4..a056aa167887abef9e6d531a9edd2cda433567d2 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -2,7 +2,16 @@
<Configuration status="WARN">
<Configuration status="WARN" shutdownHook="disable">
<Appenders>
<Queue name="ServerGuiConsole">
- <PatternLayout pattern="[%d{HH:mm:ss} %level]: %msg{nolookups}%n" />

View File

@@ -20,10 +20,10 @@ index cbbddb924f46203bd600b838fc22902cbcb2124b..647a3ac2aea4dadd638836f831cc3768
DebugPathCommand.register(this.dispatcher);
DebugMobSpawningCommand.register(this.dispatcher);
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
index cccdf61ff0b08531ec0f2165588abe5dd4d488eb..5af4bed9602fb3bb2e5c92f97e95b97294ee6123 100644
index 5e9a2838335179566bdcd79bca0cb849c725b73b..f0d762bd140fad27ae73bcf3e61b640b9e3f2592 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -122,6 +122,7 @@ public class Main {
@@ -123,6 +123,7 @@ public class Main {
// Purpur start - load config files early
org.bukkit.configuration.file.YamlConfiguration purpurConfiguration = io.papermc.paper.configuration.PaperConfigurations.loadLegacyConfigFile((File) optionset.valueOf("purpur-settings"));
org.purpurmc.purpur.PurpurConfig.clampEnchantLevels = purpurConfiguration.getBoolean("settings.enchantment.clamp-levels");

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
index 195f5fa4f01a3c835bbb98e8aaf3d5666118daf5..c069393863937cbd37718ab5a93c97a63acd79dd 100644
index 13f29051f55b5628d91b4dca06051e41097badcd..f6b6231c32afb4e1838deec5b2f861300152ee8b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1258,6 +1258,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1288,6 +1288,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// Purpur end