Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@b561a12 Fix SuspiciousStewMeta
PaperMC/Paper@9624451 Add missing kick event cause
PaperMC/Paper@6be4395 Migrate paper log ips option to new server.properties option
PaperMC/Paper@2ec643a Readd anti xray and oversized block entity patches
PaperMC/Paper@8d92274 Drop no longer needed patch
PaperMC/Paper@38dc3b2 Optimise chunk tick iteration
PaperMC/Paper@84556f3 Add lag compensation for breaking blocks
PaperMC/Paper@5dca26c Fix race condition on UpgradeData.BlockFixers class init
PaperMC/Paper@ea56138 Fix some issues
PaperMC/Paper@025c5d7 rebuild patches
PaperMC/Paper@866d2d9 Use correct ClientboundLevelChunkWithLightPacket constructor in later patch
PaperMC/Paper@8b9e3dc Optimise nearby player retrieval
PaperMC/Paper@11138a7 Re-add remove streams for Brain AI patch
PaperMC/Paper@7a00758 Rebuild patches
PaperMC/Paper@e284bb1 Updated Upstream (Bukkit/CraftBukkit)
This commit is contained in:
granny
2023-09-24 03:23:36 -07:00
parent 8a46226fdd
commit 01e013b173
46 changed files with 269 additions and 268 deletions

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.20.2-R0.1-SNAPSHOT version = 1.20.2-R0.1-SNAPSHOT
mcVersion = 1.20.2 mcVersion = 1.20.2
paperCommit = 9c126fd2a976c1557d418f4ccce532f8ad62042b paperCommit = e284bb12156fad92767ceadf3d5e57cbc71e5b21
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 26618ddf85952694ae2c78f41a19e4b9a324f059..a20880e771091f6ab9cb7f8e03b7cf97fc8db9df 100644 index f1ade7432ae6fae1bceb90f975448ab43543942f..6b2cbb566dfdc2bc751a0870594b1499df7ea797 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
@@ -32,8 +32,8 @@ index 26618ddf85952694ae2c78f41a19e4b9a324f059..a20880e771091f6ab9cb7f8e03b7cf97
+ implementation("dev.omega24:upnp4j:1.0") // Purpur + implementation("dev.omega24:upnp4j:1.0") // Purpur
+ +
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
testImplementation("junit:junit:4.13.2") testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
testImplementation("org.hamcrest:hamcrest-library:1.3") testImplementation("org.hamcrest:hamcrest:2.2")
@@ -72,7 +80,7 @@ tasks.jar { @@ -72,7 +80,7 @@ tasks.jar {
attributes( attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main", "Main-Class" to "org.bukkit.craftbukkit.Main",
@@ -175,10 +175,10 @@ index 1d714d3eff11ed14f218656008190017494d4830..ed3527612315e6e0649182ce4e1ae283
stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n"); stringbuilder.append("\n\n");
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 8f0769d248c7f3cce753130147223403c7923304..34ece9ef681db6ebd0081e676e5eb9a0747442c4 100644 index 97745f0bab8d82d397c6c2a5775aed92bca0a034..707a02804db563d94360b65d156c40be3aa30aeb 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
@@ -905,7 +905,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -908,7 +908,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
shutdownThread = Thread.currentThread(); shutdownThread = Thread.currentThread();
org.spigotmc.WatchdogThread.doStop(); // Paper org.spigotmc.WatchdogThread.doStop(); // Paper
if (!isSameThread()) { if (!isSameThread()) {
@@ -187,7 +187,7 @@ index 8f0769d248c7f3cce753130147223403c7923304..34ece9ef681db6ebd0081e676e5eb9a0
while (this.getRunningThread().isAlive()) { while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop(); this.getRunningThread().stop();
try { try {
@@ -1693,7 +1693,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1697,7 +1697,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {
@@ -197,7 +197,7 @@ index 8f0769d248c7f3cce753130147223403c7923304..34ece9ef681db6ebd0081e676e5eb9a0
public SystemReport fillSystemReport(SystemReport details) { public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7e38dd8b7015f8f648c551ab0a83c4822bfa37a0..4bd1410ab694a85d828da59615cfbc4fa0b4d237 100644 index fcd5096d64edfaf6bce3ecce8c9b9afb84462786..00997982aa478aba822b288f4f18779d8dbcf3cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -267,7 +267,7 @@ import javax.annotation.Nullable; // Paper @@ -267,7 +267,7 @@ import javax.annotation.Nullable; // Paper

View File

@@ -63,7 +63,7 @@ index 56ae02aab93b9a698e9d2f07a0448aa4767169d9..756651db912068c837197a972e95bc66
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 18348d01003c8b3299ae3d5292fd9e50f9153cce..546c233c0049c88610baa405f932bbd1d8ddf2fb 100644 index dbccbcb9b44e4efacdf53c2d161115cc20b36cff..aa85cb619315b327469e6aea92876f47235ce725 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
@@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -83,19 +83,19 @@ index 18348d01003c8b3299ae3d5292fd9e50f9153cce..546c233c0049c88610baa405f932bbd1
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
// Paper end // Paper end
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 ce422c31385d9518e798c7a3456fad747b09ea61..5101c5d3b2dc4b9ae72d2c9bc8bbe83ad6836515 100644 index ea8a0961190e9aafda4fed6fecd85097c141040a..4aa00bd0f7a2ec277fdfa1c107a75d1c5276493c 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
@@ -175,6 +175,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -176,6 +176,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
// Paper end // Paper end
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
+ public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur + public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
public final co.aikar.timings.WorldTimingsHandler timings; // Paper public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter; private org.spigotmc.TickLimiter entityLimiter;
@@ -212,6 +213,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -213,6 +214,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator) { // Paper protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur + this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
@@ -103,7 +103,7 @@ index ce422c31385d9518e798c7a3456fad747b09ea61..5101c5d3b2dc4b9ae72d2c9bc8bbe83a
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4bd1410ab694a85d828da59615cfbc4fa0b4d237..1225adadac3b4dd0e371b77efd8f30e99b71c4b9 100644 index 00997982aa478aba822b288f4f18779d8dbcf3cc..c4c4d18b333479062f27841ed21d827e4c2096cf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1039,6 +1039,7 @@ public final class CraftServer implements Server { @@ -1039,6 +1039,7 @@ public final class CraftServer implements Server {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6a11b262a6f1cd5eba96471666098c82978027ff..8a6d072bf5bb00a7c2a0460b85ba93b549825374 100644 index d4aec99cac3f83d764e21946cc904c00e084704e..9f3e932d9e1ff6986962244e95528a7dba7e90ea 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -274,6 +274,7 @@ public class ServerPlayer extends Player { @@ -273,6 +273,7 @@ public class ServerPlayer extends Player {
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
@@ -17,7 +17,7 @@ index 6a11b262a6f1cd5eba96471666098c82978027ff..8a6d072bf5bb00a7c2a0460b85ba93b5
// Paper start - replace player chunk loader // Paper start - replace player chunk loader
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 2a1cf4ff3d0cc062b593f5c58ee80b00395b097e..566a9449cf8a10fff9266a4384cfeb9492f4666e 100644 index ff01c0e7f1d84a4a6e2684446ef1172754ddc570..cee15bbd2fd38a76d879f18f540eb357ddeeec92 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -56,6 +56,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @@ -56,6 +56,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8a6d072bf5bb00a7c2a0460b85ba93b549825374..c30c707fc08493b9ee0c8d48652df80e55b8764f 100644 index 9f3e932d9e1ff6986962244e95528a7dba7e90ea..3e8527b526d3cd06c28a6ee94463b09bac95cb0e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1782,6 +1782,26 @@ public class ServerPlayer extends Player { @@ -1783,6 +1783,26 @@ public class ServerPlayer extends Player {
this.lastSentExp = -1; // CraftBukkit - Added to reset this.lastSentExp = -1; // CraftBukkit - Added to reset
} }
@@ -36,7 +36,7 @@ index 8a6d072bf5bb00a7c2a0460b85ba93b549825374..c30c707fc08493b9ee0c8d48652df80e
public void displayClientMessage(Component message, boolean overlay) { public void displayClientMessage(Component message, boolean overlay) {
this.sendSystemMessage(message, 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 diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index ba415d400c706c0483c0dc8da959b5ff39de1f4d..2fcf7f80be5f6a96c4ed45459fef3ced1f9e3813 100644 index 48d1444fbad1c57738807d0128b94160a5a17a4d..09b111dd0189b8764569e24fb6de862b1bb3bc89 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
@@ -1039,6 +1039,20 @@ public abstract class PlayerList { @@ -1039,6 +1039,20 @@ public abstract class PlayerList {

View File

@@ -22,10 +22,10 @@ index 83cab746d1d6fe25c043c8aee28c39412b90c127..ec6b58dae525c81bbb1c0e2d96fbded6
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 34ece9ef681db6ebd0081e676e5eb9a0747442c4..8c4bc2d32fa1c6d372edd8169207de17f41b3c19 100644 index 707a02804db563d94360b65d156c40be3aa30aeb..5534a881d0c716fd4280017c0c21cb7c5a95d269 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
@@ -1525,6 +1525,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1529,6 +1529,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@@ -34,7 +34,7 @@ index 34ece9ef681db6ebd0081e676e5eb9a0747442c4..8c4bc2d32fa1c6d372edd8169207de17
this.profiler.push(() -> { this.profiler.push(() -> {
return worldserver + " " + worldserver.dimension().location(); return worldserver + " " + worldserver.dimension().location();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 8cb1299d9110adc8f11e9be984ed8a4326a330cf..d060a6a45c614c92dd45e96bc1bf39ace3347fbb 100644 index f502b01b564bd33c449cbe621966ef4076a38cca..8768ad8207ded2dfca532c69238dbd3cf68e2b97 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -223,6 +223,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -223,6 +223,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -46,10 +46,10 @@ index 8cb1299d9110adc8f11e9be984ed8a4326a330cf..d060a6a45c614c92dd45e96bc1bf39ac
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index c30c707fc08493b9ee0c8d48652df80e55b8764f..efaac631df6fb44979045c79162b9f9c580c3440 100644 index 3e8527b526d3cd06c28a6ee94463b09bac95cb0e..c2927df8ebb8977d3d43928fe91c977b0c29d854 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -754,6 +754,15 @@ public class ServerPlayer extends Player { @@ -755,6 +755,15 @@ public class ServerPlayer extends Player {
this.trackStartFallingPosition(); this.trackStartFallingPosition();
this.trackEnteredOrExitedLavaOnVehicle(); this.trackEnteredOrExitedLavaOnVehicle();
this.advancements.flushDirty(this); this.advancements.flushDirty(this);
@@ -191,7 +191,7 @@ index 1bb8b6e91c44cd13411d96d749fa64835c75a267..75c278b67ad2b78766efd8f89c4c2ca7
protected ParticleOptions getInkParticle() { protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK; return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 641d4bb568784087426a5e28f96e16858ccb1074..e6b83abce3bbd2f5e89d02415bcc6b1a1b0b5da9 100644 index c039c77d0dd6ec1d336948ca6b5351d6fae1d8bb..49fb2604e5227c454026d5c060130c52de2070c8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -219,9 +219,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -219,9 +219,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -6674,10 +6674,10 @@ index 0000000000000000000000000000000000000000..18a95e043cbffa65eeaaf65ff7695e5d
+ } + }
+} +}
diff --git a/src/test/java/com/destroystokyo/paper/entity/ai/VanillaMobGoalTest.java b/src/test/java/com/destroystokyo/paper/entity/ai/VanillaMobGoalTest.java diff --git a/src/test/java/com/destroystokyo/paper/entity/ai/VanillaMobGoalTest.java b/src/test/java/com/destroystokyo/paper/entity/ai/VanillaMobGoalTest.java
index b2d510459bcf90a3611f3d91dae4ccc3d29b4079..7a052f6deaa30f8a177a2aaf172f9da6c308a22b 100644 index 654ed436e99dd56f1fe7c1d4f38da34d95ce9349..6453b1d4182a47367e89500ed4180ce75556b47d 100644
--- a/src/test/java/com/destroystokyo/paper/entity/ai/VanillaMobGoalTest.java --- a/src/test/java/com/destroystokyo/paper/entity/ai/VanillaMobGoalTest.java
+++ b/src/test/java/com/destroystokyo/paper/entity/ai/VanillaMobGoalTest.java +++ b/src/test/java/com/destroystokyo/paper/entity/ai/VanillaMobGoalTest.java
@@ -37,7 +37,7 @@ public class VanillaMobGoalTest { @@ -36,7 +36,7 @@ public class VanillaMobGoalTest {
} }
List<Class<?>> classes; List<Class<?>> classes;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index efaac631df6fb44979045c79162b9f9c580c3440..03edb4c297285e472ca2a384fd3a95410cc5d8ee 100644 index c2927df8ebb8977d3d43928fe91c977b0c29d854..2b2d1fd4457bfac57565659d1133058eee3a34f0 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2127,8 +2127,68 @@ public class ServerPlayer extends Player { @@ -2128,8 +2128,68 @@ public class ServerPlayer extends Player {
public void resetLastActionTime() { public void resetLastActionTime() {
this.lastActionTime = Util.getMillis(); this.lastActionTime = Util.getMillis();
@@ -177,7 +177,7 @@ index 3ff999734d14e2b6e7828e117f5ee32a60c26bc1..cfa9607241c3e69777ffc317206996c2
private EntitySelector() {} private EntitySelector() {}
// Paper start // Paper start
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
index 58422f00c7d64dbd1cf6d7211c9838875cbe7778..db988d263b470e597d6df362da43d76005444572 100644 index c157309ac78e7af084d3acb6e8b2bcd469a39d5e..631b6f26c96e7de65c8ab5377f1b82c7f56df96c 100644
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java --- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java +++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
@@ -64,6 +64,10 @@ public class TargetingConditions { @@ -64,6 +64,10 @@ public class TargetingConditions {
@@ -210,7 +210,7 @@ index ea475f6fff35e346ca153a385d6b20f90b5f4283..535fe476ebe5b791cae7a4013c4a498b
public CraftHumanEntity getBukkitEntity() { public CraftHumanEntity getBukkitEntity() {
return (CraftHumanEntity) super.getBukkitEntity(); return (CraftHumanEntity) super.getBukkitEntity();
diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java
index b3293a722fb5c5262a777402140c764c03367800..67ebddfdcc298198f1a79a0b4875ec8258244ffd 100644 index aaa07fcd4b32fe0de88142ab30378327a01f1729..bc8555d21d418f9da37cc089904f7cb038b1cdbe 100644
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java --- a/src/main/java/net/minecraft/world/level/EntityGetter.java
+++ b/src/main/java/net/minecraft/world/level/EntityGetter.java +++ b/src/main/java/net/minecraft/world/level/EntityGetter.java
@@ -191,7 +191,7 @@ public interface EntityGetter { @@ -191,7 +191,7 @@ public interface EntityGetter {

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 8c4bc2d32fa1c6d372edd8169207de17f41b3c19..64aeb6c3e99801e8683d09575b579d3032a152b6 100644 index 5534a881d0c716fd4280017c0c21cb7c5a95d269..d0f0b17f4071ca716a3f3361bf1080b9607e4e04 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
@@ -1694,7 +1694,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1698,7 +1698,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 64aeb6c3e99801e8683d09575b579d3032a152b6..e302593cd3cdba2128355be65ce3f2e40df9f660 100644 index d0f0b17f4071ca716a3f3361bf1080b9607e4e04..b064e88913e932d070f36dd3f4832f63ac5843ad 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
@@ -301,6 +301,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -301,6 +301,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index 64aeb6c3e99801e8683d09575b579d3032a152b6..e302593cd3cdba2128355be65ce3f2e4
public volatile Thread shutdownThread; // Paper public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper public volatile boolean abnormalExit = false; // Paper
@@ -1136,6 +1137,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1139,6 +1140,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[1] = tps5.getAverage(); this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage(); this.recentTps[2] = tps15.getAverage();
// Paper end // Paper end
@@ -25,7 +25,7 @@ index 64aeb6c3e99801e8683d09575b579d3032a152b6..e302593cd3cdba2128355be65ce3f2e4
} }
// Spigot end // Spigot end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 46ffe17eec96902fb7d8c35cdad0a79a5653e27c..5130300dac468560b39825dbac93d275894f6636 100644 index 95cda82554bcf888b0a94ba8f122a8a9bb2a5582..badcaf433d9862ce1b74cb283cd5151f968aab82 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3148,5 +3148,10 @@ public final class CraftServer implements Server { @@ -3148,5 +3148,10 @@ public final class CraftServer implements Server {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 566a9449cf8a10fff9266a4384cfeb9492f4666e..64b6d19db7cd0dff7c1461c051a5e4d81dcd7cae 100644 index cee15bbd2fd38a76d879f18f540eb357ddeeec92..edf3b0baa5a23dd957e2747677595cd5f5f7d55c 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -51,6 +51,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @@ -51,6 +51,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -33,7 +33,7 @@ index 566a9449cf8a10fff9266a4384cfeb9492f4666e..64b6d19db7cd0dff7c1461c051a5e4d8
//PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // CraftBukkit // Paper - This shouldn't be on the main thread //PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // CraftBukkit // Paper - This shouldn't be on the main thread
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) { if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
int i = (int) (Util.getMillis() - this.keepAliveTime); int i = (int) (Util.getMillis() - this.keepAliveTime);
@@ -207,10 +218,25 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @@ -207,6 +218,21 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
long currentTime = Util.getMillis(); long currentTime = Util.getMillis();
long elapsedTime = currentTime - this.keepAliveTime; long elapsedTime = currentTime - this.keepAliveTime;
@@ -55,11 +55,6 @@ index 566a9449cf8a10fff9266a4384cfeb9492f4666e..64b6d19db7cd0dff7c1461c051a5e4d8
if (this.keepAlivePending) { if (this.keepAlivePending) {
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
- this.disconnect(ServerCommonPacketListenerImpl.TIMEOUT_DISCONNECTION_MESSAGE);
+ this.disconnect(ServerCommonPacketListenerImpl.TIMEOUT_DISCONNECTION_MESSAGE, org.bukkit.event.player.PlayerKickEvent.Cause.TIMEOUT); // Purpur - TODO: Paper
}
} else {
if (elapsedTime >= 15000L) { // 15 seconds
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 34afed28faeb56352b48faf8078a5fb07912eb5e..ad239ba9259c5a63b40261ebc44224893496b47d 100644 index 34afed28faeb56352b48faf8078a5fb07912eb5e..ad239ba9259c5a63b40261ebc44224893496b47d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index d060a6a45c614c92dd45e96bc1bf39ace3347fbb..b0064cda4b0283d46dad53675ec70ff10c4d2015 100644 index 8768ad8207ded2dfca532c69238dbd3cf68e2b97..83616ffe1c2698418a79bbcc34995ac80becc02e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -864,10 +864,18 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -984,10 +984,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
if (flag1) { if (flag1) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 03edb4c297285e472ca2a384fd3a95410cc5d8ee..35cb194e15aacdd8022f5d29104e0cfaba9d49e3 100644 index 2b2d1fd4457bfac57565659d1133058eee3a34f0..7f88a4beb6c67f493365097314243c2c5d7fff81 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1107,6 +1107,7 @@ public class ServerPlayer extends Player { @@ -1108,6 +1108,7 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else { } else {

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 e302593cd3cdba2128355be65ce3f2e40df9f660..09dca4c159e47432c6f2a463320456a1e7f1bae5 100644 index b064e88913e932d070f36dd3f4832f63ac5843ad..0e04be813e7e0b11de4de08004c166d1fe74bedd 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
@@ -1155,7 +1155,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1158,7 +1158,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickServer(this::haveTime); this.tickServer(this::haveTime);
this.profiler.popPush("nextTickWait"); this.profiler.popPush("nextTickWait");
this.mayHaveDelayedTasks = true; this.mayHaveDelayedTasks = true;

View File

@@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
setListData(vector); setListData(vector);
} }
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 09dca4c159e47432c6f2a463320456a1e7f1bae5..5c9eda3f59998a7d7cebadd1d67c316643614796 100644 index 0e04be813e7e0b11de4de08004c166d1fe74bedd..0c3ac30bb0b932aee211857cf0c8bf7eadaf00aa 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
@@ -297,7 +297,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -297,7 +297,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -39,7 +39,7 @@ index 09dca4c159e47432c6f2a463320456a1e7f1bae5..5c9eda3f59998a7d7cebadd1d67c3166
// Spigot end // Spigot end
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations;
public static long currentTickLong = 0L; // Paper public static long currentTickLong = 0L; // Paper
@@ -1029,6 +1029,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1032,6 +1032,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;
@@ -47,7 +47,7 @@ index 09dca4c159e47432c6f2a463320456a1e7f1bae5..5c9eda3f59998a7d7cebadd1d67c3166
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);
@@ -1129,13 +1130,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1132,13 +1133,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
{ {
final long diff = curTime - tickSection; final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP); java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@@ -69,7 +69,7 @@ index 09dca4c159e47432c6f2a463320456a1e7f1bae5..5c9eda3f59998a7d7cebadd1d67c3166
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime; tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 5130300dac468560b39825dbac93d275894f6636..3f06e418e1322b966f19b488beb2780e7168b45b 100644 index badcaf433d9862ce1b74cb283cd5151f968aab82..da183351dddd0e36613004d9a0c3576203a78050 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2871,6 +2871,7 @@ public final class CraftServer implements Server { @@ -2871,6 +2871,7 @@ public final class CraftServer implements Server {

View File

@@ -27,10 +27,10 @@ index 277555a26e8281dd1a626e572794b08cf51d00c5..48e4fecf5ae5538004e3f53093b8be7c
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 5101c5d3b2dc4b9ae72d2c9bc8bbe83ad6836515..1f23c66694d601d0cb52fb637407ada5f9975420 100644 index 4aa00bd0f7a2ec277fdfa1c107a75d1c5276493c..e573b65758d63dcece863752d1308c5c2a8b60e4 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
@@ -1877,4 +1877,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1880,4 +1880,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
} }
// Paper end - notify observers even if grow failed // Paper end - notify observers even if grow failed

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 35cb194e15aacdd8022f5d29104e0cfaba9d49e3..7879d0e0b55977a372189649cfd3ac25afdaec50 100644 index 7f88a4beb6c67f493365097314243c2c5d7fff81..14fcc48f24dec99f966d629d78910725b4a99adc 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2737,4 +2737,26 @@ public class ServerPlayer extends Player { @@ -2738,4 +2738,26 @@ public class ServerPlayer extends Player {
return (CraftPlayer) super.getBukkitEntity(); return (CraftPlayer) super.getBukkitEntity();
} }
// CraftBukkit end // CraftBukkit end
@@ -36,7 +36,7 @@ index 35cb194e15aacdd8022f5d29104e0cfaba9d49e3..7879d0e0b55977a372189649cfd3ac25
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 1c43db48baf33b96be7dd027f3cbaedf205b5101..de20531092b5a053e36ce9469ba5db40b1cf9381 100644 index 57a727648f299e8f94a439d1a13405ab7f466a87..2792ad6a70176ef50b709690ff53707849718f20 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -428,6 +428,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -428,6 +428,7 @@ public abstract class LivingEntity extends Entity implements Attackable {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index b0064cda4b0283d46dad53675ec70ff10c4d2015..b2360029a0fbbea6cb47a13f93cba584d4349829 100644 index 83616ffe1c2698418a79bbcc34995ac80becc02e..fe4f830eec3b4798588303574c45813d74623aed 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -587,7 +587,24 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -707,7 +707,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.dragonParts = new Int2ObjectOpenHashMap(); this.dragonParts = new Int2ObjectOpenHashMap();
this.tickTime = flag1; this.tickTime = flag1;
this.server = minecraftserver; this.server = minecraftserver;

View File

@@ -18,10 +18,10 @@ index 9ec6145fe04ec64bbee8ec6a837719caebdbc6f5..358d610ad020cada1bb83e393deeeaae
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 5c9eda3f59998a7d7cebadd1d67c316643614796..58bd3a05621a2a513efdaa81d63e6c3fff1b3b35 100644 index 0c3ac30bb0b932aee211857cf0c8bf7eadaf00aa..8a09a1950e3f4b1d0cb121b369f8753fee238253 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
@@ -1518,7 +1518,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1521,7 +1521,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()) {
@@ -31,7 +31,7 @@ index 5c9eda3f59998a7d7cebadd1d67c316643614796..58bd3a05621a2a513efdaa81d63e6c3f
} }
ServerPlayer entityplayer = (ServerPlayer) entityhuman; 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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index b2360029a0fbbea6cb47a13f93cba584d4349829..3d890b71e4b5f44cd822fb0036d87bc5a6014d4e 100644 index fe4f830eec3b4798588303574c45813d74623aed..3c50b83608d5f714b97aa7e7ca5f893c7d13053c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -214,6 +214,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -214,6 +214,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -43,7 +43,7 @@ index b2360029a0fbbea6cb47a13f93cba584d4349829..3d890b71e4b5f44cd822fb0036d87bc5
private final RandomSequences randomSequences; private final RandomSequences randomSequences;
public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick
@@ -666,6 +668,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -786,6 +788,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.chunkTaskScheduler = new io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler(this, io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.workerThreads); // Paper - rewrite chunk system this.chunkTaskScheduler = new io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler(this, io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.workerThreads); // Paper - rewrite chunk system
this.entityLookup = new io.papermc.paper.chunk.system.entity.EntityLookup(this, new EntityCallbacks()); // Paper - rewrite chunk system this.entityLookup = new io.papermc.paper.chunk.system.entity.EntityLookup(this, new EntityCallbacks()); // Paper - rewrite chunk system
@@ -51,7 +51,7 @@ index b2360029a0fbbea6cb47a13f93cba584d4349829..3d890b71e4b5f44cd822fb0036d87bc5
} }
// Paper start // Paper start
@@ -827,6 +830,13 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -947,6 +950,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setGameTime(i); this.serverLevelData.setGameTime(i);
this.serverLevelData.getScheduledEvents().tick(this.server, i); this.serverLevelData.getScheduledEvents().tick(this.server, i);
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) { if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
@@ -65,7 +65,7 @@ index b2360029a0fbbea6cb47a13f93cba584d4349829..3d890b71e4b5f44cd822fb0036d87bc5
this.setDayTime(this.levelData.getDayTime() + 1L); this.setDayTime(this.levelData.getDayTime() + 1L);
} }
@@ -835,7 +845,21 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -955,7 +965,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
public void setDayTime(long timeOfDay) { public void setDayTime(long timeOfDay) {
this.serverLevelData.setDayTime(timeOfDay); this.serverLevelData.setDayTime(timeOfDay);

View File

@@ -42,10 +42,10 @@ index be105a4460e9bf2ef4b72a307fa31291c37d5e0e..5fe0b2301dbd1bedaa26254f7f88931c
EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience); EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
if (entityBreedEvent.isCancelled()) { if (entityBreedEvent.isCancelled()) {
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 1f23c66694d601d0cb52fb637407ada5f9975420..282ec5085a8076790d2a24e7979b36c06a9bcba0 100644 index e573b65758d63dcece863752d1308c5c2a8b60e4..7773f9ce65a45388ee5fb2c472de784be00b1899 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
@@ -193,6 +193,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -194,6 +194,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
// Paper end - fix and optimise world upgrading // Paper end - fix and optimise world upgrading
@@ -95,7 +95,7 @@ index 1f23c66694d601d0cb52fb637407ada5f9975420..282ec5085a8076790d2a24e7979b36c0
public CraftWorld getWorld() { public CraftWorld getWorld() {
return this.world; return this.world;
} }
@@ -214,6 +257,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -215,6 +258,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 7879d0e0b55977a372189649cfd3ac25afdaec50..255811157c36ac8018652cb031490221f998414b 100644 index 14fcc48f24dec99f966d629d78910725b4a99adc..69a1aaa1cf575325bc383921aee6e6e0d7da6057 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1107,7 +1107,16 @@ public class ServerPlayer extends Player { @@ -1108,7 +1108,16 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else { } else {

View File

@@ -17,10 +17,10 @@ index 637648e03985868c1fe420f84fa778b06deb23ee..e1887523b0b6a0479544385932f54ab1
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 58bd3a05621a2a513efdaa81d63e6c3fff1b3b35..43bd000ff6e91e23198799f74fd0895f0a02fcc1 100644 index 8a09a1950e3f4b1d0cb121b369f8753fee238253..eab0fc7a6e6104e541479da98037e3ddfb37de03 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
@@ -1003,6 +1003,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1006,6 +1006,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 58bd3a05621a2a513efdaa81d63e6c3fff1b3b35..43bd000ff6e91e23198799f74fd0895f
this.hasLoggedStop = true; // Paper this.hasLoggedStop = true; // Paper
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
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 546c233c0049c88610baa405f932bbd1d8ddf2fb..f7e15e75333ae24ab97483aedccb60bb631a506d 100644 index aa85cb619315b327469e6aea92876f47235ce725..7b929d080e5fdd3a535a22a5f9e35955aef0868d 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
@@ -347,6 +347,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -347,6 +347,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -41,10 +41,10 @@ index 546c233c0049c88610baa405f932bbd1d8ddf2fb..f7e15e75333ae24ab97483aedccb60bb
} }
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 255811157c36ac8018652cb031490221f998414b..51bad65820a89ddd5f5266ce855da2dd788d559d 100644 index 69a1aaa1cf575325bc383921aee6e6e0d7da6057..0a1daa97fc54fbe565de9754594a1fd68ff6652c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -275,6 +275,7 @@ public class ServerPlayer extends Player { @@ -274,6 +274,7 @@ public class ServerPlayer extends Player {
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur public boolean purpurClient = false; // Purpur
@@ -52,7 +52,7 @@ index 255811157c36ac8018652cb031490221f998414b..51bad65820a89ddd5f5266ce855da2dd
// Paper start - replace player chunk loader // Paper start - replace player chunk loader
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
@@ -560,6 +561,7 @@ public class ServerPlayer extends Player { @@ -561,6 +562,7 @@ public class ServerPlayer extends Player {
} }
} }
@@ -60,7 +60,7 @@ index 255811157c36ac8018652cb031490221f998414b..51bad65820a89ddd5f5266ce855da2dd
} }
@Override @Override
@@ -626,6 +628,7 @@ public class ServerPlayer extends Player { @@ -627,6 +629,7 @@ public class ServerPlayer extends Player {
} }
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
@@ -68,7 +68,7 @@ index 255811157c36ac8018652cb031490221f998414b..51bad65820a89ddd5f5266ce855da2dd
} }
// CraftBukkit start - World fallback code, either respawn location or global spawn // CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2767,5 +2770,13 @@ public class ServerPlayer extends Player { @@ -2768,5 +2771,13 @@ public class ServerPlayer extends Player {
this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH); this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH);
} }
} }
@@ -83,7 +83,7 @@ index 255811157c36ac8018652cb031490221f998414b..51bad65820a89ddd5f5266ce855da2dd
// 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 c6adced2551977dff3000dce8f6c0b35c295e85e..d711decc32169f662818d8db60d3dd8182efbc00 100644 index 1eafc1854d47002d683f625f4c164290eee59181..265889514d2959731440ec180f6e47b19bb83cfb 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
@@ -467,6 +467,7 @@ public abstract class PlayerList { @@ -467,6 +467,7 @@ public abstract class PlayerList {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 51bad65820a89ddd5f5266ce855da2dd788d559d..6d1bb046bad2a3d28ee64a06f69c3c377109fd10 100644 index 0a1daa97fc54fbe565de9754594a1fd68ff6652c..5fdd6e2dd19e239ac864f0273f6a2b921c297306 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1266,6 +1266,7 @@ public class ServerPlayer extends Player { @@ -1267,6 +1267,7 @@ public class ServerPlayer extends Player {
playerlist.sendPlayerPermissionLevel(this); playerlist.sendPlayerPermissionLevel(this);
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
this.unsetRemoved(); this.unsetRemoved();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6d1bb046bad2a3d28ee64a06f69c3c377109fd10..6b61c985be3c19221b229542f0d0e902d085a772 100644 index 5fdd6e2dd19e239ac864f0273f6a2b921c297306..ff02dc1687ca079b1798bf8f21ee6af425c42ef4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1423,7 +1423,7 @@ public class ServerPlayer extends Player { @@ -1424,7 +1424,7 @@ public class ServerPlayer extends Player {
return entitymonster.isPreventingPlayerRest(this); return entitymonster.isPreventingPlayerRest(this);
}); });

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Sneak to bulk process composter
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 1b0302df0ed420fd7f9d6803d796abf7d3192ceb..51a74d7ba4006523dfaffba40ffcbe117a6df406 100644 index b2c2bd5ec0afd479973f7237a5c610f21231c505..f65eb045e518cdba91ace4483e385805b0e1171f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -576,7 +576,7 @@ public class ServerPlayerGameMode { @@ -578,7 +578,7 @@ public class ServerPlayerGameMode {
boolean flag1 = player.isSecondaryUseActive() && flag; boolean flag1 = player.isSecondaryUseActive() && flag;
ItemStack itemstack1 = stack.copy(); ItemStack itemstack1 = stack.copy();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 3d890b71e4b5f44cd822fb0036d87bc5a6014d4e..5e832faa8b1ff45b0d4e01ab197cadfb2c480452 100644 index 3c50b83608d5f714b97aa7e7ca5f893c7d13053c..cf14ddbe97dd16972dc2830a722f7ac23b1badd0 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -713,7 +713,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -833,7 +833,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j; long j;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Break individual slabs when sneaking
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 51a74d7ba4006523dfaffba40ffcbe117a6df406..dbb08ce85ad38b325f02700e879f92c06d897268 100644 index f65eb045e518cdba91ace4483e385805b0e1171f..2c9deba9da45feb81ed5801c33aa64e38f8d6a79 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -396,6 +396,7 @@ public class ServerPlayerGameMode { @@ -398,6 +398,7 @@ public class ServerPlayerGameMode {
} else {capturedBlockEntity = true;} // Paper end } else {capturedBlockEntity = true;} // Paper end
return false; return false;
} }

View File

@@ -17,10 +17,10 @@ index 0b3a06027f2c600960cd88159803be187c4d0317..533a348acb53c8e7590f3d81c19e53a6
// Paper end // Paper end
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6b61c985be3c19221b229542f0d0e902d085a772..e2627f8bb71375eccaff4706b74285263e28f2b1 100644 index ff02dc1687ca079b1798bf8f21ee6af425c42ef4..8f01bc6a58c35cc8be77413174b055a8d707290d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1004,6 +1004,7 @@ public class ServerPlayer extends Player { @@ -1005,6 +1005,7 @@ public class ServerPlayer extends Player {
})); }));
Team scoreboardteambase = this.getTeam(); Team scoreboardteambase = this.getTeam();

View File

@@ -9,10 +9,10 @@ creating an itemstack using the TileEntity's NBT data (how it handles it for
creative players) instead of routing it through the LootableBuilder. creative players) instead of routing it through the LootableBuilder.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index dbb08ce85ad38b325f02700e879f92c06d897268..0488fe39acf7191754707b7c8f424e6a3e32c152 100644 index 2c9deba9da45feb81ed5801c33aa64e38f8d6a79..0838b3c612c832276afa1edc090ef7771e8bf2fc 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -427,7 +427,7 @@ public class ServerPlayerGameMode { @@ -429,7 +429,7 @@ public class ServerPlayerGameMode {
ItemStack mainHandStack = null; // Paper ItemStack mainHandStack = null; // Paper
boolean isCorrectTool = false; // Paper boolean isCorrectTool = false; // Paper

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 5e832faa8b1ff45b0d4e01ab197cadfb2c480452..e759e4c772f5bd296554950ac4251ffcb3e78548 100644 index cf14ddbe97dd16972dc2830a722f7ac23b1badd0..f377eff47cc12e7e7b0b237860b330dd28b6603d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1033,7 +1033,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1153,7 +1153,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
return holder.is(PoiTypes.LIGHTNING_ROD); return holder.is(PoiTypes.LIGHTNING_ROD);
}, (blockposition1) -> { }, (blockposition1) -> {
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index e759e4c772f5bd296554950ac4251ffcb3e78548..bbb3052a3b2704e25696457d53d0940664fa263a 100644 index f377eff47cc12e7e7b0b237860b330dd28b6603d..d0806e5bd4db7a1c0f70aeb8b694d641c64be766 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1082,11 +1082,27 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1202,11 +1202,27 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (this.canSleepThroughNights()) { if (this.canSleepThroughNights()) {
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) { if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
@@ -38,10 +38,10 @@ index e759e4c772f5bd296554950ac4251ffcb3e78548..bbb3052a3b2704e25696457d53d09406
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index e2627f8bb71375eccaff4706b74285263e28f2b1..1bc77fccc2cc1bb0f532e476156f952fdf9e3897 100644 index 8f01bc6a58c35cc8be77413174b055a8d707290d..0e176fbe456681be0ca3f6b6747bb60178c1f864 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1464,7 +1464,19 @@ public class ServerPlayer extends Player { @@ -1465,7 +1465,19 @@ public class ServerPlayer extends Player {
}); });
if (!this.serverLevel().canSleepThroughNights()) { if (!this.serverLevel().canSleepThroughNights()) {

View File

@@ -17,10 +17,10 @@ index e254f7c498c5a1608afe130b2dd4d3d037069f25..af712f089e7919fa0bd3946866fd3486
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 1bc77fccc2cc1bb0f532e476156f952fdf9e3897..3e08dcd1a46adc6ef769f2cfc85970ad9cbbdd10 100644 index 0e176fbe456681be0ca3f6b6747bb60178c1f864..0ea215df4ef613646fe48db36d4151b24f478484 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -276,6 +276,7 @@ public class ServerPlayer extends Player { @@ -275,6 +275,7 @@ public class ServerPlayer extends Player {
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur public boolean purpurClient = false; // Purpur
private boolean tpsBar = false; // Purpur private boolean tpsBar = false; // Purpur
@@ -28,7 +28,7 @@ index 1bc77fccc2cc1bb0f532e476156f952fdf9e3897..3e08dcd1a46adc6ef769f2cfc85970ad
// Paper start - replace player chunk loader // Paper start - replace player chunk loader
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
@@ -562,6 +563,7 @@ public class ServerPlayer extends Player { @@ -563,6 +564,7 @@ public class ServerPlayer extends Player {
} }
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
@@ -36,7 +36,7 @@ index 1bc77fccc2cc1bb0f532e476156f952fdf9e3897..3e08dcd1a46adc6ef769f2cfc85970ad
} }
@Override @Override
@@ -629,6 +631,7 @@ public class ServerPlayer extends Player { @@ -630,6 +632,7 @@ public class ServerPlayer extends Player {
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
@@ -44,7 +44,7 @@ index 1bc77fccc2cc1bb0f532e476156f952fdf9e3897..3e08dcd1a46adc6ef769f2cfc85970ad
} }
// CraftBukkit start - World fallback code, either respawn location or global spawn // CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2792,5 +2795,13 @@ public class ServerPlayer extends Player { @@ -2793,5 +2796,13 @@ public class ServerPlayer extends Player {
public void tpsBar(boolean tpsBar) { public void tpsBar(boolean tpsBar) {
this.tpsBar = tpsBar; this.tpsBar = tpsBar;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index bbb3052a3b2704e25696457d53d0940664fa263a..cb35bac1923fe40f172a521ce5892e0dcfd7e305 100644 index d0806e5bd4db7a1c0f70aeb8b694d641c64be766..eed1384d006ff167826684d59d36bafa1f617867 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1241,6 +1241,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1361,6 +1361,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
private void resetWeatherCycle() { private void resetWeatherCycle() {
// CraftBukkit start // CraftBukkit start
@@ -16,7 +16,7 @@ index bbb3052a3b2704e25696457d53d0940664fa263a..cb35bac1923fe40f172a521ce5892e0d
this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night
// If we stop due to everyone sleeping we should reset the weather duration to some other random value. // If we stop due to everyone sleeping we should reset the weather duration to some other random value.
// Not that everyone ever manages to get the whole server to sleep at the same time.... // Not that everyone ever manages to get the whole server to sleep at the same time....
@@ -1248,6 +1249,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1368,6 +1369,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setRainTime(0); this.serverLevelData.setRainTime(0);
} }
// CraftBukkit end // CraftBukkit end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Shift right click to use exp for mending
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 0488fe39acf7191754707b7c8f424e6a3e32c152..bcce65e453bec778739e8b2f9d89356f41dbbd20 100644 index 0838b3c612c832276afa1edc090ef7771e8bf2fc..3250c21eded7872336d349a7a93c2c17160db723 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -516,6 +516,7 @@ public class ServerPlayerGameMode { @@ -518,6 +518,7 @@ public class ServerPlayerGameMode {
public InteractionHand interactHand; public InteractionHand interactHand;
public ItemStack interactItemStack; public ItemStack interactItemStack;
public InteractionResult useItemOn(ServerPlayer player, Level world, ItemStack stack, InteractionHand hand, BlockHitResult hitResult) { public InteractionResult useItemOn(ServerPlayer player, Level world, ItemStack stack, InteractionHand hand, BlockHitResult hitResult) {
@@ -16,7 +16,7 @@ index 0488fe39acf7191754707b7c8f424e6a3e32c152..bcce65e453bec778739e8b2f9d89356f
BlockPos blockposition = hitResult.getBlockPos(); BlockPos blockposition = hitResult.getBlockPos();
BlockState iblockdata = world.getBlockState(blockposition); BlockState iblockdata = world.getBlockState(blockposition);
InteractionResult enuminteractionresult = InteractionResult.PASS; InteractionResult enuminteractionresult = InteractionResult.PASS;
@@ -618,4 +619,18 @@ public class ServerPlayerGameMode { @@ -620,4 +621,18 @@ public class ServerPlayerGameMode {
public void setLevel(ServerLevel world) { public void setLevel(ServerLevel world) {
this.level = world; this.level = world;
} }

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 caaa154082fef69c6bf3ff6101242de5b037c583..5018f85fd87fe167389706bda04327bbe7d2c17a 100644 index ca5a3c0e7b8aa1c419b63f5f38126f2377272299..e51df1613f2c379694a0a3a73fd9603ae063a621 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
@@ -303,6 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -303,6 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index caaa154082fef69c6bf3ff6101242de5b037c583..5018f85fd87fe167389706bda04327bb
public volatile Thread shutdownThread; // Paper public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper public volatile boolean abnormalExit = false; // Paper
@@ -924,6 +925,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -927,6 +928,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.info("Stopping server"); MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Shutdown and don't bother finishing Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Shutdown and don't bother finishing
MinecraftTimings.stopServer(); // Paper MinecraftTimings.stopServer(); // Paper
@@ -32,7 +32,7 @@ index caaa154082fef69c6bf3ff6101242de5b037c583..5018f85fd87fe167389706bda04327bb
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 f7e15e75333ae24ab97483aedccb60bb631a506d..2075f8f6096178930708268d0c4e2862824cbc45 100644 index 7b929d080e5fdd3a535a22a5f9e35955aef0868d..f36d0754d313b470f4ac826dd11a9989e2fcb2cc 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
@@ -276,6 +276,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -276,6 +276,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 3e08dcd1a46adc6ef769f2cfc85970ad9cbbdd10..4f9796dfb1243befb6fa41b4fd633951a4bf0fc6 100644 index 0ea215df4ef613646fe48db36d4151b24f478484..7aeaccaa6649a1c93567d07f6b955b9259d3a902 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1576,6 +1576,7 @@ public class ServerPlayer extends Player { @@ -1577,6 +1577,7 @@ public class ServerPlayer extends Player {
@Override @Override
public void openTextEdit(SignBlockEntity sign, boolean front) { public void openTextEdit(SignBlockEntity sign, boolean front) {

View File

@@ -261,7 +261,7 @@ index 354393cbf0f113f14e936b40da56125a3130cbd9..a1ef7ecdf272546bdd76bb4b2ecd86a6
public static boolean equals(MobEffect mobEffect, PotionEffectType type) { public static boolean equals(MobEffect mobEffect, PotionEffectType type) {
diff --git a/src/test/java/org/bukkit/potion/PotionTest.java b/src/test/java/org/bukkit/potion/PotionTest.java diff --git a/src/test/java/org/bukkit/potion/PotionTest.java b/src/test/java/org/bukkit/potion/PotionTest.java
index 9457c66bd81f202e009c94f732c8e8e7f2ab9957..863f140260657f224fa3a2eb0bc6f929f74f5c0d 100644 index 70a655df7195da8e037c22064c4ebfe5d771e884..cfdf155af7ec29dd221989edbd8623d27529f9e6 100644
--- a/src/test/java/org/bukkit/potion/PotionTest.java --- a/src/test/java/org/bukkit/potion/PotionTest.java
+++ b/src/test/java/org/bukkit/potion/PotionTest.java +++ b/src/test/java/org/bukkit/potion/PotionTest.java
@@ -9,6 +9,7 @@ import net.minecraft.resources.ResourceLocation; @@ -9,6 +9,7 @@ import net.minecraft.resources.ResourceLocation;
@@ -271,9 +271,9 @@ index 9457c66bd81f202e009c94f732c8e8e7f2ab9957..863f140260657f224fa3a2eb0bc6f929
+import org.bukkit.NamespacedKey; +import org.bukkit.NamespacedKey;
import org.bukkit.craftbukkit.potion.CraftPotionEffectType; import org.bukkit.craftbukkit.potion.CraftPotionEffectType;
import org.bukkit.support.AbstractTestingBase; import org.bukkit.support.AbstractTestingBase;
import org.junit.Test; import org.junit.jupiter.api.Test;
@@ -46,4 +47,27 @@ public class PotionTest extends AbstractTestingBase { @@ -46,4 +47,27 @@ public class PotionTest extends AbstractTestingBase {
assertEquals("Same type not returned by name " + key, bukkit, byName); assertEquals(bukkit, byName, "Same type not returned by name " + key);
} }
} }
+ +

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 5018f85fd87fe167389706bda04327bbe7d2c17a..ad403421711052faf36cb6b063997cfa90712423 100644 index e51df1613f2c379694a0a3a73fd9603ae063a621..397cb4577f7110178ec63feef114f5eb5d206524 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
@@ -1014,6 +1014,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1017,6 +1017,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 5018f85fd87fe167389706bda04327bbe7d2c17a..ad403421711052faf36cb6b063997cfa
this.hasLoggedStop = true; // Paper this.hasLoggedStop = true; // Paper
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
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 2075f8f6096178930708268d0c4e2862824cbc45..7b1b34566c38d26ababfc5dafe254749ebc075ea 100644 index f36d0754d313b470f4ac826dd11a9989e2fcb2cc..56dc1c8ae8a1f1f6d7917e6764f10797ba0df2ff 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
@@ -372,6 +372,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -372,6 +372,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 diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index cb35bac1923fe40f172a521ce5892e0dcfd7e305..7ded6820b9b0b493a72e158d7a92d5062d2948ef 100644 index eed1384d006ff167826684d59d36bafa1f617867..ff9adf5d04ad08342eeca166bd582774bf6f2cdd 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2725,7 +2725,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -2845,7 +2845,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot Start // Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
// Paper start // Paper start

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 7aef2714791674086246ab4b5b92c8965dbfdae0..e55438768a030cdcef433782e55f0fafc4f51db1 100644 index 0e670de77a7f9926e295e1dd63d909bed1a959ca..791e69b2c963cd034d6d35561448cdb20b1b1cde 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2284,6 +2284,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -2289,6 +2289,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
} }

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Allow custom ChatDecorators
Requires NMS to utilize. I'll write an API for this once our upstreams calm down with the changes. Requires NMS to utilize. I'll write an API for this once our upstreams calm down with the changes.
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 ad403421711052faf36cb6b063997cfa90712423..e7e2c8115b1f25039965f390c927b004e8b3f630 100644 index 397cb4577f7110178ec63feef114f5eb5d206524..8ae7a35a84f055c982db1bb04697dfebd0512430 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
@@ -2664,6 +2664,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2668,6 +2668,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon(true).setNameFormat("Async Chat Thread - #%d").setUncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(net.minecraft.server.MinecraftServer.LOGGER)).build()); // Paper new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon(true).setNameFormat("Async Chat Thread - #%d").setUncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(net.minecraft.server.MinecraftServer.LOGGER)).build()); // Paper
public ChatDecorator getChatDecorator() { public ChatDecorator getChatDecorator() {

View File

@@ -56,10 +56,10 @@ index 9a49f5271ec1d9de17632bfffe8309cb1ba0d8b1..0be239c5c78432a6377cd7828cd49f61
} 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 e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f5709b2352a 100644 index 8ae7a35a84f055c982db1bb04697dfebd0512430..66b528364bbd5baea08511eb8d10fbd37bd1cef7 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
@@ -1385,15 +1385,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1388,15 +1388,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public void onServerExit() {} public void onServerExit() {}
public void tickServer(BooleanSupplier shouldKeepTicking) { public void tickServer(BooleanSupplier shouldKeepTicking) {
@@ -78,7 +78,7 @@ index e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f57
// Paper end // Paper end
new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper
@@ -1428,9 +1428,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1431,9 +1431,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end // Paper end
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
@@ -90,7 +90,7 @@ index e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f57
// Paper end // Paper end
// Paper start // Paper start
long endTime = System.nanoTime(); long endTime = System.nanoTime();
@@ -1451,7 +1451,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1454,7 +1454,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.logTickTime(k - i); this.logTickTime(k - i);
this.profiler.pop(); this.profiler.pop();
org.spigotmc.WatchdogThread.tick(); // Spigot org.spigotmc.WatchdogThread.tick(); // Spigot
@@ -99,7 +99,7 @@ index e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f57
} }
protected void logTickTime(long nanos) {} protected void logTickTime(long nanos) {}
@@ -1488,9 +1488,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1491,9 +1491,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getPlayerList().getPlayers().forEach((entityplayer) -> { this.getPlayerList().getPlayers().forEach((entityplayer) -> {
entityplayer.connection.suspendFlushing(); entityplayer.connection.suspendFlushing();
}); });
@@ -111,7 +111,7 @@ index e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f57
// 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 -> {
@@ -1507,21 +1507,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1510,21 +1510,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");
@@ -138,7 +138,7 @@ index e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f57
// 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 - optimize time updates // Paper start - optimize time updates
for (final ServerLevel level : this.getAllLevels()) { for (final ServerLevel level : this.getAllLevels()) {
@@ -1541,7 +1541,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1544,7 +1544,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
} }
// Paper end // Paper end
@@ -147,7 +147,7 @@ index e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f57
this.isIteratingOverLevels = true; // Paper this.isIteratingOverLevels = true; // Paper
Iterator iterator = this.getAllLevels().iterator(); // Paper - move down Iterator iterator = this.getAllLevels().iterator(); // Paper - move down
@@ -1566,14 +1566,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1570,14 +1570,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.push("tick"); this.profiler.push("tick");
try { try {
@@ -164,7 +164,7 @@ index e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f57
} catch (Throwable throwable) { } catch (Throwable throwable) {
// Spigot Start // Spigot Start
CrashReport crashreport; CrashReport crashreport;
@@ -1596,24 +1596,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1600,24 +1600,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper this.isIteratingOverLevels = false; // Paper
this.profiler.popPush("connection"); this.profiler.popPush("connection");
@@ -195,7 +195,7 @@ index e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f57
this.profiler.popPush("send chunks"); this.profiler.popPush("send chunks");
iterator = this.playerList.getPlayers().iterator(); iterator = this.playerList.getPlayers().iterator();
@@ -2810,7 +2810,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2814,7 +2814,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return; return;
} }
@@ -204,7 +204,7 @@ index e7e2c8115b1f25039965f390c927b004e8b3f630..d4aad1e62e2473c48c35b2e4238c4f57
try { try {
for (;;) { for (;;) {
boolean moreTasks = this.tickMidTickTasks(); boolean moreTasks = this.tickMidTickTasks();
@@ -2837,7 +2837,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2841,7 +2841,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
} }
} finally { } finally {
@@ -227,7 +227,7 @@ index d10abd28c522612934aada8124e5bb67a9b4e9da..a6a1b57b4327f5710e9ec5ebca35a47c
i = this.context.runTopCommand(customfunction1, source); i = this.context.runTopCommand(customfunction1, source);
} finally { } finally {
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 7b1b34566c38d26ababfc5dafe254749ebc075ea..6656a3f4dd78270690479639c738fdd0ec7e588d 100644 index 56dc1c8ae8a1f1f6d7917e6764f10797ba0df2ff..da64482a95892dd06ef975767d68bab454ae1dc8 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
@@ -519,7 +519,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -519,7 +519,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -249,10 +249,10 @@ index 7b1b34566c38d26ababfc5dafe254749ebc075ea..6656a3f4dd78270690479639c738fdd0
@Override @Override
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index dcf12bea1759d851d663896938ea101303ab63a5..3f0799cf3d9c5b9bfe3f29b1bf6cbdc9ca0fd38e 100644 index 0c2617574e21037d94ac56ad08b490f9bca5c5af..621a2627e066cbc1d68ece9c85ef1e8f3b512960 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java --- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -470,15 +470,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -468,15 +468,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
protected void tick(BooleanSupplier shouldKeepTicking) { protected void tick(BooleanSupplier shouldKeepTicking) {
ProfilerFiller gameprofilerfiller = this.level.getProfiler(); ProfilerFiller gameprofilerfiller = this.level.getProfiler();
@@ -272,7 +272,7 @@ index dcf12bea1759d851d663896938ea101303ab63a5..3f0799cf3d9c5b9bfe3f29b1bf6cbdc9
} }
gameprofilerfiller.pop(); gameprofilerfiller.pop();
@@ -1092,7 +1092,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -1090,7 +1090,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
List<ServerPlayer> list = Lists.newArrayList(); List<ServerPlayer> list = Lists.newArrayList();
List<ServerPlayer> list1 = this.level.players(); List<ServerPlayer> list1 = this.level.players();
ObjectIterator objectiterator = this.entityMap.values().iterator(); ObjectIterator objectiterator = this.entityMap.values().iterator();
@@ -281,7 +281,7 @@ index dcf12bea1759d851d663896938ea101303ab63a5..3f0799cf3d9c5b9bfe3f29b1bf6cbdc9
ChunkMap.TrackedEntity playerchunkmap_entitytracker; ChunkMap.TrackedEntity playerchunkmap_entitytracker;
@@ -1117,17 +1117,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -1115,17 +1115,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
playerchunkmap_entitytracker.serverEntity.sendChanges(); playerchunkmap_entitytracker.serverEntity.sendChanges();
} }
} }
@@ -303,7 +303,7 @@ index dcf12bea1759d851d663896938ea101303ab63a5..3f0799cf3d9c5b9bfe3f29b1bf6cbdc9
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 2ab16e10323982e193e647246bd116e31f17bad2..ead4d70df7f33ff984d288d14d774a4156abb4fd 100644 index 17b6925b46f8386dcfc561483693de516465ec12..9dc3dec2bdf2e503fe10364dd4bb5cf662288260 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -295,10 +295,10 @@ public class ServerChunkCache extends ChunkSource { @@ -295,10 +295,10 @@ public class ServerChunkCache extends ChunkSource {
@@ -380,7 +380,7 @@ index 2ab16e10323982e193e647246bd116e31f17bad2..ead4d70df7f33ff984d288d14d774a41
// Paper start - per player mob spawning // Paper start - per player mob spawning
NaturalSpawner.SpawnState spawnercreature_d; // moved down NaturalSpawner.SpawnState spawnercreature_d; // moved down
@@ -549,13 +549,13 @@ public class ServerChunkCache extends ChunkSource { @@ -549,13 +549,13 @@ public class ServerChunkCache extends ChunkSource {
spawnercreature_d = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, this.chunkMap.playerMobDistanceMap == null ? new LocalMobCapCalculator(this.chunkMap) : null, false); spawnercreature_d = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, !this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new LocalMobCapCalculator(this.chunkMap) : null, false);
} }
// Paper end // Paper end
- this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings - this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings
@@ -388,17 +388,17 @@ index 2ab16e10323982e193e647246bd116e31f17bad2..ead4d70df7f33ff984d288d14d774a41
this.lastSpawnState = spawnercreature_d; this.lastSpawnState = spawnercreature_d;
gameprofilerfiller.popPush("filteringLoadedChunks"); gameprofilerfiller.popPush("filteringLoadedChunks");
List<ServerChunkCache.ChunkAndHolder> list = Lists.newArrayListWithCapacity(l); // Paper - optimise chunk tick iteration
Iterator iterator = this.chunkMap.getChunks().iterator(); // Paper - optimise chunk tick iteration
- this.level.timings.chunkTicks.startTiming(); // Paper - this.level.timings.chunkTicks.startTiming(); // Paper
+ //this.level.timings.chunkTicks.startTiming(); // Paper // Purpur + //this.level.timings.chunkTicks.startTiming(); // Paper // Purpur
while (iterator.hasNext()) { // Paper - optimise chunk tick iteration
ChunkHolder playerchunk = (ChunkHolder) iterator.next();
@@ -599,19 +599,19 @@ public class ServerChunkCache extends ChunkSource { @@ -661,17 +661,17 @@ public class ServerChunkCache extends ChunkSource {
}
} }
} }
// Paper end - optimise chunk tick iteration
- this.level.timings.chunkTicks.stopTiming(); // Paper - this.level.timings.chunkTicks.stopTiming(); // Paper
+ //this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur + //this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur
gameprofilerfiller.popPush("customSpawners"); gameprofilerfiller.popPush("customSpawners");
@@ -411,20 +411,26 @@ index 2ab16e10323982e193e647246bd116e31f17bad2..ead4d70df7f33ff984d288d14d774a41
} }
gameprofilerfiller.popPush("broadcast"); gameprofilerfiller.popPush("broadcast");
list.forEach((chunkproviderserver_a1) -> { // Paper - optimise chunk tick iteration
- this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing - this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing
+ //this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur + //this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur
chunkproviderserver_a1.holder.broadcastChanges(chunkproviderserver_a1.chunk); // Paper start - optimise chunk tick iteration
if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) {
it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone();
@@ -685,7 +685,7 @@ public class ServerChunkCache extends ChunkSource {
}
}
// Paper end - optimise chunk tick iteration
- this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing - this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing
+ //this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur + //this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur
}); // Paper - optimise chunk tick iteration
gameprofilerfiller.pop(); gameprofilerfiller.pop();
gameprofilerfiller.pop(); gameprofilerfiller.pop();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe 100644 index ff9adf5d04ad08342eeca166bd582774bf6f2cdd..1688fdea27342783f91b5cd0a09343ddac77dc6d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -736,7 +736,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -856,7 +856,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.updateSkyBrightness(); this.updateSkyBrightness();
this.tickTime(); this.tickTime();
gameprofilerfiller.popPush("tickPending"); gameprofilerfiller.popPush("tickPending");
@@ -433,7 +439,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
if (!this.isDebug()) { if (!this.isDebug()) {
j = this.getGameTime(); j = this.getGameTime();
gameprofilerfiller.push("blockTicks"); gameprofilerfiller.push("blockTicks");
@@ -745,20 +745,20 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -865,20 +865,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.fluidTicks.tick(j, 65536, this::tickFluid); this.fluidTicks.tick(j, 65536, this::tickFluid);
gameprofilerfiller.pop(); gameprofilerfiller.pop();
} }
@@ -461,7 +467,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
this.handlingTick = false; this.handlingTick = false;
gameprofilerfiller.pop(); gameprofilerfiller.pop();
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
@@ -769,7 +769,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -889,7 +889,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (flag || this.emptyTime++ < 300) { if (flag || this.emptyTime++ < 300) {
gameprofilerfiller.push("entities"); gameprofilerfiller.push("entities");
@@ -470,7 +476,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
if (this.dragonFight != null) { if (this.dragonFight != null) {
gameprofilerfiller.push("dragonFight"); gameprofilerfiller.push("dragonFight");
this.dragonFight.tick(); this.dragonFight.tick();
@@ -777,7 +777,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -897,7 +897,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
org.spigotmc.ActivationRange.activateEntities(this); // Spigot org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -479,7 +485,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
this.entityTickList.forEach((entity) -> { this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) { if (!entity.isRemoved()) {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
@@ -804,8 +804,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -924,8 +924,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
} }
}); });
@@ -490,7 +496,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
gameprofilerfiller.pop(); gameprofilerfiller.pop();
this.tickBlockEntities(); this.tickBlockEntities();
} }
@@ -946,7 +946,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1066,7 +1066,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
gameprofilerfiller.popPush("tickBlocks"); gameprofilerfiller.popPush("tickBlocks");
@@ -499,7 +505,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
if (randomTickSpeed > 0) { if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections(); LevelChunkSection[] sections = chunk.getSections();
final int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this); final int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this);
@@ -979,7 +979,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1099,7 +1099,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
// Paper end - optimise random block ticking // Paper end - optimise random block ticking
@@ -508,7 +514,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
gameprofilerfiller.pop(); gameprofilerfiller.pop();
} }
@@ -1317,8 +1317,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1437,8 +1437,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot end // Spigot end
// Paper start- timings // Paper start- timings
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity); final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
@@ -519,7 +525,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
// Paper end - timings // Paper end - timings
entity.setOldPosAndRot(); entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = this.getProfiler(); ProfilerFiller gameprofilerfiller = this.getProfiler();
@@ -1334,7 +1334,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1454,7 +1454,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.postTick(); // CraftBukkit entity.postTick(); // CraftBukkit
} else { entity.inactiveTick(); } // Paper - EAR 2 } else { entity.inactiveTick(); } // Paper - EAR 2
this.getProfiler().pop(); this.getProfiler().pop();
@@ -528,7 +534,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
Iterator iterator = entity.getPassengers().iterator(); Iterator iterator = entity.getPassengers().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1357,8 +1357,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1477,8 +1477,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (passenger instanceof Player || this.entityTickList.contains(passenger)) { if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
// Paper - EAR 2 // Paper - EAR 2
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger); final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger);
@@ -539,7 +545,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
// Paper end // Paper end
passenger.setOldPosAndRot(); passenger.setOldPosAndRot();
++passenger.tickCount; ++passenger.tickCount;
@@ -1388,7 +1388,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1508,7 +1508,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.tickPassenger(passenger, entity2); this.tickPassenger(passenger, entity2);
} }
@@ -548,7 +554,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
} }
} else { } else {
passenger.stopRiding(); passenger.stopRiding();
@@ -1408,14 +1408,14 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1528,14 +1528,14 @@ public class ServerLevel extends Level implements WorldGenLevel {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld()));
} }
@@ -566,7 +572,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
// Copied from save() // Copied from save()
// CraftBukkit start - moved from MinecraftServer.saveChunks // CraftBukkit start - moved from MinecraftServer.saveChunks
@@ -1427,7 +1427,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1547,7 +1547,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.convertable.saveDataTag(this.server.registryAccess(), this.serverLevelData, this.server.getPlayerList().getSingleplayerData()); this.convertable.saveDataTag(this.server.registryAccess(), this.serverLevelData, this.server.getPlayerList().getSingleplayerData());
} }
// CraftBukkit end // CraftBukkit end
@@ -575,7 +581,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
} }
// Paper end // Paper end
@@ -1441,7 +1441,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1561,7 +1561,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (!savingDisabled) { if (!savingDisabled) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
@@ -584,7 +590,7 @@ index 7ded6820b9b0b493a72e158d7a92d5062d2948ef..4cc1f2fa4453e2ba160bfd42717bd7c8
if (progressListener != null) { if (progressListener != null) {
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel")); progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
} }
@@ -1451,11 +1451,11 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1571,11 +1571,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
progressListener.progressStage(Component.translatable("menu.savingChunks")); progressListener.progressStage(Component.translatable("menu.savingChunks"));
} }
@@ -631,7 +637,7 @@ index 87e064670d336f1c3a86cdc524e2686c7ee5af72..9fa25455dd264ea0b58d5e1825fd8847
} }
// CraftBukkit end // CraftBukkit 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 ad4f678de4aeeb7bb3d624f44dacc2c1d5200b1e..9942ab57f883f79719dff20f666912face27d5c4 100644 index cf721106b861a8c166244efc2114e22d038aa3a7..5c38df8170033dbfee267520991a3cc3285d219e 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
@@ -1249,7 +1249,7 @@ public abstract class PlayerList { @@ -1249,7 +1249,7 @@ public abstract class PlayerList {
@@ -702,10 +708,10 @@ index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..7094701d213c73ba47ace806962244c1
} }
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 282ec5085a8076790d2a24e7979b36c06a9bcba0..f9db7dde74ce1277a792497d078ed272e8b23d10 100644 index 7773f9ce65a45388ee5fb2c472de784be00b1899..10276a6b2b311f9cf45b030e4dbb46e44faa04a5 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
@@ -1299,15 +1299,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1302,15 +1302,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
ProfilerFiller gameprofilerfiller = this.getProfiler(); ProfilerFiller gameprofilerfiller = this.getProfiler();
gameprofilerfiller.push("blockEntities"); gameprofilerfiller.push("blockEntities");
@@ -724,7 +730,7 @@ index 282ec5085a8076790d2a24e7979b36c06a9bcba0..f9db7dde74ce1277a792497d078ed272
// Spigot start // Spigot start
// Iterator iterator = this.blockEntityTickers.iterator(); // Iterator iterator = this.blockEntityTickers.iterator();
int tilesThisCycle = 0; int tilesThisCycle = 0;
@@ -1340,7 +1340,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1343,7 +1343,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
this.blockEntityTickers.removeAll(toRemove); this.blockEntityTickers.removeAll(toRemove);
@@ -734,7 +740,7 @@ index 282ec5085a8076790d2a24e7979b36c06a9bcba0..f9db7dde74ce1277a792497d078ed272
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
gameprofilerfiller.pop(); gameprofilerfiller.pop();
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 64656c384863a6430e933e506d965ee628f08669..93af6e1a041a514e9b7198e0e510fa88b043439d 100644 index 3cdddda9c0618e95288b81b975d499c8dd30c05f..6a5dddfd120760b3334d8a4c4ebde84744083392 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -133,7 +133,7 @@ public final class NaturalSpawner { @@ -133,7 +133,7 @@ public final class NaturalSpawner {
@@ -746,7 +752,7 @@ index 64656c384863a6430e933e506d965ee628f08669..93af6e1a041a514e9b7198e0e510fa88
MobCategory[] aenumcreaturetype = NaturalSpawner.SPAWNING_CATEGORIES; MobCategory[] aenumcreaturetype = NaturalSpawner.SPAWNING_CATEGORIES;
int i = aenumcreaturetype.length; int i = aenumcreaturetype.length;
@@ -188,7 +188,7 @@ public final class NaturalSpawner { @@ -186,7 +186,7 @@ public final class NaturalSpawner {
} }
} }
@@ -756,10 +762,10 @@ index 64656c384863a6430e933e506d965ee628f08669..93af6e1a041a514e9b7198e0e510fa88
} }
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 7fccb874ca2de82cc652a440bd250d0d1295397d..b27e2e187f9edebdf53cfad3d410154c0751ac86 100644 index 4abec88caab4116cfa318f7b66c6b1a8346a7401..7d60f8a4e3fa15d81628bba0f6b3c1fc9040535b 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
@@ -789,7 +789,7 @@ public class LevelChunk extends ChunkAccess { @@ -790,7 +790,7 @@ public class LevelChunk extends ChunkAccess {
this.chunkHolder.getEntityChunk().callEntitiesLoadEvent(); // Paper - rewrite chunk system this.chunkHolder.getEntityChunk().callEntitiesLoadEvent(); // Paper - rewrite chunk system
if (this.needsDecoration) { if (this.needsDecoration) {
@@ -768,7 +774,7 @@ index 7fccb874ca2de82cc652a440bd250d0d1295397d..b27e2e187f9edebdf53cfad3d410154c
this.needsDecoration = false; this.needsDecoration = false;
java.util.Random random = new java.util.Random(); java.util.Random random = new java.util.Random();
random.setSeed(this.level.getSeed()); random.setSeed(this.level.getSeed());
@@ -809,7 +809,7 @@ public class LevelChunk extends ChunkAccess { @@ -810,7 +810,7 @@ public class LevelChunk extends ChunkAccess {
} }
} }
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk)); server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk));
@@ -777,7 +783,7 @@ index 7fccb874ca2de82cc652a440bd250d0d1295397d..b27e2e187f9edebdf53cfad3d410154c
} }
} }
} }
@@ -1167,7 +1167,7 @@ public class LevelChunk extends ChunkAccess { @@ -1168,7 +1168,7 @@ public class LevelChunk extends ChunkAccess {
ProfilerFiller gameprofilerfiller = LevelChunk.this.level.getProfiler(); ProfilerFiller gameprofilerfiller = LevelChunk.this.level.getProfiler();
gameprofilerfiller.push(this::getType); gameprofilerfiller.push(this::getType);
@@ -786,7 +792,7 @@ index 7fccb874ca2de82cc652a440bd250d0d1295397d..b27e2e187f9edebdf53cfad3d410154c
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition); BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
if (this.blockEntity.getType().isValid(iblockdata)) { if (this.blockEntity.getType().isValid(iblockdata)) {
@@ -1189,7 +1189,7 @@ public class LevelChunk extends ChunkAccess { @@ -1190,7 +1190,7 @@ public class LevelChunk extends ChunkAccess {
// Paper end // Paper end
// Spigot start // Spigot start
} finally { } finally {
@@ -851,7 +857,7 @@ index 3f45bab0e9f7b3697e6d9d1092a1e6e579f7066f..4f1cf281c4bf68c37982d390da8779de
long getCreatedAt() { long getCreatedAt() {
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
index 628951be16da8f19f0e1a974a0b4efa86e873b99..af1717fe7be06e4828febc0d5737f086b9c08e08 100644 index 7a2f46579352870cfbb32c343d7c68919758ffe3..60b8331a4327cc276b88420254495455babbe3b0 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
@@ -115,7 +115,7 @@ public final class CraftScoreboardManager implements ScoreboardManager { @@ -115,7 +115,7 @@ public final class CraftScoreboardManager implements ScoreboardManager {

View File

@@ -39,10 +39,10 @@ index af712f089e7919fa0bd3946866fd3486fab19f76..9caab6541a224dc8f729a7d720eccda7
return b0; return b0;
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 d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e7044f69f2a 100644 index 66b528364bbd5baea08511eb8d10fbd37bd1cef7..189c904a3b0ac2d2b889e118bfd7c75e6ec5da3e 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
@@ -333,13 +333,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -336,13 +336,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
@@ -62,7 +62,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
this.random = RandomSource.create(); this.random = RandomSource.create();
this.port = -1; this.port = -1;
this.levels = Maps.newLinkedHashMap(); this.levels = Maps.newLinkedHashMap();
@@ -918,9 +918,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -921,9 +921,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
// Paper end // Paper end
// CraftBukkit end // CraftBukkit end
@@ -74,7 +74,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
MinecraftServer.LOGGER.info("Stopping server"); MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Shutdown and don't bother finishing Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Shutdown and don't bother finishing
@@ -1159,18 +1159,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1162,18 +1162,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
// Spigot end // Spigot end
@@ -98,7 +98,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
this.mayHaveDelayedTasks = true; this.mayHaveDelayedTasks = true;
// Purpur start - tps catchup // Purpur start - tps catchup
if (org.purpurmc.purpur.PurpurConfig.tpsCatchup) { if (org.purpurmc.purpur.PurpurConfig.tpsCatchup) {
@@ -1180,8 +1180,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1183,8 +1183,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
// Purpur end - tps catchup // Purpur end - tps catchup
this.waitUntilNextTick(); this.waitUntilNextTick();
@@ -109,7 +109,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
this.isReady = true; this.isReady = true;
JvmProfiler.INSTANCE.onServerTick(this.averageTickTime); JvmProfiler.INSTANCE.onServerTick(this.averageTickTime);
} }
@@ -1342,7 +1342,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1345,7 +1345,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
@@ -118,7 +118,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
super.doRunTask(ticktask); super.doRunTask(ticktask);
} }
@@ -1409,7 +1409,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1412,7 +1412,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (playerSaveInterval < 0) { if (playerSaveInterval < 0) {
playerSaveInterval = autosavePeriod; playerSaveInterval = autosavePeriod;
} }
@@ -127,7 +127,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0; final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0;
try { try {
this.isSaving = true; this.isSaving = true;
@@ -1424,7 +1424,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1427,7 +1427,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} finally { } finally {
this.isSaving = false; this.isSaving = false;
} }
@@ -136,7 +136,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
// Paper end // Paper end
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
@@ -1437,7 +1437,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1440,7 +1440,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 // Paper end
@@ -145,7 +145,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
long j = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i; long j = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i;
this.averageTickTime = this.averageTickTime * 0.8F + (float) j / 1000000.0F * 0.19999999F; this.averageTickTime = this.averageTickTime * 0.8F + (float) j / 1000000.0F * 0.19999999F;
@@ -1449,7 +1449,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1452,7 +1452,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
tickTimes60s.add(this.tickCount, j); tickTimes60s.add(this.tickCount, j);
// Paper end // Paper end
this.logTickTime(k - i); this.logTickTime(k - i);
@@ -154,7 +154,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
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
} }
@@ -1506,11 +1506,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1509,11 +1509,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
@@ -168,7 +168,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
//Iterator iterator = this.getAllLevels().iterator(); // Paper - moved down //Iterator iterator = this.getAllLevels().iterator(); // Paper - moved down
// CraftBukkit start // CraftBukkit start
@@ -1552,18 +1552,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1556,18 +1556,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
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
@@ -192,7 +192,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
try { try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur //worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1589,17 +1589,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1593,17 +1593,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport); throw new ReportedException(crashreport);
} }
@@ -214,7 +214,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
//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
@@ -1607,7 +1607,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1611,7 +1611,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick(); GameTestTicker.SINGLETON.tick();
} }
@@ -223,7 +223,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
//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) {
@@ -1615,7 +1615,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1619,7 +1619,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur //MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -232,7 +232,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
iterator = this.playerList.getPlayers().iterator(); iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1625,7 +1625,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1629,7 +1629,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.resumeFlushing(); entityplayer.connection.resumeFlushing();
} }
@@ -241,7 +241,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
} }
private void synchronizeTime(ServerLevel world) { private void synchronizeTime(ServerLevel world) {
@@ -1633,7 +1633,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1637,7 +1637,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public void forceTimeSynchronization() { public void forceTimeSynchronization() {
@@ -250,7 +250,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
Iterator iterator = this.getAllLevels().iterator(); Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1642,7 +1642,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1646,7 +1646,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver); this.synchronizeTime(worldserver);
} }
@@ -259,7 +259,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
} }
public boolean isNetherEnabled() { public boolean isNetherEnabled() {
@@ -2294,6 +2294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2298,6 +2298,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public ProfilerFiller getProfiler() { public ProfilerFiller getProfiler() {
@@ -267,7 +267,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
return this.profiler; return this.profiler;
} }
@@ -2533,7 +2534,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2537,7 +2538,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end // CraftBukkit end
private void startMetricsRecordingTick() { private void startMetricsRecordingTick() {
@@ -276,7 +276,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
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"));
@@ -2543,40 +2544,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2547,40 +2548,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false; this.willStartRecordingMetrics = false;
} }
@@ -329,7 +329,7 @@ index d4aad1e62e2473c48c35b2e4238c4f5709b2352a..94b9a2f72dbdf85a95a9b99c45a66e70
} }
public Path getWorldPath(LevelResource worldSavePath) { public Path getWorldPath(LevelResource worldSavePath) {
@@ -2625,15 +2626,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2629,15 +2630,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public boolean isTimeProfilerRunning() { public boolean isTimeProfilerRunning() {
@@ -397,10 +397,10 @@ index a6a1b57b4327f5710e9ec5ebca35a47c11751d11..097ac55028d66ef9ab430ff5dd103db6
++j; ++j;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 3f0799cf3d9c5b9bfe3f29b1bf6cbdc9ca0fd38e..d9f92ee89bc9d91a3889f24745e593ff282843f4 100644 index 621a2627e066cbc1d68ece9c85ef1e8f3b512960..28fbcd84146445dd0630aeea7c753da2f1a97c49 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java --- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -468,20 +468,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -466,20 +466,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
} }
protected void tick(BooleanSupplier shouldKeepTicking) { protected void tick(BooleanSupplier shouldKeepTicking) {
@@ -426,7 +426,7 @@ index 3f0799cf3d9c5b9bfe3f29b1bf6cbdc9ca0fd38e..d9f92ee89bc9d91a3889f24745e593ff
public boolean hasWork() { public boolean hasWork() {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index ead4d70df7f33ff984d288d14d774a4156abb4fd..d082b45777426b3737cb928f039364461658ef67 100644 index 9dc3dec2bdf2e503fe10364dd4bb5cf662288260..4ab448842dcbf7f0f45d4443d0bb007e2e286a20 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -276,16 +276,16 @@ public class ServerChunkCache extends ChunkSource { @@ -276,16 +276,16 @@ public class ServerChunkCache extends ChunkSource {
@@ -509,27 +509,26 @@ index ead4d70df7f33ff984d288d14d774a4156abb4fd..d082b45777426b3737cb928f03936446
//this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur //this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur
int l = this.distanceManager.getNaturalSpawnChunkCount(); int l = this.distanceManager.getNaturalSpawnChunkCount();
// Paper start - per player mob spawning // Paper start - per player mob spawning
@@ -552,7 +552,7 @@ public class ServerChunkCache extends ChunkSource { @@ -552,14 +552,14 @@ public class ServerChunkCache extends ChunkSource {
//this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur //this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur
this.lastSpawnState = spawnercreature_d; this.lastSpawnState = spawnercreature_d;
- gameprofilerfiller.popPush("filteringLoadedChunks"); - gameprofilerfiller.popPush("filteringLoadedChunks");
+ //gameprofilerfiller.popPush("filteringLoadedChunks"); // Purpur + //gameprofilerfiller.popPush("filteringLoadedChunks"); // Purpur
List<ServerChunkCache.ChunkAndHolder> list = Lists.newArrayListWithCapacity(l); // Paper - optimise chunk tick iteration
Iterator iterator = this.chunkMap.getChunks().iterator(); // Paper - optimise chunk tick iteration
//this.level.timings.chunkTicks.startTiming(); // Paper // Purpur //this.level.timings.chunkTicks.startTiming(); // Paper // Purpur
@@ -566,7 +566,7 @@ public class ServerChunkCache extends ChunkSource {
} // Paper - optimise chunk tick iteration
}
- gameprofilerfiller.popPush("spawnAndTick"); - gameprofilerfiller.popPush("spawnAndTick");
+ //gameprofilerfiller.popPush("spawnAndTick"); // Purpur + //gameprofilerfiller.popPush("spawnAndTick"); // Purpur
boolean flag2 = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit boolean flag2 = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit
Collections.shuffle(list); // Paper start - optimise chunk tick iteration
@@ -600,21 +600,21 @@ public class ServerChunkCache extends ChunkSource { @@ -662,14 +662,14 @@ public class ServerChunkCache extends ChunkSource {
}
} }
// Paper end - optimise chunk tick iteration
//this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur //this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur
- gameprofilerfiller.popPush("customSpawners"); - gameprofilerfiller.popPush("customSpawners");
+ //gameprofilerfiller.popPush("customSpawners"); // Purpur + //gameprofilerfiller.popPush("customSpawners"); // Purpur
@@ -541,11 +540,13 @@ index ead4d70df7f33ff984d288d14d774a4156abb4fd..d082b45777426b3737cb928f03936446
- gameprofilerfiller.popPush("broadcast"); - gameprofilerfiller.popPush("broadcast");
+ //gameprofilerfiller.popPush("broadcast"); // Purpur + //gameprofilerfiller.popPush("broadcast"); // Purpur
list.forEach((chunkproviderserver_a1) -> { // Paper - optimise chunk tick iteration
//this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur //this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur
chunkproviderserver_a1.holder.broadcastChanges(chunkproviderserver_a1.chunk); // Paper start - optimise chunk tick iteration
@@ -687,8 +687,8 @@ public class ServerChunkCache extends ChunkSource {
// Paper end - optimise chunk tick iteration
//this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur //this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur
}); // Paper - optimise chunk tick iteration
- gameprofilerfiller.pop(); - gameprofilerfiller.pop();
- gameprofilerfiller.pop(); - gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur + //gameprofilerfiller.pop(); // Purpur
@@ -553,7 +554,7 @@ index ead4d70df7f33ff984d288d14d774a4156abb4fd..d082b45777426b3737cb928f03936446
this.chunkMap.tick(); this.chunkMap.tick();
} }
} }
@@ -787,7 +787,7 @@ public class ServerChunkCache extends ChunkSource { @@ -861,7 +861,7 @@ public class ServerChunkCache extends ChunkSource {
@Override @Override
protected void doRunTask(Runnable task) { protected void doRunTask(Runnable task) {
@@ -563,10 +564,10 @@ index ead4d70df7f33ff984d288d14d774a4156abb4fd..d082b45777426b3737cb928f03936446
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c3bb64ffe 100644 index 1688fdea27342783f91b5cd0a09343ddac77dc6d..ac85cbd677a3833924d3eb393a0c0f5e51ed524e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -703,12 +703,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -823,12 +823,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
public void tick(BooleanSupplier shouldKeepTicking) { public void tick(BooleanSupplier shouldKeepTicking) {
@@ -582,7 +583,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
this.advanceWeatherCycle(); this.advanceWeatherCycle();
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j; long j;
@@ -735,32 +735,32 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -855,32 +855,32 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.updateSkyBrightness(); this.updateSkyBrightness();
this.tickTime(); this.tickTime();
@@ -623,7 +624,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
if (flag) { if (flag) {
@@ -768,12 +768,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -888,12 +888,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
if (flag || this.emptyTime++ < 300) { if (flag || this.emptyTime++ < 300) {
@@ -639,7 +640,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
} }
org.spigotmc.ActivationRange.activateEntities(this); // Spigot org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -783,9 +783,9 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -903,9 +903,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard(); entity.discard();
} else { } else {
@@ -651,7 +652,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list
Entity entity1 = entity.getVehicle(); Entity entity1 = entity.getVehicle();
@@ -797,22 +797,21 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -917,22 +917,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.stopRiding(); entity.stopRiding();
} }
@@ -678,7 +679,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
} }
@Override @Override
@@ -892,9 +891,9 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1012,9 +1011,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
boolean flag = this.isRaining(); boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX(); int j = chunkcoordintpair.getMinBlockX();
int k = chunkcoordintpair.getMinBlockZ(); int k = chunkcoordintpair.getMinBlockZ();
@@ -690,7 +691,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - disable thunder if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - disable thunder
@@ -933,7 +932,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1053,7 +1052,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
} }
@@ -699,7 +700,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
if (!this.paperConfig().environment.disableIceAndSnow) { // Paper if (!this.paperConfig().environment.disableIceAndSnow) { // Paper
for (int l = 0; l < randomTickSpeed; ++l) { for (int l = 0; l < randomTickSpeed; ++l) {
@@ -945,7 +944,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1065,7 +1064,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} // Paper } // Paper
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
@@ -708,7 +709,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) { if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections(); LevelChunkSection[] sections = chunk.getSections();
@@ -980,7 +979,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1100,7 +1099,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end - optimise random block ticking // Paper end - optimise random block ticking
//timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur //timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
@@ -717,7 +718,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
} }
private void tickIceAndSnow(boolean raining, BlockPos.MutableBlockPos blockposition1, final LevelChunk chunk) { // Paper - optimise chunk ticking private void tickIceAndSnow(boolean raining, BlockPos.MutableBlockPos blockposition1, final LevelChunk chunk) { // Paper - optimise chunk ticking
@@ -1321,19 +1320,19 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1441,19 +1440,19 @@ public class ServerLevel extends Level implements WorldGenLevel {
//try { // Purpur //try { // Purpur
// Paper end - timings // Paper end - timings
entity.setOldPosAndRot(); entity.setOldPosAndRot();
@@ -742,7 +743,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
//} finally { timer.stopTiming(); } // Paper - timings // Purpur //} finally { timer.stopTiming(); } // Paper - timings // Purpur
Iterator iterator = entity.getPassengers().iterator(); Iterator iterator = entity.getPassengers().iterator();
@@ -1362,12 +1361,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1482,12 +1481,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end // Paper end
passenger.setOldPosAndRot(); passenger.setOldPosAndRot();
++passenger.tickCount; ++passenger.tickCount;
@@ -759,7 +760,7 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
// Paper start - EAR 2 // Paper start - EAR 2
if (isActive) { if (isActive) {
passenger.rideTick(); passenger.rideTick();
@@ -1379,7 +1378,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1499,7 +1498,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
vehicle.positionRider(passenger); vehicle.positionRider(passenger);
} }
// Paper end - EAR 2 // Paper end - EAR 2
@@ -769,10 +770,10 @@ index 4cc1f2fa4453e2ba160bfd42717bd7c8c68541fe..b55517984b3c0ed225a869ae44eceb6c
while (iterator.hasNext()) { while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 4f9796dfb1243befb6fa41b4fd633951a4bf0fc6..3c44249e782d0e98689a58c719030dea2f007644 100644 index 7aeaccaa6649a1c93567d07f6b955b9259d3a902..5722265ed3c1b411d2c7bf44d7d42b6420f6381a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1235,7 +1235,7 @@ public class ServerPlayer extends Player { @@ -1236,7 +1236,7 @@ public class ServerPlayer extends Player {
PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver); PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver);
if (shapedetectorshape != null) { if (shapedetectorshape != null) {
@@ -781,7 +782,7 @@ index 4f9796dfb1243befb6fa41b4fd633951a4bf0fc6..3c44249e782d0e98689a58c719030dea
worldserver = shapedetectorshape.world; // CraftBukkit worldserver = shapedetectorshape.world; // CraftBukkit
if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event
if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit
@@ -1258,8 +1258,8 @@ public class ServerPlayer extends Player { @@ -1259,8 +1259,8 @@ public class ServerPlayer extends Player {
worldserver = ((CraftWorld) exit.getWorld()).getHandle(); worldserver = ((CraftWorld) exit.getWorld()).getHandle();
// CraftBukkit end // CraftBukkit end
@@ -792,7 +793,7 @@ index 4f9796dfb1243befb6fa41b4fd633951a4bf0fc6..3c44249e782d0e98689a58c719030dea
if (true) { // CraftBukkit if (true) { // CraftBukkit
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
@@ -1277,7 +1277,7 @@ public class ServerPlayer extends Player { @@ -1278,7 +1278,7 @@ public class ServerPlayer extends Player {
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
this.connection.resetPosition(); this.connection.resetPosition();
worldserver.addDuringPortalTeleport(this); worldserver.addDuringPortalTeleport(this);
@@ -802,7 +803,7 @@ index 4f9796dfb1243befb6fa41b4fd633951a4bf0fc6..3c44249e782d0e98689a58c719030dea
this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities())); this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities()));
playerlist.sendLevelInfo(this, worldserver); playerlist.sendLevelInfo(this, worldserver);
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 9bc03cd18bf30bc71f79a6c11f3f30664cf6b822..c0d9e65b8c52afc761c7ca7ec19501141a28aa3a 100644 index edf3b0baa5a23dd957e2747677595cd5f5f7d55c..274b4cb9d008868d49c9578e15d2fecc50f8af8c 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -212,7 +212,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @@ -212,7 +212,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -1154,7 +1155,7 @@ index 28cac00d496cc6e37648dbe96ba4aea2b834cedd..6e0331818ef68fa355e3c27dc3e362b8
} }
} else { } else {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 9e07866c6597b62eb02985770c1fcffe6fb3f601..7bace36fb2c447cc2c7d07777a910c5867bbfe99 100644 index 9ca3a8df8d4e0cd733c489c930b563888fb01ffa..a9b87083623050cf9b0a5311f0f687e0ada73137 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -411,7 +411,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -411,7 +411,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1732,10 +1733,10 @@ index 45243249a561440512ef2a620c60b02e159c80e2..b26cea981a876fd42c9ab91923d507b3
} }
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 f9db7dde74ce1277a792497d078ed272e8b23d10..7b35238aadcd10a4a246712f252e6254b0070d57 100644 index 10276a6b2b311f9cf45b030e4dbb46e44faa04a5..4e8738531ea388733c41dbb408eb43c1e3c88fad 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
@@ -1296,9 +1296,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1299,9 +1299,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
protected void tickBlockEntities() { protected void tickBlockEntities() {
@@ -1747,7 +1748,7 @@ index f9db7dde74ce1277a792497d078ed272e8b23d10..7b35238aadcd10a4a246712f252e6254
//timings.tileEntityPending.startTiming(); // Spigot // Purpur //timings.tileEntityPending.startTiming(); // Spigot // Purpur
this.tickingBlockEntities = true; this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) { if (!this.pendingBlockEntityTickers.isEmpty()) {
@@ -1343,7 +1343,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1346,7 +1346,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
//timings.tileEntityTick.stopTiming(); // Spigot // Purpur //timings.tileEntityTick.stopTiming(); // Spigot // Purpur
this.tickingBlockEntities = false; this.tickingBlockEntities = false;
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
@@ -1756,7 +1757,7 @@ index f9db7dde74ce1277a792497d078ed272e8b23d10..7b35238aadcd10a4a246712f252e6254
spigotConfig.currentPrimedTnt = 0; // Spigot spigotConfig.currentPrimedTnt = 0; // Spigot
} }
@@ -1546,7 +1546,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1549,7 +1549,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@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) {
@@ -1765,7 +1766,7 @@ index f9db7dde74ce1277a792497d078ed272e8b23d10..7b35238aadcd10a4a246712f252e6254
List<Entity> list = Lists.newArrayList(); List<Entity> list = Lists.newArrayList();
((ServerLevel)this).getEntityLookup().getEntities(except, box, list, predicate); // Paper - optimise this call ((ServerLevel)this).getEntityLookup().getEntities(except, box, list, predicate); // Paper - optimise this call
return list; return list;
@@ -1565,7 +1565,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1568,7 +1568,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate, List<? super T> result, int limit) { public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate, List<? super T> result, int limit) {
@@ -1774,7 +1775,7 @@ index f9db7dde74ce1277a792497d078ed272e8b23d10..7b35238aadcd10a4a246712f252e6254
// Paper start - optimise this call // Paper start - optimise this call
//TODO use limit //TODO use limit
if (filter instanceof net.minecraft.world.entity.EntityType entityTypeTest) { if (filter instanceof net.minecraft.world.entity.EntityType entityTypeTest) {
@@ -1822,6 +1822,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1825,6 +1825,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
public ProfilerFiller getProfiler() { public ProfilerFiller getProfiler() {
@@ -1783,7 +1784,7 @@ index f9db7dde74ce1277a792497d078ed272e8b23d10..7b35238aadcd10a4a246712f252e6254
} }
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 93af6e1a041a514e9b7198e0e510fa88b043439d..ec95678e5fb3f36a35cd0e03c65184a8ee4c8609 100644 index 6a5dddfd120760b3334d8a4c4ebde84744083392..f3ff965e641f561dbc1b5194353e75dc17e9a0ba 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -132,7 +132,7 @@ public final class NaturalSpawner { @@ -132,7 +132,7 @@ public final class NaturalSpawner {
@@ -1795,7 +1796,7 @@ index 93af6e1a041a514e9b7198e0e510fa88b043439d..ec95678e5fb3f36a35cd0e03c65184a8
//world.timings.mobSpawn.startTiming(); // Spigot // Purpur //world.timings.mobSpawn.startTiming(); // Spigot // Purpur
MobCategory[] aenumcreaturetype = NaturalSpawner.SPAWNING_CATEGORIES; MobCategory[] aenumcreaturetype = NaturalSpawner.SPAWNING_CATEGORIES;
int i = aenumcreaturetype.length; int i = aenumcreaturetype.length;
@@ -189,7 +189,7 @@ public final class NaturalSpawner { @@ -187,7 +187,7 @@ public final class NaturalSpawner {
} }
//world.timings.mobSpawn.stopTiming(); // Spigot // Purpur //world.timings.mobSpawn.stopTiming(); // Spigot // Purpur
@@ -1805,10 +1806,10 @@ index 93af6e1a041a514e9b7198e0e510fa88b043439d..ec95678e5fb3f36a35cd0e03c65184a8
// Paper start // Paper start
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 b27e2e187f9edebdf53cfad3d410154c0751ac86..5ba88bf9109ae1b6cf782b378a08ac7fd135f289 100644 index 7d60f8a4e3fa15d81628bba0f6b3c1fc9040535b..8d385708df97d47881929d4352f1b90286aad1a2 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
@@ -446,11 +446,11 @@ public class LevelChunk extends ChunkAccess { @@ -447,11 +447,11 @@ public class LevelChunk extends ChunkAccess {
if (LightEngine.hasDifferentLightProperties(this, blockposition, iblockdata1, iblockdata)) { if (LightEngine.hasDifferentLightProperties(this, blockposition, iblockdata1, iblockdata)) {
ProfilerFiller gameprofilerfiller = this.level.getProfiler(); ProfilerFiller gameprofilerfiller = this.level.getProfiler();
@@ -1823,7 +1824,7 @@ index b27e2e187f9edebdf53cfad3d410154c0751ac86..5ba88bf9109ae1b6cf782b378a08ac7f
} }
boolean flag3 = iblockdata1.hasBlockEntity(); boolean flag3 = iblockdata1.hasBlockEntity();
@@ -1164,9 +1164,9 @@ public class LevelChunk extends ChunkAccess { @@ -1165,9 +1165,9 @@ public class LevelChunk extends ChunkAccess {
if (LevelChunk.this.isTicking(blockposition)) { if (LevelChunk.this.isTicking(blockposition)) {
try { try {
@@ -1835,7 +1836,7 @@ index b27e2e187f9edebdf53cfad3d410154c0751ac86..5ba88bf9109ae1b6cf782b378a08ac7f
//this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur //this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition); BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
@@ -1178,7 +1178,7 @@ public class LevelChunk extends ChunkAccess { @@ -1179,7 +1179,7 @@ public class LevelChunk extends ChunkAccess {
LevelChunk.LOGGER.warn("Block entity {} @ {} state {} invalid for ticking:", new Object[]{LogUtils.defer(this::getType), LogUtils.defer(this::getPos), iblockdata}); LevelChunk.LOGGER.warn("Block entity {} @ {} state {} invalid for ticking:", new Object[]{LogUtils.defer(this::getType), LogUtils.defer(this::getPos), iblockdata});
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Debug Marker API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index cb912efba182aff9e8f080aa473f78115eae8a47..8632e9cab6563b9ea0a01c2e5248ad658129d5ce 100644 index 12b25d353990b6bcca3772c07ebe6472944b3166..c600c3579747281a7e463ea4dcb9335d8936f2e3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1543,6 +1543,42 @@ public final class CraftServer implements Server { @@ -1543,6 +1543,42 @@ public final class CraftServer implements Server {
@@ -52,10 +52,10 @@ index cb912efba182aff9e8f080aa473f78115eae8a47..8632e9cab6563b9ea0a01c2e5248ad65
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index e55438768a030cdcef433782e55f0fafc4f51db1..2b87e25c1b6627d4ccfb11f4c20c1796c897867f 100644 index 791e69b2c963cd034d6d35561448cdb20b1b1cde..52b48e40c3ee5f483c6cb04409459cf25abc3f0d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2288,6 +2288,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -2293,6 +2293,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public float getLocalDifficultyAt(Location location) { public float getLocalDifficultyAt(Location location) {
return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty(); return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
} }

View File

@@ -5,16 +5,15 @@ Subject: [PATCH] mob spawning option to ignore creative players
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index ec95678e5fb3f36a35cd0e03c65184a8ee4c8609..a32ac7796c8cba94b02d854d47395cc1a513f770 100644 index f3ff965e641f561dbc1b5194353e75dc17e9a0ba..51a4d0b212278a20363fd0d3cb253f0e3047e961 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -260,7 +260,8 @@ public final class NaturalSpawner { @@ -258,7 +258,7 @@ public final class NaturalSpawner {
blockposition_mutableblockposition.set(l, i, i1); blockposition_mutableblockposition.set(l, i, i1);
double d0 = (double) l + 0.5D; double d0 = (double) l + 0.5D;
double d1 = (double) i1 + 0.5D; double d1 = (double) i1 + 0.5D;
- Player entityhuman = world.getNearestPlayer(d0, (double) i, d1, -1.0D, false); - Player entityhuman = world.getNearestPlayer(d0, (double) i, d1, -1.0D, false);
+ Player entityhuman = world.getNearestPlayer(d0, (double) i, d1, -1.0D, world.purpurConfig.mobSpawningIgnoreCreativePlayers); // Purpur - diff on change + Player entityhuman = world.getNearestPlayer(d0, (double) i, d1, -1.0D, world.purpurConfig.mobSpawningIgnoreCreativePlayers); // Purpur
+ //Player entityhuman = (chunk instanceof LevelChunk) ? ((LevelChunk)chunk).findNearestPlayer(d0, i, d1, 576.0D, world.purpurConfig.mobSpawningIgnoreCreativePlayers ? net.minecraft.world.entity.EntitySelector.NO_CREATIVE_OR_SPECTATOR : net.minecraft.world.entity.EntitySelector.NO_SPECTATORS) : world.getNearestPlayer(d0, (double) i, d1, -1.0D, world.purpurConfig.mobSpawningIgnoreCreativePlayers); // Paper - use chunk's player cache to optimize search in range // Purpur // Purpur - TODO: Paper
if (entityhuman != null) { if (entityhuman != null) {
double d2 = entityhuman.distanceToSqr(d0, (double) i, d1); double d2 = entityhuman.distanceToSqr(d0, (double) i, d1);

View File

@@ -18,10 +18,10 @@ index 9caab6541a224dc8f729a7d720eccda7bd83ed53..2fd376789bb24b14101e289733631a9a
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 3c44249e782d0e98689a58c719030dea2f007644..1b8325dfa185cf35bcb02e5e2485a78ef6f8c014 100644 index 5722265ed3c1b411d2c7bf44d7d42b6420f6381a..99cf8ce63316e127a5ee84cdd96df80d440dc0c3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -277,6 +277,7 @@ public class ServerPlayer extends Player { @@ -276,6 +276,7 @@ public class ServerPlayer extends Player {
public boolean purpurClient = false; // Purpur public boolean purpurClient = false; // Purpur
private boolean tpsBar = false; // Purpur private boolean tpsBar = false; // Purpur
private boolean compassBar = false; // Purpur private boolean compassBar = false; // Purpur
@@ -29,7 +29,7 @@ index 3c44249e782d0e98689a58c719030dea2f007644..1b8325dfa185cf35bcb02e5e2485a78e
// Paper start - replace player chunk loader // Paper start - replace player chunk loader
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
@@ -562,6 +563,7 @@ public class ServerPlayer extends Player { @@ -563,6 +564,7 @@ public class ServerPlayer extends Player {
} }
} }
@@ -37,7 +37,7 @@ index 3c44249e782d0e98689a58c719030dea2f007644..1b8325dfa185cf35bcb02e5e2485a78e
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur
} }
@@ -630,6 +632,7 @@ public class ServerPlayer extends Player { @@ -631,6 +633,7 @@ public class ServerPlayer extends Player {
} }
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
@@ -45,7 +45,7 @@ index 3c44249e782d0e98689a58c719030dea2f007644..1b8325dfa185cf35bcb02e5e2485a78e
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur
} }
@@ -2804,5 +2807,13 @@ public class ServerPlayer extends Player { @@ -2805,5 +2808,13 @@ public class ServerPlayer extends Player {
public void compassBar(boolean compassBar) { public void compassBar(boolean compassBar) {
this.compassBar = compassBar; this.compassBar = compassBar;
} }

View File

@@ -36,10 +36,10 @@ index 2e395962b555bef0ce1a98e1d768e7738f011535..40f51062624161892c780ddae05e2285
this.writeId(BuiltInRegistries.ITEM, item); this.writeId(BuiltInRegistries.ITEM, item);
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 94b9a2f72dbdf85a95a9b99c45a66e7044f69f2a..d20aea388a568657f233d9e8b34b208d0d2ab01e 100644 index 189c904a3b0ac2d2b889e118bfd7c75e6ec5da3e..9c4cec7cf323f6768a89358fa1a11b53ce335cd4 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
@@ -1544,6 +1544,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1547,6 +1547,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper // Purpur //MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper // Purpur
this.isIteratingOverLevels = true; // Paper this.isIteratingOverLevels = true; // Paper