Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@6d63005 Fix setEggCount method from TurtleLayEggEvent (#8385)
PaperMC/Paper@abe53a7 Fix typos in isTickingWorlds API javadocs (#8382)
PaperMC/Paper@01a1387 Rewrite chunk system (#8177)
This commit is contained in:
BillyGalbreath
2022-09-26 04:35:03 -05:00
parent 3e02573ea0
commit 478d55ec4d
57 changed files with 467 additions and 2913 deletions

View File

@@ -1,7 +1,7 @@
group = org.purpurmc.purpur group = org.purpurmc.purpur
version = 1.19.2-R0.1-SNAPSHOT version = 1.19.2-R0.1-SNAPSHOT
paperCommit = b4c025b92c48fb2b55a7433f85627184aee5d90a paperCommit = 01a13871deefa50e186a10b63f71c5e0459e7d30
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix pufferfish issues
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 7074295d7399d03e259598bb4bfa0f21434d74be..26f8979c1a150159823be1693cf2aa5366401015 100644 index 0485d126f799789b5d5abcaf96da96df25a12dfd..692789a473665c1fc7be56b8913cd208ae27d2e5 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -49,8 +49,8 @@ dependencies { @@ -49,8 +49,8 @@ dependencies {
@@ -20,10 +20,10 @@ index 7074295d7399d03e259598bb4bfa0f21434d74be..26f8979c1a150159823be1693cf2aa53
} }
// Pufferfish end // Pufferfish end
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 8ed9f14f1ca71111a8215b28821bd5e398c0d0a6..42c88ef31474690c95f7cfe7c3075e1f854c4005 100644 index f8750675044708e71dbf6293be6ce36bd6c510ca..b69799d0ae0ce8b176b910da886e71c4d25c94aa 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
@@ -775,7 +775,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -805,7 +805,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
@@ -33,7 +33,7 @@ index 8ed9f14f1ca71111a8215b28821bd5e398c0d0a6..42c88ef31474690c95f7cfe7c3075e1f
private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish
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 388a153113d87ba99515828c6d535110b4413c7c..29a2ba6b84c01280f8c7f32e6a78e3dd6c53cb07 100644 index 0277633fd328ef9993fea4ac29df83b5b00c0f42..35d6a8fe168caa5b68b471bd78cc95b99758d1b0 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
@@ -271,7 +271,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -271,7 +271,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -46,10 +46,10 @@ index 388a153113d87ba99515828c6d535110b4413c7c..29a2ba6b84c01280f8c7f32e6a78e3dd
// Pufferfish start - ensure these get inlined // Pufferfish start - ensure these get inlined
private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection; private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection;
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 0b08a91ae9dc73c011dbb5f517becac7d08fd1e9..6fbf26eb7da8df2f0a4158ff9f12022518ada8e3 100644 index 34334c139176e0aa9f6d93a87821508d17567cfc..df2786516fe641edff7bbe9fe0665bf07502d830 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
@@ -136,7 +136,7 @@ public class LevelChunk extends ChunkAccess { @@ -130,7 +130,7 @@ public class LevelChunk extends ChunkAccess {
this.fluidTicks = fluidTickScheduler; this.fluidTicks = fluidTickScheduler;
// CraftBukkit start // CraftBukkit start
this.bukkitChunk = new org.bukkit.craftbukkit.CraftChunk(this); this.bukkitChunk = new org.bukkit.craftbukkit.CraftChunk(this);

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 26f8979c1a150159823be1693cf2aa5366401015..441a18132eb60e1af8b624ab7cf3de61669ced1f 100644 index 692789a473665c1fc7be56b8913cd208ae27d2e5..4e4bc7e55a81dc44d7f6cfc6a8761141d0d3bb6c 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -9,7 +9,7 @@ plugins { @@ -9,7 +9,7 @@ plugins {
@@ -27,7 +27,7 @@ index 26f8979c1a150159823be1693cf2aa5366401015..441a18132eb60e1af8b624ab7cf3de61
runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.5") runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.5")
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3") runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3")
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3") runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3")
@@ -84,7 +87,7 @@ tasks.jar { @@ -83,7 +86,7 @@ tasks.jar {
attributes( attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main", "Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit", "Implementation-Title" to "CraftBukkit",
@@ -36,7 +36,7 @@ index 26f8979c1a150159823be1693cf2aa5366401015..441a18132eb60e1af8b624ab7cf3de61
"Implementation-Vendor" to date, // Paper "Implementation-Vendor" to date, // Paper
"Specification-Title" to "Bukkit", "Specification-Title" to "Bukkit",
"Specification-Version" to project.version, "Specification-Version" to project.version,
@@ -183,7 +186,7 @@ fun TaskContainer.registerRunTask( @@ -182,7 +185,7 @@ fun TaskContainer.registerRunTask(
name: String, name: String,
block: JavaExec.() -> Unit block: JavaExec.() -> Unit
): TaskProvider<JavaExec> = register<JavaExec>(name) { ): TaskProvider<JavaExec> = register<JavaExec>(name) {
@@ -168,7 +168,7 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438
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 67e150e35d328eb13c8f86e61dab2f11c76b21df..cb907fe3988705e5dd961a9b9b2cbc9321e59d69 100644 index af9da39dffda01325af2ab3dd8b5e1efb18e013a..957587f5c3f9c26794c80146b4deb282af3469e8 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
@@ -298,7 +298,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -298,7 +298,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -180,7 +180,7 @@ index 67e150e35d328eb13c8f86e61dab2f11c76b21df..cb907fe3988705e5dd961a9b9b2cbc93
public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning", () -> true); // Pufferfish - optimize mob spawning public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning", () -> true); // Pufferfish - optimize mob spawning
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) { public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
@@ -913,7 +913,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -923,7 +923,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()) {
@@ -189,7 +189,7 @@ index 67e150e35d328eb13c8f86e61dab2f11c76b21df..cb907fe3988705e5dd961a9b9b2cbc93
while (this.getRunningThread().isAlive()) { while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop(); this.getRunningThread().stop();
try { try {
@@ -1676,7 +1676,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1656,7 +1656,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {
@@ -199,7 +199,7 @@ index 67e150e35d328eb13c8f86e61dab2f11c76b21df..cb907fe3988705e5dd961a9b9b2cbc93
public SystemReport fillSystemReport(SystemReport details) { public SystemReport fillSystemReport(SystemReport details) {
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 519883c5549744e047a8a96afee142746fcb49cd..7c09182f465b66979e1981222d20fa4f574680d5 100644 index d4efadbc87ee0b6cb8564c57fc9dcbb48367a767..01928849f9dd42a3ea8826b56d419e8c09450f47 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
@@ -285,11 +285,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -285,11 +285,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -218,7 +218,7 @@ index 519883c5549744e047a8a96afee142746fcb49cd..7c09182f465b66979e1981222d20fa4f
// Spigot end // Spigot end
DedicatedServer.LOGGER.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file."); DedicatedServer.LOGGER.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
index c2356ed1a00fd8087cca285be5e7f6a5442e73fb..13399302916bbf39cd08cfcefaf3358ad58ee8c4 100644 index 8db3bcc63aeb23e5b50864ebea675acc75d184ff..3aa9a667d988fe2b6118ce4b3a4551e7e17b7884 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java --- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
@@ -113,7 +113,7 @@ public class RegionFileStorage implements AutoCloseable { @@ -113,7 +113,7 @@ public class RegionFileStorage implements AutoCloseable {
@@ -231,7 +231,7 @@ index c2356ed1a00fd8087cca285be5e7f6a5442e73fb..13399302916bbf39cd08cfcefaf3358a
private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8; private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8;
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 ff520a7fa8235a46d861df60569077be258d7cb1..f9b2b6f8bededc5d87fcaac59ff14bac7d76073b 100644 index b8efe50c860a7537f345f46f3b3d68906ad54006..8fc70e7f75786ad10a97676a04bc0bc91f9526fe 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
@@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper @@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper
@@ -323,10 +323,10 @@ index 80553face9c70c2a3d897681e7761df85b22d464..fb87620c742ff7912f5e8ccd2a7930dd
if (stream != null) { if (stream != null) {
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
index d568fc92d03c313a782796cc720a1ebb1a5ad8be..4a88fbee3566ba54b615745a2e4801691f494557 100644 index e9fa7faaa4451e36b3908cbcbbe0baf213abde96..a810bfd3b8d6bd4d8f2ef8797e4281ae4fe8a67f 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java --- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -96,7 +96,7 @@ public class WatchdogThread extends Thread @@ -96,7 +96,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
private WatchdogThread(long timeoutTime, boolean restart) private WatchdogThread(long timeoutTime, boolean restart)
{ {
@@ -335,7 +335,7 @@ index d568fc92d03c313a782796cc720a1ebb1a5ad8be..4a88fbee3566ba54b615745a2e480169
this.timeoutTime = timeoutTime; this.timeoutTime = timeoutTime;
this.restart = restart; this.restart = restart;
earlyWarningEvery = Math.min(io.papermc.paper.configuration.GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper earlyWarningEvery = Math.min(io.papermc.paper.configuration.GlobalConfiguration.get().watchdog.earlyWarningEvery, timeoutTime); // Paper
@@ -155,14 +155,14 @@ public class WatchdogThread extends Thread @@ -155,14 +155,14 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
if (isLongTimeout) { if (isLongTimeout) {
// Paper end // Paper end
log.log( Level.SEVERE, "------------------------------" ); log.log( Level.SEVERE, "------------------------------" );
@@ -353,7 +353,7 @@ index d568fc92d03c313a782796cc720a1ebb1a5ad8be..4a88fbee3566ba54b615745a2e480169
// //
if ( net.minecraft.world.level.Level.lastPhysicsProblem != null ) if ( net.minecraft.world.level.Level.lastPhysicsProblem != null )
{ {
@@ -185,12 +185,12 @@ public class WatchdogThread extends Thread @@ -185,12 +185,12 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
// Paper end // Paper end
} else } else
{ {
@@ -365,10 +365,10 @@ index d568fc92d03c313a782796cc720a1ebb1a5ad8be..4a88fbee3566ba54b615745a2e480169
log.log( Level.SEVERE, "------------------------------" ); log.log( Level.SEVERE, "------------------------------" );
- log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper - log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Paper!):" ); // Paper
+ log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):" ); // Paper // Purpur + log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Purpur!):" ); // Paper // Purpur
com.destroystokyo.paper.io.chunk.ChunkTaskManager.dumpAllChunkLoadInfo(); // Paper io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.dumpAllChunkLoadInfo(isLongTimeout); // Paper // Paper - rewrite chunk system
this.dumpTickingInfo(); // Paper - log detailed tick information this.dumpTickingInfo(); // Paper - log detailed tick information
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( server.serverThread.getId(), Integer.MAX_VALUE ), log ); WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
@@ -206,7 +206,7 @@ public class WatchdogThread extends Thread @@ -206,7 +206,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
WatchdogThread.dumpThread( thread, log ); WatchdogThread.dumpThread( thread, log );
} }
} else { } else {

View File

@@ -5,17 +5,17 @@ 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 3615576c24d5d6790a6894a91180de25fa0e5a9c..266a26d73dd5aec427b64a638693decf70ea36cb 100644 index af7acb628b84539b1ee5ef1934f75f091c4cd91e..63aef471ceba18c2b296f4e287837c6df44809d7 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
@@ -262,6 +262,7 @@ public class ServerPlayer extends Player { @@ -261,6 +261,7 @@ public class ServerPlayer extends Player {
public Integer clientViewDistance; public Integer clientViewDistance;
// CraftBukkit end // CraftBukkit end
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
+ public boolean purpurClient = false; // Purpur + public boolean purpurClient = false; // Purpur
public boolean isRealPlayer; // Paper
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index cc55cb14f2d0f656213be25a1e428132871ac5dd..184c5540e519edd0430ae586bfae93d3ff798de2 100644 index cc55cb14f2d0f656213be25a1e428132871ac5dd..184c5540e519edd0430ae586bfae93d3ff798de2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -43,7 +43,7 @@ index cc55cb14f2d0f656213be25a1e428132871ac5dd..184c5540e519edd0430ae586bfae93d3
try { try {
byte[] data = new byte[packet.data.readableBytes()]; byte[] data = new byte[packet.data.readableBytes()];
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 099987645142a5a065b5bd377a16d9d6c59dabd9..3a4f2453831eda258ab5f7907204ee5d2bdac4c7 100644 index a508619e6855ee0b96a9bf61526b1b88abf0e732..ea2c76116d8328d2ba6e5e7cc2ed1464f43a8c82 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2937,4 +2937,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2937,4 +2937,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

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 3300a10b2558651c68fac18939815eb45889152b..a16f72e34af8cfef50622dba18750926ace1008e 100644 index 63aef471ceba18c2b296f4e287837c6df44809d7..5f854b9d25d5965268a089a992ee9bacf7b3aa0f 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
@@ -1705,6 +1705,26 @@ public class ServerPlayer extends Player { @@ -1690,6 +1690,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 3300a10b2558651c68fac18939815eb45889152b..a16f72e34af8cfef50622dba18750926
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 5999d85e38951503fc83b40cfe39671921ae5088..263e61b655d0ec58b63da859df46f0962de45ec7 100644 index 06eda955f96b5fe2d08ed0d39229c7a6ebb88931..16154d89a1c67ebc9dc6ecaeb214799e75d16b6f 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
@@ -1074,6 +1074,20 @@ public abstract class PlayerList { @@ -1074,6 +1074,20 @@ public abstract class PlayerList {
@@ -81,10 +81,10 @@ index 67bce77093dcc126098731047447da2031e3388d..c4088446d30c3b25cf196f51fd394cd0
return this.isFireSource; return this.isFireSource;
} }
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 4971ec79a114fd0d7540eaa0ef54b18c4bfbea57..4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc 100644 index fc4bd8ad4836aa6bdd228885f0aeb22500782af5..d9348a2f58eea3bd1d70851bedf29fd96430e1ff 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3797,6 +3797,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3798,6 +3798,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return SlotAccess.NULL; return SlotAccess.NULL;
} }

View File

@@ -22,10 +22,10 @@ index 153451ecd5b3c8e8ecb2d5ec91ccd582d4300899..56536c39bccfe097f8227c74a0d16799
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 cb907fe3988705e5dd961a9b9b2cbc9321e59d69..6845b05225cd679d7b40695455f4ea651507787e 100644 index 957587f5c3f9c26794c80146b4deb282af3469e8..7f0551e70c545f8e77d18b11e836233faeba9161 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
@@ -1537,6 +1537,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1517,6 +1517,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ServerLevel worldserver = (ServerLevel) iterator.next(); ServerLevel worldserver = (ServerLevel) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.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 cb907fe3988705e5dd961a9b9b2cbc9321e59d69..6845b05225cd679d7b40695455f4ea65
this.profiler.push(() -> { this.profiler.push(() -> {
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 42c88ef31474690c95f7cfe7c3075e1f854c4005..738ffcc9f8ec1b34e7e1357ae48283e3245d906f 100644 index b69799d0ae0ce8b176b910da886e71c4d25c94aa..eab96c9b53cd608ff99cdad06721cd19e490ad14 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
@@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -46,10 +46,10 @@ index 42c88ef31474690c95f7cfe7c3075e1f854c4005..738ffcc9f8ec1b34e7e1357ae48283e3
return new Throwable(entity + " Added to world at " + new java.util.Date()); return new Throwable(entity + " Added to world at " + new java.util.Date());
} }
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 a16f72e34af8cfef50622dba18750926ace1008e..f9c77e5280950af9b6d650041b14c501657b8669 100644 index 5f854b9d25d5965268a089a992ee9bacf7b3aa0f..e0a7a932ebfdec18b28ce5b697400951ea54c0a9 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
@@ -670,6 +670,15 @@ public class ServerPlayer extends Player { @@ -655,6 +655,15 @@ public class ServerPlayer extends Player {
this.trackStartFallingPosition(); this.trackStartFallingPosition();
this.trackEnteredOrExitedLavaOnVehicle(); this.trackEnteredOrExitedLavaOnVehicle();
this.advancements.flushDirty(this); this.advancements.flushDirty(this);
@@ -79,7 +79,7 @@ index 184c5540e519edd0430ae586bfae93d3ff798de2..b5e3f57a1a8875c33c3a01a525efc692
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
ServerGamePacketListenerImpl.this.send(new ClientboundAddEntityPacket(entity)); ServerGamePacketListenerImpl.this.send(new ClientboundAddEntityPacket(entity));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc..8dd2710b7db50d74c53ded1fbf23dccf32e41357 100644 index d9348a2f58eea3bd1d70851bedf29fd96430e1ff..726c4a9dac41a887537b91ade7cb7b2a722a1e63 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -362,7 +362,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -362,7 +362,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -91,7 +91,7 @@ index 4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc..8dd2710b7db50d74c53ded1fbf23dccf
private float eyeHeight; private float eyeHeight;
public boolean isInPowderSnow; public boolean isInPowderSnow;
public boolean wasInPowderSnow; public boolean wasInPowderSnow;
@@ -2781,6 +2781,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2782,6 +2782,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.passengers = ImmutableList.copyOf(list); this.passengers = ImmutableList.copyOf(list);
} }
@@ -104,7 +104,7 @@ index 4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc..8dd2710b7db50d74c53ded1fbf23dccf
} }
return true; // CraftBukkit return true; // CraftBukkit
} }
@@ -2821,6 +2827,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2822,6 +2828,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return false; return false;
} }
// Spigot end // Spigot end
@@ -119,7 +119,7 @@ index 4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc..8dd2710b7db50d74c53ded1fbf23dccf
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of(); this.passengers = ImmutableList.of();
} else { } else {
@@ -4544,4 +4558,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4568,4 +4582,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this); return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
} }
// Paper end // Paper end
@@ -702,7 +702,7 @@ index 1f85f34c1e50f34fb270d2fac7d307c82a550bfa..324f52edd95b5f9a498e46def8c14435
double d = this.wantedX - this.fish.getX(); double d = this.wantedX - this.fish.getX();
double e = this.wantedY - this.fish.getY(); double e = this.wantedY - this.fish.getY();
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index dbeb70913d3933164e997ce5d662b4890ffe4f36..cf7036e014097183c697b06ea5865a361221bd6a 100644 index a9cdf9034ad269f7a71358443acc053288cfbe6d..69a214c3a9f49d5b30b56f880263e736548a064f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -43,6 +43,7 @@ import net.minecraft.world.entity.EntityType; @@ -43,6 +43,7 @@ import net.minecraft.world.entity.EntityType;
@@ -2320,7 +2320,7 @@ index 1c93872f9fcc6f6a19dee8565726501d0e580d44..3b576e8944bcef78f5769ccd90591f2d
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index 4c3fd27bff777139e29905e8684f6e92a44decfe..5c670b368407010524dcee1064fac2748d84cec2 100644 index 74cb2741a5cd66bdac3a22de938ae82968705a56..6a6613f70f9c4cc950882191b00048d4c47bd84f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -83,16 +83,65 @@ public class Frog extends Animal { @@ -83,16 +83,65 @@ public class Frog extends Animal {
@@ -2770,7 +2770,7 @@ index 305a891e4b51d1031d9e9238ff00e2ea7de8d954..84625d09df800fcfd477fc493fb5f824
protected void defineSynchedData() { protected void defineSynchedData() {
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 47d6236daca806878399890a8d08e55233f19fd9..0876034f2735af2b143112162b38a5bfd71139bb 100644 index ac3d4d90407288526a8c787e365ff41234a58543..f892b25c45c7b84fa37f4ddfe2c1068cfa1be483 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -103,6 +103,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -103,6 +103,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -2801,7 +2801,7 @@ index 47d6236daca806878399890a8d08e55233f19fd9..0876034f2735af2b143112162b38a5bf
+ +
+ @Override + @Override
+ public void purpurTick(Player rider) { + public void purpurTick(Player rider) {
+ setYawPitch(rider.yRot - 180F, rider.xRotO * 0.5F); + setYawPitch(rider.getYRot() - 180F, rider.xRotO * 0.5F);
+ } + }
+ }; + };
+ // Purpur end + // Purpur end
@@ -2919,7 +2919,7 @@ index 47d6236daca806878399890a8d08e55233f19fd9..0876034f2735af2b143112162b38a5bf
this.dragonFight.updateDragon(this); this.dragonFight.updateDragon(this);
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 4fb40aa91e0961f1974c74c88fa68359e4ad6b16..7a0653ae3bf1f9c99e3363fb27a9af30cbc2f27a 100644 index a6d30f3213d30ba925926437ed4535319061213d..11f6465cbf26f4a632f597f2158c6c91d5056c41 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -84,16 +84,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -84,16 +84,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -3091,7 +3091,7 @@ index 4fb40aa91e0961f1974c74c88fa68359e4ad6b16..7a0653ae3bf1f9c99e3363fb27a9af30
int i; int i;
if (this.getInvulnerableTicks() > 0) { if (this.getInvulnerableTicks() > 0) {
@@ -583,11 +713,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -582,11 +712,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
public int getAlternativeTarget(int headIndex) { public int getAlternativeTarget(int headIndex) {
@@ -3348,7 +3348,7 @@ index e0f71dc12cfc28710cacfbc372026f556dcab165..17cc847fd6e5a128c9ae7427dc0aef51
} }
// Paper end // Paper end
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 30a67a1eef9238e12e54c57a0608387cc0f763ef..af1a6cd77e70141be8b6507e1494babaeab3828c 100644 index 1b1305f5eaf5710b72c57ab4c3953e703a23f1e0..869a2ee5e0775cc477fb56063dfa4ce4a0c6e3f2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -68,6 +68,23 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -68,6 +68,23 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -3904,7 +3904,7 @@ index ea4fa9eba301e462c159cdb970079f6d87d25f4d..3a2261687ec8b3b1f69b89ceeb2cc8cc
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index cb81c5d37c72845133c4e59acaf8de56dcc9e62a..a8565816836e5ab55086a6024dc47df277cd7277 100644 index cb81c5d37c72845133c4e59acaf8de56dcc9e62a..308debc811b8eb61c8d9d5aeba3e118b9802e401 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -60,6 +60,64 @@ public class Phantom extends FlyingMob implements Enemy { @@ -60,6 +60,64 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -4035,7 +4035,7 @@ index cb81c5d37c72845133c4e59acaf8de56dcc9e62a..a8565816836e5ab55086a6024dc47df2
+ // Purpur start + // Purpur start
+ public void purpurTick(Player rider) { + public void purpurTick(Player rider) {
+ setYawPitch(rider.yRot, -rider.xRotO * 0.75F); + setYawPitch(rider.getYRot(), -rider.xRotO * 0.75F);
+ } + }
+ // Purpur end + // Purpur end
+ +

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 3545d6ede83ebf000e05f873c62deed27403845e..55c5ec3a4ad21e2a10bd99a1560ee29f9ad9bd39 100644 index 726c4a9dac41a887537b91ade7cb7b2a722a1e63..4227272cc2bac2b603e4d477031d4c71641c5748 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager; @@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager;
@@ -34,7 +34,7 @@ index 882ab40c8cdea8c214cb8344b3ccecddb2967c1c..cb79d2c958fbd34f8c8818e7e1c0db88
@Override @Override
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 69de163971a9877d8b020184c296f7f98ee877ed..6f6386230dcd061760a8386691063601f9a7f1d5 100644 index 4eb4c99a0284b3bc324f37cf55c09ef0006b1136..dbf1ef9297efd628f8479c63217919d179418295 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
@@ -288,6 +288,7 @@ public abstract class LivingEntity extends Entity { @@ -288,6 +288,7 @@ public abstract class LivingEntity extends Entity {
@@ -78,7 +78,7 @@ index 2edc11b093dbfc96d287dc9d3e208cc2a39c537e..007c945725721ddb8a3dc4b8085e8c68
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index cf7036e014097183c697b06ea5865a361221bd6a..feab2c5553e62016f2e82977257ecf2a22fd713d 100644 index 69a214c3a9f49d5b30b56f880263e736548a064f..33f2100a9cb7616339c18d9b41293eab8c0e4a65 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -214,6 +214,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -214,6 +214,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -94,7 +94,7 @@ index cf7036e014097183c697b06ea5865a361221bd6a..feab2c5553e62016f2e82977257ecf2a
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index cc73dffbeb8a118de2b913c6f9d40c61f94dabbd..90ef6c8d5371b62d043320d493d624ae18737f07 100644 index e163851c02e38c294d95dbabafd4903b8846b551..413205e8214b87f022dda5eeb1eeca3794dcd6ce 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -118,6 +118,11 @@ public class Cat extends TamableAnimal { @@ -118,6 +118,11 @@ public class Cat extends TamableAnimal {
@@ -459,7 +459,7 @@ index 248531727dcafb71d7d2d2767205e09a8c0f1876..01c8508571a88c22359cbf36341338c5
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 32b31e5efb5fc68430b9bcd4cd972494f53accc8..a80a7d460051a39fe805ae669b4586fb42e46943 100644 index 3b576e8944bcef78f5769ccd90591f2db4dfd697..ad6a87ba97138253db2b300dec8a89faff38f075 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -117,6 +117,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable { @@ -117,6 +117,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -589,7 +589,7 @@ index f711ea32db68fb7aece5081e741c4e161123467f..390f630462c907cd6e961c6ca432804e
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index b6a5ac35bed88e9d55b4de0551a13ea58901315e..fd5802bf7554590a19b3d5fc50c9ced02232f294 100644 index 84faefeb6504a079ca907afcba7ff90873c68f8c..7c1120b51d196179f92ce0d3fc5d2bf48e2a1514 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -115,6 +115,21 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { @@ -115,6 +115,21 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -719,7 +719,7 @@ index 0f8ce0c6ddbb37a61c6b15bb769b627bcd8105fa..6ed9e4e98c46b51cf398641ffb66abf3
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 0876034f2735af2b143112162b38a5bfd71139bb..7dcc1fd63294afa95b2f7115a72961ce175f01f2 100644 index f892b25c45c7b84fa37f4ddfe2c1068cfa1be483..1e3afa3d98e755b7a06dc6b90f90e2d41843a482 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -160,6 +160,11 @@ public class EnderDragon extends Mob implements Enemy { @@ -160,6 +160,11 @@ public class EnderDragon extends Mob implements Enemy {
@@ -735,7 +735,7 @@ index 0876034f2735af2b143112162b38a5bfd71139bb..7dcc1fd63294afa95b2f7115a72961ce
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 7a0653ae3bf1f9c99e3363fb27a9af30cbc2f27a..606fa521d577f832cd7a82c1c6c67414e1a01589 100644 index 11f6465cbf26f4a632f597f2158c6c91d5056c41..cdaefabf24c59338a0406072ce01029c194700fd 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -224,6 +224,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -224,6 +224,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -750,7 +750,7 @@ index 7a0653ae3bf1f9c99e3363fb27a9af30cbc2f27a..606fa521d577f832cd7a82c1c6c67414
// Purpur end // Purpur end
@Override @Override
@@ -428,7 +433,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -427,7 +432,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.setInvulnerableTicks(i); this.setInvulnerableTicks(i);
if (this.tickCount % 10 == 0) { if (this.tickCount % 10 == 0) {
@@ -808,7 +808,7 @@ index 17cc847fd6e5a128c9ae7427dc0aef51918bc30a..bb9fc7f78514b434aba2de25f79fb340
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index af1a6cd77e70141be8b6507e1494babaeab3828c..9e7ea6be928fb536c9898a85bb0a9ad40af25bd5 100644 index 869a2ee5e0775cc477fb56063dfa4ce4a0c6e3f2..4b58ca48deda0410edf9ad3c9079858d5a31a762 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -83,6 +83,16 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -83,6 +83,16 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -1013,7 +1013,7 @@ index 3a2261687ec8b3b1f69b89ceeb2cc8cc524ab57a..69375fdb63b9edde3d161bac7a1946a3
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index a8565816836e5ab55086a6024dc47df277cd7277..a3b871797c3e006f66978a73da01fede52fc8c49 100644 index 308debc811b8eb61c8d9d5aeba3e118b9802e401..022f40b66864940652099e91fad18e02aee8c5b2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -116,6 +116,21 @@ public class Phantom extends FlyingMob implements Enemy { @@ -116,6 +116,21 @@ public class Phantom extends FlyingMob implements Enemy {

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 f9c77e5280950af9b6d650041b14c501657b8669..4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b 100644 index e0a7a932ebfdec18b28ce5b697400951ea54c0a9..492a7f7d2d0a06c10f11c7cd61edba26e40d9f42 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
@@ -2002,8 +2002,58 @@ public class ServerPlayer extends Player { @@ -1987,8 +1987,58 @@ public class ServerPlayer extends Player {
public void resetLastActionTime() { public void resetLastActionTime() {
this.lastActionTime = Util.getMillis(); this.lastActionTime = Util.getMillis();
@@ -213,10 +213,10 @@ index 3f458ddd4dc04ed28510a212be76bb19e7f6a61e..a36469186f72eccf8c4428d920d0583b
if (range < 0.0D || d < range * range) { if (range < 0.0D || d < range * range) {
return true; return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3a4f2453831eda258ab5f7907204ee5d2bdac4c7..4225dd4e7a03fbddec6589eb8e8d4cec9deac305 100644 index ea2c76116d8328d2ba6e5e7cc2ed1464f43a8c82..c272fc856113ca2399832b4af7f1e94af9ebb3e2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -447,10 +447,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -522,10 +522,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override @Override
public void setPlayerListName(String name) { public void setPlayerListName(String name) {

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 6845b05225cd679d7b40695455f4ea651507787e..081c35af457bd7a0a2bca8bf6428e26b0e4c2207 100644 index 7f0551e70c545f8e77d18b11e836233faeba9161..ffa6466c21ddc6a312a0a3aa400717a481400237 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
@@ -1677,7 +1677,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1657,7 +1657,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 081c35af457bd7a0a2bca8bf6428e26b0e4c2207..3681155a741d0c5632eb0e62c4baec6b96d4c480 100644 index ffa6466c21ddc6a312a0a3aa400717a481400237..c1719af753e4efa8fcbd49a801ee86b307d27779 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
@@ -294,6 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -294,6 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index 081c35af457bd7a0a2bca8bf6428e26b0e4c2207..3681155a741d0c5632eb0e62c4baec6b
public volatile Thread shutdownThread; // Paper public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper public volatile boolean abnormalExit = false; // Paper
@@ -1178,6 +1179,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1158,6 +1159,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 081c35af457bd7a0a2bca8bf6428e26b0e4c2207..3681155a741d0c5632eb0e62c4baec6b
} }
// 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 c008d4b5b57571ed594c7a6bf9307836d620f5ae..a7a5ea76d623d7e9f1bee2d420544a988a44f977 100644 index e25f6e051880327873ffbfbc81aaef924ac27b5b..e90a16c47de51752b7afb6cc7c3207796e274d97 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
@@ -2937,5 +2937,10 @@ public final class CraftServer implements Server { @@ -2937,5 +2937,10 @@ public final class CraftServer implements Server {

View File

@@ -5,26 +5,26 @@ Subject: [PATCH] Player invulnerabilities
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 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2b99f5fe5 100644 index 492a7f7d2d0a06c10f11c7cd61edba26e40d9f42..2044a297f1820b41c41df9a8b3b0bbff9ae08432 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
@@ -263,6 +263,7 @@ public class ServerPlayer extends Player { @@ -262,6 +262,7 @@ public class ServerPlayer extends Player {
// CraftBukkit end // CraftBukkit end
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public boolean purpurClient = false; // Purpur public boolean purpurClient = false; // Purpur
+ public boolean acceptingResourcePack = false; // Purpur + public boolean acceptingResourcePack = false; // Purpur
public boolean isRealPlayer; // Paper
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
@@ -339,6 +340,7 @@ public class ServerPlayer extends Player { @@ -339,6 +340,7 @@ public class ServerPlayer extends Player {
this.bukkitPickUpLoot = true; this.bukkitPickUpLoot = true;
this.maxHealthCache = this.getMaxHealth(); this.maxHealthCache = this.getMaxHealth();
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
+ this.spawnInvulnerableTime = world.purpurConfig.playerSpawnInvulnerableTicks; // Purpur + this.spawnInvulnerableTime = world.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
} }
// Paper start - Chunk priority
public BlockPos getPointInFront(double inFront) { // Yes, this doesn't match Vanilla, but it's the best we can do for now.
@@ -1018,6 +1020,12 @@ public class ServerPlayer extends Player { @@ -1003,6 +1005,12 @@ public class ServerPlayer extends Player {
} }
@@ -37,7 +37,7 @@ index 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2
@Override @Override
public boolean hurt(DamageSource source, float amount) { public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
@@ -1025,7 +1033,7 @@ public class ServerPlayer extends Player { @@ -1010,7 +1018,7 @@ public class ServerPlayer extends Player {
} else { } else {
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId); boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId);
@@ -46,7 +46,7 @@ index 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2
return false; return false;
} else { } else {
if (source instanceof EntityDamageSource) { if (source instanceof EntityDamageSource) {
@@ -1199,6 +1207,7 @@ public class ServerPlayer extends Player { @@ -1184,6 +1192,7 @@ public class ServerPlayer extends Player {
} }
// Paper end // Paper end
@@ -54,7 +54,7 @@ index 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2
return this; return this;
} }
} }
@@ -1988,6 +1997,7 @@ public class ServerPlayer extends Player { @@ -1973,6 +1982,7 @@ public class ServerPlayer extends Player {
} }
public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) { public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) {
@@ -62,7 +62,7 @@ index 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2
this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt)); this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt));
} }
@@ -2513,9 +2523,17 @@ public class ServerPlayer extends Player { @@ -2498,9 +2508,17 @@ public class ServerPlayer extends Player {
@Override @Override
public boolean isImmobile() { public boolean isImmobile() {
@@ -108,7 +108,7 @@ index 0f0a862e3f0702a9e61bcb6b80b0375c01f46da8..3a2b67b459692a30feaec8362e44be55
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
// Paper end // Paper 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 0c05466b1265a22009781d469f8d324e3d42e0d3..dae6334ad480bc6323fa47421a22598e58e56684 100644 index 2da8186b5f34b5cce97512f50323bee091d380ab..e09cfac18f2b952bb54ec75b0450502433370819 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
@@ -1014,6 +1014,8 @@ public abstract class PlayerList { @@ -1014,6 +1014,8 @@ public abstract class PlayerList {
@@ -121,7 +121,7 @@ index 0c05466b1265a22009781d469f8d324e3d42e0d3..dae6334ad480bc6323fa47421a22598e
return entityplayer1; return entityplayer1;
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 4225dd4e7a03fbddec6589eb8e8d4cec9deac305..7f123c203bc53582d71862c4630d63ba06779a8d 100644 index c272fc856113ca2399832b4af7f1e94af9ebb3e2..dee07e6f1d85f37f4dbb9cd0956d48f91bd39ca2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2963,5 +2963,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2963,5 +2963,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

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 738ffcc9f8ec1b34e7e1357ae48283e3245d906f..7cc90afe9fe9d2ce95905c19f3bcf026a04c614c 100644 index eab96c9b53cd608ff99cdad06721cd19e490ad14..6e6559b7edbabc000ac47617ab064e438a95720d 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
@@ -798,9 +798,15 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -828,9 +828,15 @@ 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) {
@@ -28,7 +28,7 @@ index 738ffcc9f8ec1b34e7e1357ae48283e3245d906f..7cc90afe9fe9d2ce95905c19f3bcf026
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2cf4bab37d7789f9d22ae1d9edbdabbe8fa79ab5..408f80e6046a45ff3f7526f603e5c68d222057d4 100644 index 3e86f0fa382a80250c9b9a0e97eb6544b597760d..3657c311c2be4c8f9f6c8816c885bce7ed621f0f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1457,6 +1457,7 @@ public class PurpurWorldConfig { @@ -1457,6 +1457,7 @@ public class PurpurWorldConfig {

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 481e474f48d9409f4d8a337b334a17627c9b8ccb..de96a37827fd31f3189e18298e2f9e1370761a30 100644 index 2044a297f1820b41c41df9a8b3b0bbff9ae08432..ff3561fa225420bfa92fd081a2f54216845be860 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
@@ -1031,6 +1031,7 @@ public class ServerPlayer extends Player { @@ -1016,6 +1016,7 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else { } else {
@@ -136,7 +136,7 @@ index 127a799f7848b32664b77bf67847ca6b8ac9a90d..178cd88a7de291136e0486617e8347b7
} }
} }
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
index fd74cc9c0dab84b176f7da3fbbbdbc8fd3a7e26d..fdda70f216b3805cc6d8105c3d85814a2ae6b6ad 100644 index b86c17b5572f8f74bfefd0f3c6f9d25187574392..304f0f372d669e3da2e8131c50f2f1246185a56b 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
@@ -73,7 +73,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; @@ -73,7 +73,7 @@ import net.minecraft.world.phys.shapes.VoxelShape;
@@ -149,7 +149,7 @@ index fd74cc9c0dab84b176f7da3fbbbdbc8fd3a7e26d..fdda70f216b3805cc6d8105c3d85814a
protected final float explosionResistance; protected final float explosionResistance;
protected final boolean isRandomlyTicking; protected final boolean isRandomlyTicking;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 805434c62063cfa9b26d92431fa62b10504ad0f8..8e6bc5815e9624c6eb24e66cdba6d95989de4aae 100644 index b069f9a5da47d5117a220335035952eea142d6c4..0b7a5fa45591ae79f95af3390373250b6e6b83db 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -97,6 +97,68 @@ public class PurpurWorldConfig { @@ -97,6 +97,68 @@ public class PurpurWorldConfig {

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 610f3ba3a983144b8b7f56e39d1c60bde6f35491..9ff46c460f09bf3e62f958a4a87632d59a310e24 100644 index c1719af753e4efa8fcbd49a801ee86b307d27779..963a1998f808061c7e7fcd0d15725e38fe606ce7 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
@@ -1197,7 +1197,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1177,7 +1177,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

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ec422c3c233454280132b0364b66d802fb32c006..5af14bd15b134b87f2b8afc35b00f8798d1e8486 100644 index 4227272cc2bac2b603e4d477031d4c71641c5748..28df085e8de4ef3433ad65d1a48c81a22070f66e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -890,7 +890,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -891,7 +891,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public void checkOutOfWorld() { public void checkOutOfWorld() {
// Paper start - Configurable nether ceiling damage // Paper start - Configurable nether ceiling damage
@@ -18,7 +18,7 @@ index ec422c3c233454280132b0364b66d802fb32c006..5af14bd15b134b87f2b8afc35b00f879
&& this.getY() >= this.level.paperConfig().environment.netherCeilingVoidDamageHeight)) { && this.getY() >= this.level.paperConfig().environment.netherCeilingVoidDamageHeight)) {
// Paper end // Paper 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 fe6483d505f9148f82f80abc1438945ed0741ba3..cf67b497d1a0e56fa949802804d6d2cf855d52ff 100644 index 0f2260e3c5bad76f691bdfa144f9a340a3e34a5e..f6e6ef12f76d8c0e3c62daa4b831fb214ed3b09e 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
@@ -2488,7 +2488,7 @@ public abstract class LivingEntity extends Entity { @@ -2488,7 +2488,7 @@ public abstract class LivingEntity extends Entity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 5af14bd15b134b87f2b8afc35b00f8798d1e8486..381fe41045e2550d5b4ce45973d06e50ec15d8ce 100644 index 28df085e8de4ef3433ad65d1a48c81a22070f66e..63cd078dcb4eb4951395ca788ba5c04ffb289902 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4598,5 +4598,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4622,5 +4622,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public boolean processClick(InteractionHand hand) { public boolean processClick(InteractionHand hand) {
return false; return false;
} }
@@ -19,7 +19,7 @@ index 5af14bd15b134b87f2b8afc35b00f8798d1e8486..381fe41045e2550d5b4ce45973d06e50
// Purpur end // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 606fa521d577f832cd7a82c1c6c67414e1a01589..7c2c5b5205c7b422903fb6984f2b411d20189b22 100644 index cdaefabf24c59338a0406072ce01029c194700fd..80674ee4882d2d1c67f78c6bc627e34a78d0c4b0 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -220,6 +220,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -220,6 +220,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -35,17 +35,17 @@ index 606fa521d577f832cd7a82c1c6c67414e1a01589..7c2c5b5205c7b422903fb6984f2b411d
skull.setPosRaw(headX, headY, headZ); skull.setPosRaw(headX, headY, headZ);
level.addFreshEntity(skull); level.addFreshEntity(skull);
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
index 2bc0384728f89b7c64a8beec78a1b77dc063d37b..e4af49d85c8f6265b550c0a7cbea7d495f47150a 100644 index 1782d6957fa0290368e443e2e8d7b3c77ac6b8ef..2c9e9d35cd6500aa0ce3b53122067c6a2a15cbf7 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java --- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
@@ -92,6 +92,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> { @@ -112,6 +112,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
ListTag listTag = new ListTag(); ListTag listTag = new ListTag();
final java.util.Map<net.minecraft.world.entity.EntityType<?>, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper final java.util.Map<net.minecraft.world.entity.EntityType<?>, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper
dataList.getEntities().forEach((entity) -> { entities.forEach((entity) -> { // diff here: use entities parameter
+ if (!entity.canSaveToDisk()) return; // Purpur + if (!entity.canSaveToDisk()) return; // Purpur
// Paper start // Paper start
final EntityType<?> entityType = entity.getType(); final EntityType<?> entityType = entity.getType();
final int saveLimit = this.level.paperConfig().chunks.entityPerChunkSaveLimit.getOrDefault(entityType, -1); final int saveLimit = level.paperConfig().chunks.entityPerChunkSaveLimit.getOrDefault(entityType, -1);
diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
index d55f7611599b2a339293688861100cb8dae9f6c6..5e99789e5156e8ffbf125e77114c547e1f8e7925 100644 index d55f7611599b2a339293688861100cb8dae9f6c6..5e99789e5156e8ffbf125e77114c547e1f8e7925 100644
--- a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java --- a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java

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 79fa0e88f24857b9ff1e02e550d219f5ed6e4cda..db7646f82ccbda375ddb57dbfd4e5c1baec95184 100644 index 963a1998f808061c7e7fcd0d15725e38fe606ce7..bc8152edd32238025321512cb72bbb62dd2175bc 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
@@ -290,7 +290,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -290,7 +290,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -39,7 +39,7 @@ index 79fa0e88f24857b9ff1e02e550d219f5ed6e4cda..db7646f82ccbda375ddb57dbfd4e5c1b
// 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
@@ -1076,6 +1076,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1048,6 +1048,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 79fa0e88f24857b9ff1e02e550d219f5ed6e4cda..db7646f82ccbda375ddb57dbfd4e5c1b
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);
@@ -1171,13 +1172,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1151,13 +1152,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 79fa0e88f24857b9ff1e02e550d219f5ed6e4cda..db7646f82ccbda375ddb57dbfd4e5c1b
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 a7a5ea76d623d7e9f1bee2d420544a988a44f977..f3bbfc995366eb710082afe40b4d51533f6016ea 100644 index e90a16c47de51752b7afb6cc7c3207796e274d97..7fa27a25863eb86f9738a8f6cf2b33de893d0bde 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
@@ -2698,6 +2698,7 @@ public final class CraftServer implements Server { @@ -2698,6 +2698,7 @@ public final class CraftServer implements Server {

View File

@@ -27,10 +27,10 @@ index 73f1211470d9626c82c8345037da19aed9db3f23..40c7bf266eccc43faa081ade9402bee5
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 544f7ff70486c31e9caddf574265a42c07af3166..67c06003c5f6659409baef7157cceba5a98ac1c2 100644 index 0c397d4c1efc7a812ecc02119b9740cbac303a04..dedba0c0da7cd56e94e3e9306178c28a43de01b0 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
@@ -1571,4 +1571,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1570,4 +1570,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return null; return null;
} }
// Paper end // Paper end

View File

@@ -5,13 +5,13 @@ 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 8ddbe1b4c19e4736208d17f7f76f52c4c7db354c..7d4475a89475b4c8324733a0f7f6b673501c2267 100644 index ff3561fa225420bfa92fd081a2f54216845be860..7f82a22e308fd8240360300a6f799f4b40aeb6fb 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
@@ -2584,4 +2584,26 @@ public class ServerPlayer extends Player { @@ -2567,4 +2567,26 @@ public class ServerPlayer extends Player {
return (CraftPlayer) super.getBukkitEntity();
}
// CraftBukkit end // CraftBukkit end
public final int getViewDistance() { throw new UnsupportedOperationException("Use PlayerChunkLoader"); } // Paper - placeholder
+ +
+ // Purpur start + // Purpur start
+ public void teleport(Location to) { + public void teleport(Location to) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 381fe41045e2550d5b4ce45973d06e50ec15d8ce..edfea0b848d988f44a6eb6628dea8887098c94f6 100644 index 63cd078dcb4eb4951395ca788ba5c04ffb289902..7b7350712996a27c8a10d8d44cc820be9ccb5dfd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4065,6 +4065,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4076,6 +4076,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.yRotO = this.getYRot(); this.yRotO = this.getYRot();
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index edfea0b848d988f44a6eb6628dea8887098c94f6..2ea49b50189e4bc2abfe791bc17e7ea5d9c9e56f 100644 index 7b7350712996a27c8a10d8d44cc820be9ccb5dfd..edf291ea8a2bd1a94d4f8e8b6fa0a3f5f68480fa 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2892,7 +2892,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2893,7 +2893,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public void handleInsidePortal(BlockPos pos) { public void handleInsidePortal(BlockPos pos) {
if (this.isOnPortalCooldown()) { if (this.isOnPortalCooldown()) {
this.setPortalCooldown(); this.setPortalCooldown();
@@ -17,7 +17,7 @@ index edfea0b848d988f44a6eb6628dea8887098c94f6..2ea49b50189e4bc2abfe791bc17e7ea5
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) { if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable(); this.portalEntrancePos = pos.immutable();
} }
@@ -3564,7 +3564,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3565,7 +3565,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
public boolean canChangeDimensions() { public boolean canChangeDimensions() {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often. Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 7c2c5b5205c7b422903fb6984f2b411d20189b22..c39e6ab8ffb850eb6ba783d237daad7e011a03bc 100644 index 80674ee4882d2d1c67f78c6bc627e34a78d0c4b0..9cf7cd70492c8769cd3dad1ed57eeff1150bc4e8 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -531,8 +531,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -530,8 +530,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
} }
@@ -23,7 +23,7 @@ index 7c2c5b5205c7b422903fb6984f2b411d20189b22..c39e6ab8ffb850eb6ba783d237daad7e
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 994c96e757b5d985844d3ee40f5b5611db3cab6c..c32a57542363aeebde4cb1d43b1a460d6fa6b98c 100644 index 21369e002d0dd780b4326d577cba26211d7376b3..7ad7af0c1c699309f535128cd8add5bc2c83c75f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1699,6 +1699,8 @@ public class PurpurWorldConfig { @@ -1699,6 +1699,8 @@ public class PurpurWorldConfig {

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 7cc90afe9fe9d2ce95905c19f3bcf026a04c614c..b99350a3522dc768d1a337c5691923c0b3fbba0e 100644 index 6e6559b7edbabc000ac47617ab064e438a95720d..30fab9ee2e549ddf85ce71a74c70199801af5815 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
@@ -511,7 +511,24 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -540,7 +540,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;
@@ -67,7 +67,7 @@ index daa7c4bd8a3f6c28f02b7117b061f0def29e3743..d4699d7eefafffd2d4e0a03d62d5094f
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) { if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2; blockposition1 = blockposition2;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c32a57542363aeebde4cb1d43b1a460d6fa6b98c..80d1beff9f66619c37c992072a7046b6f4614f12 100644 index 7ad7af0c1c699309f535128cd8add5bc2c83c75f..3aec776234a76e0153d35358de1004b8eb0e50f7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -71,6 +71,12 @@ public class PurpurWorldConfig { @@ -71,6 +71,12 @@ public class PurpurWorldConfig {

View File

@@ -7,10 +7,10 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim
The config remains for migration purposes. The config remains for migration purposes.
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
index 38cb29c646ff496ffaa6553f98a565b71155c464..e077a43cf3f06207234cb445b58dff79eabcb9c6 100644 index ed9c8e882739c02d0d04129d251e4c726b422c07..0d32a0bb4bbd34dbeffea95cf8403ae54ef8f227 100644
--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java --- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java +++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
@@ -121,6 +121,22 @@ public class PufferfishConfig { @@ -113,6 +113,22 @@ public class PufferfishConfig {
config.setComment(key, String.join("\n", comment), CommentType.BLOCK); config.setComment(key, String.join("\n", comment), CommentType.BLOCK);
} }
} }
@@ -34,7 +34,7 @@ index 38cb29c646ff496ffaa6553f98a565b71155c464..e077a43cf3f06207234cb445b58dff79
private static boolean getBoolean(String key, boolean defaultValue, String... comment) { private static boolean getBoolean(String key, boolean defaultValue, String... comment) {
return getBoolean(key, null, defaultValue, comment); return getBoolean(key, null, defaultValue, comment);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 10be99da087706094e93144252ea666dc1238979..79afd91b958d111468901d49fe85565277839891 100644 index 1df637910089c654ffde3ff9f27cd163ef1c346d..c89b9932058541904c5d85c3199cb8b4ca21b8ce 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -292,6 +292,39 @@ public class PurpurWorldConfig { @@ -292,6 +292,39 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time % 192000; // Paper - fix guardian beam this.gameTime = time % 192000; // Paper - fix guardian beam
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 b1098555ea7c96815dc85ab440544d9db7fee978..eb12fed7ee6d7d3a5f5b9e99d8f11b38122cac7e 100644 index bc8152edd32238025321512cb72bbb62dd2175bc..68db8421f5e80301423c2f1d4394ef1f9cca38be 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
@@ -1531,7 +1531,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1511,7 +1511,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = world.getGameTime(); long worldTime = world.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight); final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : world.players()) { for (Player entityhuman : world.players()) {
@@ -31,7 +31,7 @@ index b1098555ea7c96815dc85ab440544d9db7fee978..eb12fed7ee6d7d3a5f5b9e99d8f11b38
} }
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 b99350a3522dc768d1a337c5691923c0b3fbba0e..827bc3d177d1d8e37d936720e939f3fe03b1ff83 100644 index 30fab9ee2e549ddf85ce71a74c70199801af5815..284fb0308ccd458804f9dfe9eb10529e32ba0207 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
@@ -212,6 +212,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -212,6 +212,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -43,15 +43,15 @@ index b99350a3522dc768d1a337c5691923c0b3fbba0e..827bc3d177d1d8e37d936720e939f3fe
public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick
// CraftBukkit start // CraftBukkit start
@@ -590,6 +592,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -620,6 +622,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper 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.preciseTime = this.serverLevelData.getDayTime(); // Purpur + this.preciseTime = this.serverLevelData.getDayTime(); // Purpur
} }
public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) { public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) {
@@ -760,6 +763,13 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -790,6 +793,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 b99350a3522dc768d1a337c5691923c0b3fbba0e..827bc3d177d1d8e37d936720e939f3fe
this.setDayTime(this.levelData.getDayTime() + 1L); this.setDayTime(this.levelData.getDayTime() + 1L);
} }
@@ -768,7 +778,21 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -798,7 +808,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);
@@ -88,7 +88,7 @@ index b99350a3522dc768d1a337c5691923c0b3fbba0e..827bc3d177d1d8e37d936720e939f3fe
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
Iterator iterator = this.customSpawners.iterator(); Iterator iterator = this.customSpawners.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3413c9cbc06c02c1bf52f03905072c804b4c5df1..5afef591d5c61539dfc6b6faf64e392041727d39 100644 index 221787d92b1617d6d68227796207b23f1591f6b4..2b30c6176c21fd9115de6ab65d355cac58d1d6eb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -124,6 +124,13 @@ public class PurpurWorldConfig { @@ -124,6 +124,13 @@ public class PurpurWorldConfig {

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 0d30b21ec070980b290f23d5becfc61183214146..9296eedcb77dcb7068d7816cd10459d48e93ebba 100644 index 7f82a22e308fd8240360300a6f799f4b40aeb6fb..e619420b635d41ed564493ed0b28b3d06fbd86e1 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
@@ -1031,7 +1031,16 @@ public class ServerPlayer extends Player { @@ -1016,7 +1016,16 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else { } else {
@@ -27,7 +27,7 @@ index 0d30b21ec070980b290f23d5becfc61183214146..9296eedcb77dcb7068d7816cd10459d4
if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 878c970e22cc983f21cd6c245993cac1aac09d18..aab918a7d16977d11c7bc2b4befea5d306d2eeb1 100644 index 77de311ff7a1a39f1bba10e920f47d240670c28c..42a5b248bbd8f5aca734009d113b9b9976a3e2d9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -114,6 +114,7 @@ public class PurpurWorldConfig { @@ -114,6 +114,7 @@ public class PurpurWorldConfig {

View File

@@ -17,10 +17,10 @@ index ab0f00128f8c1b13c3eb5787df0c4e26372e0734..14b12cb6967c1c2735cf6a0eafdf6e23
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 635e02597e8f57f80eadc1ec78d87b9742c01406..10f33aed80fd963accbac1f43fd9b392d4452fb9 100644 index 68db8421f5e80301423c2f1d4394ef1f9cca38be..03d0cc6c69164e196d5db2bf56a7136a9e4a5c79 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
@@ -1050,6 +1050,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1022,6 +1022,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.safeShutdown(flag, false); this.safeShutdown(flag, false);
} }
public void safeShutdown(boolean flag, boolean isRestarting) { public void safeShutdown(boolean flag, boolean isRestarting) {
@@ -29,7 +29,7 @@ index 635e02597e8f57f80eadc1ec78d87b9742c01406..10f33aed80fd963accbac1f43fd9b392
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 629024e5c3f480bd50ae2df9dadb72f06a62c3bf..19bf680e222d7f91a0e7f67b29e3a5e38a35c1e7 100644 index a18abdcbc51f3b6fda96a4f6dd8674521338f37f..f69d1f11fffbca1ddd297e3793f1bcfe34f2a200 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
@@ -351,6 +351,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -351,6 +351,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -41,18 +41,18 @@ index 629024e5c3f480bd50ae2df9dadb72f06a62c3bf..19bf680e222d7f91a0e7f67b29e3a5e3
} }
} }
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 6036db50f05e8658f645848e03b276a1352a9424..e8663f8f23f71cfabde12585c6d9bc8215eb21e3 100644 index e619420b635d41ed564493ed0b28b3d06fbd86e1..ca7199452cbfc7d18203eae17c417c829c3b39bf 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
@@ -264,6 +264,7 @@ public class ServerPlayer extends Player { @@ -263,6 +263,7 @@ public class ServerPlayer extends Player {
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public boolean purpurClient = false; // Purpur public boolean purpurClient = false; // Purpur
public boolean acceptingResourcePack = false; // Purpur public boolean acceptingResourcePack = false; // Purpur
+ private boolean tpsBar = false; // Purpur + private boolean tpsBar = false; // Purpur
public boolean isRealPlayer; // Paper
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper @@ -470,6 +471,7 @@ public class ServerPlayer extends Player {
@@ -485,6 +486,7 @@ public class ServerPlayer extends Player {
} }
} }
@@ -60,7 +60,7 @@ index 6036db50f05e8658f645848e03b276a1352a9424..e8663f8f23f71cfabde12585c6d9bc82
} }
@Override @Override
@@ -545,6 +547,7 @@ public class ServerPlayer extends Player { @@ -530,6 +532,7 @@ public class ServerPlayer extends Player {
} }
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
@@ -68,7 +68,7 @@ index 6036db50f05e8658f645848e03b276a1352a9424..e8663f8f23f71cfabde12585c6d9bc82
} }
// CraftBukkit start - World fallback code, either respawn location or global spawn // CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2614,5 +2617,13 @@ public class ServerPlayer extends Player { @@ -2597,5 +2600,13 @@ public class ServerPlayer extends Player {
this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck); this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck);
} }
} }
@@ -83,7 +83,7 @@ index 6036db50f05e8658f645848e03b276a1352a9424..e8663f8f23f71cfabde12585c6d9bc82
// 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 08aa692b8f80ace6ce552e78476a76220d6d00eb..3d777aae5a91190e1c3bde234bc53a56fdf3c414 100644 index d0db1623c8132eb4c9a51b6e452280c56f544bf5..8182e9d69083ade08ae0b9c0512b8b7b48de3655 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
@@ -503,6 +503,7 @@ public abstract class PlayerList { @@ -503,6 +503,7 @@ public abstract class PlayerList {

View File

@@ -131,7 +131,7 @@ index b9025929fcc89e72aa820953b91a65423878ba0f..edf4537f08a54e1a5b043927678bbddf
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 6ccacd37f7602a759e47433a97ff54ff761c50fc..a639ebe2ea3f7fdc5367e0d2cec7a257c7cb4933 100644 index a2d7d2e1ea6596d0a3188169cf8d7295e888c20f..7cc0d8c9dbfe24de4fa2937db9fe6ef8e78bbef7 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -578,7 +578,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -578,7 +578,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -144,7 +144,7 @@ index 6ccacd37f7602a759e47433a97ff54ff761c50fc..a639ebe2ea3f7fdc5367e0d2cec7a257
// flag1 = this.level.removeBlock(blockposition, false) || flag1; // flag1 = this.level.removeBlock(blockposition, false) || flag1;
flag1 = true; flag1 = true;
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index c39e6ab8ffb850eb6ba783d237daad7e011a03bc..2207c5a71b8a3c7c0c68388ec744c5272d10ab36 100644 index 9cf7cd70492c8769cd3dad1ed57eeff1150bc4e8..ab3c741aa0894a9383833b3aa4a8d45ad46dd013 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -402,7 +402,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -402,7 +402,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -156,7 +156,7 @@ index c39e6ab8ffb850eb6ba783d237daad7e011a03bc..2207c5a71b8a3c7c0c68388ec744c527
// CraftBukkit start // CraftBukkit start
// this.level.explode(this, this.getX(), this.getEyeY(), this.getZ(), 7.0F, false, explosion_effect); // this.level.explode(this, this.getX(), this.getEyeY(), this.getZ(), 7.0F, false, explosion_effect);
ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), 7.0F, false); ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), 7.0F, false);
@@ -498,7 +498,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -497,7 +497,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
if (this.destroyBlocksTick > 0) { if (this.destroyBlocksTick > 0) {
--this.destroyBlocksTick; --this.destroyBlocksTick;

View File

@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2ea49b50189e4bc2abfe791bc17e7ea5d9c9e56f..628ea838c16a964bc233f166edc8105c1543e2f9 100644 index edf291ea8a2bd1a94d4f8e8b6fa0a3f5f68480fa..08a5be138c0c0f2d1239e13c5dd1a82a13145938 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1732,7 +1732,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1733,7 +1733,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return this.isInWater() || flag; return this.isInWater() || flag;
} }

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 b858ce2ad443f6690dd71e56fb9eea14793df19d..f8b7b12b0030fea6132b426b41adb2180f1b1157 100644 index ca7199452cbfc7d18203eae17c417c829c3b39bf..743a5cf750cc56856477cf2b4d75ceb241ef1eb6 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
@@ -1184,6 +1184,7 @@ public class ServerPlayer extends Player { @@ -1169,6 +1169,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();
@@ -17,10 +17,10 @@ index b858ce2ad443f6690dd71e56fb9eea14793df19d..f8b7b12b0030fea6132b426b41adb218
// CraftBukkit end // CraftBukkit end
this.setLevel(worldserver); this.setLevel(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 628ea838c16a964bc233f166edc8105c1543e2f9..51fd2d02236da23a57773086313fee8183817346 100644 index 08a5be138c0c0f2d1239e13c5dd1a82a13145938..33050a4ad2448a2d96b9633302a057f15360ea38 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2889,12 +2889,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2890,12 +2890,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return Vec3.directionFromRotation(this.getRotationVector()); return Vec3.directionFromRotation(this.getRotationVector());
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 23e5ab0e3b99659d30d8139dc005a714741a97c7..6c0bcbf1a2a0ccd3efa4827cd04289eb3e1f41e8 100644 index 0363ba7cd8aa6c2f585355d2c8a86263277d6cfd..c77a9ce015cb219d9ecd68223858dbb775a4ea9b 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -1156,6 +1156,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -1155,6 +1155,7 @@ public class EnderDragon extends Mob implements Enemy {
@Override @Override
protected boolean canRide(Entity entity) { protected boolean canRide(Entity entity) {
@@ -17,10 +17,10 @@ index 23e5ab0e3b99659d30d8139dc005a714741a97c7..6c0bcbf1a2a0ccd3efa4827cd04289eb
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 1329de5d3e6294d2eb7b6852b8cad19f0f4dba77..6818618cd2f702e894ac4098b4eb5afc7664408e 100644 index d5fc11b01fcd064562173fb35856686f6977144e..0c3fe609a9d4c4c485b1a11e6ec39c06464cda05 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -749,6 +749,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -748,6 +748,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@Override @Override
protected boolean canRide(Entity entity) { protected boolean canRide(Entity entity) {
@@ -29,7 +29,7 @@ index 1329de5d3e6294d2eb7b6852b8cad19f0f4dba77..6818618cd2f702e894ac4098b4eb5afc
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 570e90dd3cd3bbd3078893fb972f7018b516f3e0..3624304329d0a6728c0e4981bd9dcfb350edaab5 100644 index 3b80759754a200d2dbbca63e0cfd25aa126b4641..41a4abb7c676285435f9a744ae3f50b9c80c8cbd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -914,6 +914,7 @@ public class PurpurWorldConfig { @@ -914,6 +914,7 @@ public class PurpurWorldConfig {

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 6f36354c424f91e7bfbb4619ff03a32d69b9f595..ad2ac7b21296c6995b548fd3c4bf128cd0eb809c 100644 index 743a5cf750cc56856477cf2b4d75ceb241ef1eb6..5d989ef08080bc6622b64b1eea8ae63ac59dfa4d 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
@@ -1341,7 +1341,7 @@ public class ServerPlayer extends Player { @@ -1326,7 +1326,7 @@ public class ServerPlayer extends Player {
return entitymonster.isPreventingPlayerRest(this); return entitymonster.isPreventingPlayerRest(this);
}); });

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 827bc3d177d1d8e37d936720e939f3fe03b1ff83..a37365e3cd58e4a39060cf1145a5ae7eb735955a 100644 index 284fb0308ccd458804f9dfe9eb10529e32ba0207..9dc317d471ce6eab24e0ebec729cea1dbed8b2ec 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
@@ -631,7 +631,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -661,7 +661,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;
@@ -18,7 +18,7 @@ index 827bc3d177d1d8e37d936720e939f3fe03b1ff83..a37365e3cd58e4a39060cf1145a5ae7e
j = this.levelData.getDayTime() + 24000L; j = this.levelData.getDayTime() + 24000L;
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime()); TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c659ff37eeae38ab21ad808f35c3452d27a377b3..6a82355509fdb04acc920b21c0c76328999e48e8 100644 index 9c925dbee68ae33ae98436a5bb70d7fc5b55fe23..23a95b87cf7b92bbb2b34975e49d1d0d65e5e9b5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -356,6 +356,7 @@ public class PurpurWorldConfig { @@ -356,6 +356,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 51fd2d02236da23a57773086313fee8183817346..8d97593403198941ff6775dd8576a0e4ea8eb83e 100644 index 33050a4ad2448a2d96b9633302a057f15360ea38..7f3fc8149b1cf42ce9f92717dcf9aea7b25d60dc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3128,7 +3128,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3129,7 +3129,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
public int getMaxAirSupply() { public int getMaxAirSupply() {
@@ -18,7 +18,7 @@ index 51fd2d02236da23a57773086313fee8183817346..8d97593403198941ff6775dd8576a0e4
public int getAirSupply() { public int getAirSupply() {
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 c318a83363048e052333e98705f94217039662c4..8820cc6ed4ab7de2d0574575d8168ff4f85a1ea1 100644 index ebed5983846bb4cfde5ecb06f99b3df8f514b6f3..e11b9c477dabe9c5e00bf41739b0fe52f5ef2093 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
@@ -423,7 +423,7 @@ public abstract class LivingEntity extends Entity { @@ -423,7 +423,7 @@ public abstract class LivingEntity extends Entity {

View File

@@ -17,10 +17,10 @@ index 897e761be8c1f79562f54101173fbba7656a37ec..ce42e91a95ccd42deff65e1942b918e9
// 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 5d27110793a95118fae2e671e6f9cdede0763216..9eb1c15d831cd5ccdbd1e28bbf2d994bfae4f039 100644 index 5d989ef08080bc6622b64b1eea8ae63ac59dfa4d..93afb1cb8c0980a2a66590a27de28fd79595635b 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
@@ -922,6 +922,7 @@ public class ServerPlayer extends Player { @@ -907,6 +907,7 @@ public class ServerPlayer extends Player {
})); }));
Team scoreboardteambase = this.getTeam(); Team scoreboardteambase = this.getTeam();

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev> Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e9a931ce31257ad1a29c15d1619e5f80865f151b..9af78fde6b4d75cf7656c575b98e1e174f599e22 100644 index 7f3fc8149b1cf42ce9f92717dcf9aea7b25d60dc..3b173754e35f4ec9deaa84c7d3e3467ca06521d3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4611,5 +4611,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4635,5 +4635,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public boolean canSaveToDisk() { public boolean canSaveToDisk() {
return true; return true;
} }
@@ -211,7 +211,7 @@ index 47e4f62d177c14ceffeb13a3fee5bfa342da7184..bcbce83f9e304809fb946f80c9dd32c4
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index f7689ba01ec6d7f3483be831026e0c5f995459e9..836ca1a47524088c78c6c72a9479c7ffabfbee10 100644 index 93ce4f81ca03c003596f86810d4a869502c76242..67b940682dc84a8843119e1e990a69aa9dc9c0c4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -60,6 +60,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -60,6 +60,7 @@ public class Phantom extends FlyingMob implements Enemy {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 4e5b2704f22ac8e94c8ec3b7bfe1e755207eb8cb..a49cc52d5181c56159cbab14c5bec2d7e55c5396 100644 index 3b173754e35f4ec9deaa84c7d3e3467ca06521d3..01b5629ff8a39f761402d8a8d0e71f9cfc7ab7dd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2948,7 +2948,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2949,7 +2949,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
this.processPortalCooldown(); this.processPortalCooldown();

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 a37365e3cd58e4a39060cf1145a5ae7eb735955a..cf89dde659141a2a78e9b2d2b007b4c54db4b1ed 100644 index 9dc317d471ce6eab24e0ebec729cea1dbed8b2ec..a7820becea1e46154975f4cd7b8e8d24f9f0e4ad 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
@@ -941,7 +941,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -971,7 +971,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 cf89dde659141a2a78e9b2d2b007b4c54db4b1ed..4b55a46033089e27462b7a8d87cc5631cbcee6a6 100644 index a7820becea1e46154975f4cd7b8e8d24f9f0e4ad..66ab18b0654b1408fae1a5948290d44dd888b4b4 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
@@ -990,11 +990,27 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1020,11 +1020,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);

View File

@@ -17,18 +17,18 @@ index 6a044a9c97db9bba75f8dbbaa8515e3167841855..edd378813873ed367784379b0f1666d1
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 2e886f8f56cda44d74bac7028236273e811d4473..ff4c7dcb2734b120026b19bd63d8fdcd5cad12f1 100644 index 93afb1cb8c0980a2a66590a27de28fd79595635b..40dc37c7acabc8eb601035d5a61cf09ef0c96ccd 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
@@ -265,6 +265,7 @@ public class ServerPlayer extends Player { @@ -264,6 +264,7 @@ public class ServerPlayer extends Player {
public boolean purpurClient = false; // Purpur public boolean purpurClient = false; // Purpur
public boolean acceptingResourcePack = false; // Purpur public boolean acceptingResourcePack = false; // Purpur
private boolean tpsBar = false; // Purpur private boolean tpsBar = false; // Purpur
+ private boolean compassBar = false; // Purpur + private boolean compassBar = false; // Purpur
public boolean isRealPlayer; // Paper
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper @@ -472,6 +473,7 @@ public class ServerPlayer extends Player {
@@ -487,6 +488,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 2e886f8f56cda44d74bac7028236273e811d4473..ff4c7dcb2734b120026b19bd63d8fdcd
} }
@Override @Override
@@ -548,6 +550,7 @@ public class ServerPlayer extends Player { @@ -533,6 +535,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 2e886f8f56cda44d74bac7028236273e811d4473..ff4c7dcb2734b120026b19bd63d8fdcd
} }
// CraftBukkit start - World fallback code, either respawn location or global spawn // CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -2627,5 +2630,13 @@ public class ServerPlayer extends Player { @@ -2610,5 +2613,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,7 +5,7 @@ Subject: [PATCH] Toggle for Wither's spawn sound
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 01397e9daf03a308707cc7e2bb85db68137d3021..0dd31e45252d54b8bfa3645b25c984de30934a0e 100644 index bf608c0bad8f1cd99f27b610c0d6dfa4d638374d..3f0b62c733c62b8d1a9fc6494d787c9865fefadb 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -430,7 +430,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -430,7 +430,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -16,9 +16,9 @@ index 01397e9daf03a308707cc7e2bb85db68137d3021..0dd31e45252d54b8bfa3645b25c984de
+ if (!this.isSilent() && level.purpurConfig.witherPlaySpawnSound) { + if (!this.isSilent() && level.purpurConfig.witherPlaySpawnSound) {
// CraftBukkit start - Use relative location for far away sounds // CraftBukkit start - Use relative location for far away sounds
// this.world.globalLevelEvent(1023, new BlockPosition(this), 0); // this.world.globalLevelEvent(1023, new BlockPosition(this), 0);
//int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c2d73249ec7cb74a318d2c33159ad6aeb713bfed..504487696324b53cebdb10e635c9f7aae733c028 100644 index d7c5764ac50f313c691667bd8beb6f7067da67d0..0c21e0ca6da3819d41f55fe4b2f1539efb5eaec1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2554,6 +2554,7 @@ public class PurpurWorldConfig { @@ -2554,6 +2554,7 @@ public class PurpurWorldConfig {

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 4b55a46033089e27462b7a8d87cc5631cbcee6a6..9d22e2acfcec99f7cf9e763c3a185479c970f552 100644 index 66ab18b0654b1408fae1a5948290d44dd888b4b4..0c23de7ed20ac3be4a2462a246b5f746706226c6 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
@@ -1149,6 +1149,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1179,6 +1179,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
private void resetWeatherCycle() { private void resetWeatherCycle() {
// CraftBukkit start // CraftBukkit start
@@ -16,7 +16,7 @@ index 4b55a46033089e27462b7a8d87cc5631cbcee6a6..9d22e2acfcec99f7cf9e763c3a185479
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....
@@ -1156,6 +1157,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1186,6 +1187,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setRainTime(0); this.serverLevelData.setRainTime(0);
} }
// CraftBukkit end // CraftBukkit end
@@ -25,7 +25,7 @@ index 4b55a46033089e27462b7a8d87cc5631cbcee6a6..9d22e2acfcec99f7cf9e763c3a185479
// CraftBukkit start // CraftBukkit start
// 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.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 55733b718b077d90802e2bdace3dbcab76a166f2..0ec0db28bf3fa246a5f57c8b36fd8a43e8a72cba 100644 index c30d9c42b9d973976c40be5ddf1c529c6e565eb3..115f026e425a71eaebaf20c491b61503a590f6f6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -141,6 +141,8 @@ public class PurpurWorldConfig { @@ -141,6 +141,8 @@ public class PurpurWorldConfig {

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 d8e0bac3de2f7810d7af82fe6c5c00870fef3155..d950b72b7287b857cb849c1a2fc931fa7d30f25f 100644 index fa2812d94045e5d49fdd9990eac918975c9fcee5..2030779f7c430a6d30679935c108d2deb21a1cef 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
@@ -296,6 +296,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -296,6 +296,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index d8e0bac3de2f7810d7af82fe6c5c00870fef3155..d950b72b7287b857cb849c1a2fc931fa
public volatile Thread shutdownThread; // Paper public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper public volatile boolean abnormalExit = false; // Paper
@@ -932,6 +933,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -942,6 +943,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 d8e0bac3de2f7810d7af82fe6c5c00870fef3155..d950b72b7287b857cb849c1a2fc931fa
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 19bf680e222d7f91a0e7f67b29e3a5e38a35c1e7..ac860bf07d0fca29adad3de79396055f957a64e9 100644 index f69d1f11fffbca1ddd297e3793f1bcfe34f2a200..a9239a705fa7c9bd8d2fe7990cc456c5f820b604 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
@@ -283,6 +283,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -283,6 +283,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 ff4c7dcb2734b120026b19bd63d8fdcd5cad12f1..3b5b040cf3cdbb3798972f73b75e8ab4753987db 100644 index 40dc37c7acabc8eb601035d5a61cf09ef0c96ccd..4abac5e3ba5dcf27248bda31d95c85bb5e23c19d 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
@@ -1516,6 +1516,7 @@ public class ServerPlayer extends Player { @@ -1501,6 +1501,7 @@ public class ServerPlayer extends Player {
@Override @Override
public void openTextEdit(SignBlockEntity sign) { public void openTextEdit(SignBlockEntity sign) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to prevent spiders from climbing world border
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 78297c4d2469bb85d3b4aecc683eadb3c2bef54f..873b26b4505708ca0423e797678b732be905e81f 100644 index 01b5629ff8a39f761402d8a8d0e71f9cfc7ab7dd..fd48485c7baac356da7498a14a28749a97eba7c0 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -305,6 +305,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -305,6 +305,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -16,7 +16,7 @@ index 78297c4d2469bb85d3b4aecc683eadb3c2bef54f..873b26b4505708ca0423e797678b732b
public boolean hurtMarked; public boolean hurtMarked;
protected Vec3 stuckSpeedMultiplier; protected Vec3 stuckSpeedMultiplier;
@Nullable @Nullable
@@ -1416,7 +1417,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1417,7 +1418,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, this.level.paperConfig().chunks.preventMovingIntoUnloadedChunks, io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, this.level.paperConfig().chunks.preventMovingIntoUnloadedChunks,
false, false, null, null); false, false, null, null);

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 d950b72b7287b857cb849c1a2fc931fa7d30f25f..ad75fb1e1d8c91b46c98fc666f12b72fcdfb0df9 100644 index 2030779f7c430a6d30679935c108d2deb21a1cef..7836fe7ec1afde26989451e51a7ab63195e5af87 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
@@ -1061,6 +1061,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1033,6 +1033,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public void safeShutdown(boolean flag, boolean isRestarting) { public void safeShutdown(boolean flag, boolean isRestarting) {
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
@@ -17,7 +17,7 @@ index d950b72b7287b857cb849c1a2fc931fa7d30f25f..ad75fb1e1d8c91b46c98fc666f12b72f
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 ac860bf07d0fca29adad3de79396055f957a64e9..5de95ba778e4a0cd1467e7392aa80eda1bd21a03 100644 index a9239a705fa7c9bd8d2fe7990cc456c5f820b604..96c51b1f5103567c29d7da93f654cc5ddfea6a4d 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
@@ -376,6 +376,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -376,6 +376,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 9d22e2acfcec99f7cf9e763c3a185479c970f552..0df97cf932f8bd315e3ae645368ae8df6c51fc25 100644 index 0c23de7ed20ac3be4a2462a246b5f746706226c6..682a29b24b986c832ce5c6f708fc78c0515aa824 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
@@ -2679,7 +2679,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -2698,7 +2698,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
@@ -18,7 +18,7 @@ index 9d22e2acfcec99f7cf9e763c3a185479c970f552..0df97cf932f8bd315e3ae645368ae8df
} }
// Paper end // Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 98c12d6cdabad4c37d535238c8df47509d5afa25..a9769af473aed648b9fe7505d19dd065ff1c5d64 100644 index e75aad31e260d576bf77d9c293f24aa703b91bc2..968ff32bbab40446c05525f2b4fa3a76e5883a0c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -422,6 +422,7 @@ public class PurpurWorldConfig { @@ -422,6 +422,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Dont eat blocks in non ticking chunks
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 5fdef81245cb3cc686225cfd7c5ce13b011503ef..cec58f0d7ac6bf73a0f7b418a595704b8b807425 100644 index 9ac645e08275bb7943dd1edcd635c179c0620d89..4748828f84f7d5f2dd79945dd65f3fa55cd43010 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
@@ -1821,7 +1821,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -983,7 +983,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
return this.anyPlayerCloseEnoughForSpawning(this.getUpdatingChunkIfPresent(chunkcoordintpair.toLong()), chunkcoordintpair, reducedRange); return this.anyPlayerCloseEnoughForSpawning(this.getUpdatingChunkIfPresent(chunkcoordintpair.toLong()), chunkcoordintpair, reducedRange);
} }

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 1b6ae90acffa06502902e11473b65c8431616b05..4b9d57a63a0eb922f77d34e4d2d7f3b0aa364337 100644 index 72ed25022d5ea1074304be3c72b23882b8f0f88a..68eb990c7d461c611310419c1eefaed79a7c8538 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
@@ -2247,6 +2247,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -2234,6 +2234,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight()); return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight());
} }

View File

@@ -7,10 +7,10 @@ Paper patches RNG maniplulation by using a shared (and locked) random source.
This comes with a performance gain, but technical players may prefer the ability to manipulate RNG. This comes with a performance gain, but technical players may prefer the ability to manipulate RNG.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 39d3320f608e3c35d52e81bac626f1d166a3adcd..cca820e0a13311ffbc0905400ec8d980c8f2b539 100644 index fd48485c7baac356da7498a14a28749a97eba7c0..4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -576,7 +576,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -577,7 +577,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.bb = Entity.INITIAL_AABB; this.bb = Entity.INITIAL_AABB;
this.stuckSpeedMultiplier = Vec3.ZERO; this.stuckSpeedMultiplier = Vec3.ZERO;
this.nextStep = 1.0F; this.nextStep = 1.0F;
@@ -33,7 +33,7 @@ index 21f5304e01e0844f1bbf3e1b2f9d50c01f8bf8fd..8afdb5d4fecbb45bad2ed801fc0e526d
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a0e3323d35291b3d7980fe83ec5f27193b4fa79a..2a3ae8ba73a547d02e7a635321e4534de7daafdc 100644 index a753df2337dcd5a27c5dae26e93a5a8e5db5e575..f6316a9658241beab425ea51a5dfcc32d578d5ac 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -206,9 +206,11 @@ public class PurpurWorldConfig { @@ -206,9 +206,11 @@ public class PurpurWorldConfig {

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 121530170b268d54c2e7eb69263c254201996793..1fef8e7e8d3fda031cc0cd8573edcae1ab8d06d3 100644 index 7836fe7ec1afde26989451e51a7ab63195e5af87..832218df741197b6f15746b1d683ce1d3a16a03f 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
@@ -2647,6 +2647,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2627,6 +2627,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

@@ -6,7 +6,7 @@ Subject: [PATCH] Cache server motd
Paper ported my patch in an odd way. Keeping my patch around to reduce logic on the motd getter Paper ported my patch in an odd way. Keeping my patch around to reduce logic on the motd getter
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 1fef8e7e8d3fda031cc0cd8573edcae1ab8d06d3..f018d4bec5e09118b99933b58efe24da995fde75 100644 index 832218df741197b6f15746b1d683ce1d3a16a03f..bc80783d36d46fb138bfa6f2e5e84679db0a68c1 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
@@ -234,7 +234,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -234,7 +234,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -18,7 +18,7 @@ index 1fef8e7e8d3fda031cc0cd8573edcae1ab8d06d3..f018d4bec5e09118b99933b58efe24da
private int playerIdleTimeout; private int playerIdleTimeout;
public final long[] tickTimes; public final long[] tickTimes;
// Paper start // Paper start
@@ -1904,17 +1904,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1884,17 +1884,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public net.kyori.adventure.text.Component getComponentMotd() { public net.kyori.adventure.text.Component getComponentMotd() {

View File

@@ -4,64 +4,49 @@ Date: Fri, 1 Jul 2022 04:03:37 -0500
Subject: [PATCH] Remove Timings Subject: [PATCH] Remove Timings
diff --git a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
index e9070b6158e7e8c2dd33a9dcb20898a2f0d86e48..c8c019aea915ebb089f2ebe45bbcd1b5317c629f 100644 index 6513438d01a3c7955e61a77b57385baf487aeed8..75bcbfdd657f6be95d76a416a8a32f9cd562c931 100644
--- a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java --- a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
+++ b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java +++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
@@ -89,7 +89,7 @@ public final class ChunkLoadTask extends ChunkTask { @@ -901,9 +901,9 @@ public final class ChunkHolderManager {
final ChunkMap chunkManager = this.world.getChunkSource().chunkMap;
- try (Timing ignored = this.world.timings.chunkLoadLevelTimer.startTimingIfSync()) {
+ //try (Timing ignored = this.world.timings.chunkLoadLevelTimer.startTimingIfSync()) { // Purpur
final ChunkSerializer.InProgressChunkHolder chunkHolder;
// apply fixes
@@ -123,7 +123,7 @@ public final class ChunkLoadTask extends ChunkTask {
}
this.complete(chunkHolder);
- }
+ //} // Purpur
} }
private void complete(final ChunkSerializer.InProgressChunkHolder holder) { public boolean processTicketUpdates() {
diff --git a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java - co.aikar.timings.MinecraftTimings.distanceManagerTick.startTiming(); try { // Paper - add timings for distance manager
index 0d245ad7d19b11e946e0b5b43bf2181292297210..49f3a4e66ea38e80f8096071003500513b750584 100644 + //co.aikar.timings.MinecraftTimings.distanceManagerTick.startTiming(); try { // Paper - add timings for distance manager // Purpur
--- a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java return this.processTicketUpdates(true, true, null);
+++ b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java - } finally { co.aikar.timings.MinecraftTimings.distanceManagerTick.stopTiming(); } // Paper - add timings for distance manager
@@ -34,7 +34,7 @@ public final class ChunkSaveTask extends ChunkTask { + //} finally { co.aikar.timings.MinecraftTimings.distanceManagerTick.stopTiming(); } // Paper - add timings for distance manager // Purpur
// can be executed asynchronously or synchronously }
final CompoundTag compound;
- try (Timing ignored = this.world.timings.chunkUnloadDataSave.startTimingIfSync()) { private static final ThreadLocal<List<ChunkProgressionTask>> CURRENT_TICKET_UPDATE_SCHEDULING = new ThreadLocal<>();
+ try /*(Timing ignored = this.world.timings.chunkUnloadDataSave.startTimingIfSync())*/ { // Purpur diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
compound = ChunkSerializer.saveChunk(this.world, this.chunk, this.asyncSaveData); index 9a4ec0f1fb3bac0e84e6bd3aaeb77f44e248aadb..4d285d7c0cbc0a84a11e0c403dc91a9626757f06 100644
} catch (final Throwable ex) { --- a/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
// has a plugin modified something it should not have and made us CME? +++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
@@ -43,7 +43,7 @@ public final class ChunkSaveTask extends ChunkTask { @@ -1747,7 +1747,7 @@ public final class NewChunkHolder {
// Note: We add to the server thread queue here since this is what the server will drain tasks from boolean canSavePOI = !(chunk instanceof LevelChunk levelChunk && levelChunk.mustNotSave) && (poi != null && poi.isDirty());
// when waiting for chunks boolean canSaveEntities = entities != null;
ChunkTaskManager.queueChunkWaitTask(() -> {
- try (Timing ignored = this.world.timings.chunkUnloadDataSave.startTiming()) {
+ //try (Timing ignored = this.world.timings.chunkUnloadDataSave.startTiming()) { // Purpur
CompoundTag data = PaperFileIOThread.FAILURE_VALUE;
try { - try (co.aikar.timings.Timing ignored = this.world.timings.chunkSave.startTiming()) { // Paper
@@ -54,7 +54,7 @@ public final class ChunkSaveTask extends ChunkTask { + //try (co.aikar.timings.Timing ignored = this.world.timings.chunkSave.startTiming()) { // Paper // Purpur
} if (canSaveChunk) {
canSaveChunk = this.saveChunk(chunk, unloading);
}
@@ -1761,7 +1761,7 @@ public final class NewChunkHolder {
this.lastEntityUnload = null;
}
}
- }
+ //} // Purpur
ChunkSaveTask.this.complete(data); return executedUnloadTask | canSaveChunk | canSaveEntities | canSavePOI;
- } }
+ // } // Purpur
});
return; // the main thread will now complete the data
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
index 2eb30c6c6f1354a559a7b8c14c36a9970bdf2a42..d9f5f48fbb67d7f8dbfc0b7fa8fe0c294a7e8f0d 100644 index 54bca103347e89f116fb7fbf37449a32ac094286..a7f4b791894c5d8b7af4b0c067cf167b29272a27 100644
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
@@ -68,14 +68,14 @@ public class GlobalConfiguration extends ConfigurationPart { @@ -67,14 +67,14 @@ public class GlobalConfiguration extends ConfigurationPart {
@Override @Override
public void postProcess() { public void postProcess() {
@@ -103,10 +88,10 @@ index 8bc0cb9ad5bb4e76d962ff54305e2c08e279a17b..e8efbbeece7e866c6c4d7489677d2d9e
PacketUtils.LOGGER.debug("Ignoring packet due to disconnection: {}", packet); PacketUtils.LOGGER.debug("Ignoring packet due to disconnection: {}", packet);
} }
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 f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d72f253cc 100644 index bc80783d36d46fb138bfa6f2e5e84679db0a68c1..7063ef7d547714d6647290e36da3a07b3b946871 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
@@ -1428,15 +1428,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1408,15 +1408,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public void onServerExit() {} public void onServerExit() {}
public void tickServer(BooleanSupplier shouldKeepTicking) { public void tickServer(BooleanSupplier shouldKeepTicking) {
@@ -125,7 +110,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
// 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
@@ -1488,9 +1488,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1468,9 +1468,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
@@ -137,7 +122,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
// Paper end // Paper end
// Paper start // Paper start
long endTime = System.nanoTime(); long endTime = System.nanoTime();
@@ -1512,29 +1512,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1492,29 +1492,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.frameTimer.logFrameDuration(i1 - i); this.frameTimer.logFrameDuration(i1 - i);
this.profiler.pop(); this.profiler.pop();
org.spigotmc.WatchdogThread.tick(); // Spigot org.spigotmc.WatchdogThread.tick(); // Spigot
@@ -175,7 +160,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
// 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 world : this.getAllLevels()) { for (final ServerLevel world : this.getAllLevels()) {
@@ -1554,7 +1554,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1534,7 +1534,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
} }
// Paper end // Paper end
@@ -184,7 +169,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
this.isIteratingOverLevels = true; // Paper this.isIteratingOverLevels = true; // Paper
Iterator iterator = this.getAllLevels().iterator(); // Paper - move down Iterator iterator = this.getAllLevels().iterator(); // Paper - move down
@@ -1579,14 +1579,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1559,14 +1559,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.push("tick"); this.profiler.push("tick");
try { try {
@@ -201,7 +186,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
} catch (Throwable throwable) { } catch (Throwable throwable) {
// Spigot Start // Spigot Start
CrashReport crashreport; CrashReport crashreport;
@@ -1609,24 +1609,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1589,24 +1589,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper this.isIteratingOverLevels = false; // Paper
this.profiler.popPush("connection"); this.profiler.popPush("connection");
@@ -232,7 +217,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
this.profiler.pop(); this.profiler.pop();
} }
@@ -2785,7 +2785,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2765,7 +2765,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return; return;
} }
@@ -241,7 +226,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
try { try {
for (;;) { for (;;) {
boolean moreTasks = this.tickMidTickTasks(); boolean moreTasks = this.tickMidTickTasks();
@@ -2812,7 +2812,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2792,7 +2792,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
} }
} finally { } finally {
@@ -264,10 +249,10 @@ index 00a50196f6a4768d84acfbbeec79a0753308f091..30093cd8bd35f0bbc8f26eca370622ee
i = this.context.runTopCommand(function, source); i = this.context.runTopCommand(function, 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 5de95ba778e4a0cd1467e7392aa80eda1bd21a03..0bfdc4247a651f6c1caf7a95114be68bc7d77d7b 100644 index 96c51b1f5103567c29d7da93f654cc5ddfea6a4d..c8b068ab73c8997fbd07e27ccd2dff77fef6bfe1 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
@@ -496,7 +496,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -523,7 +523,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
} }
public void handleConsoleInputs() { public void handleConsoleInputs() {
@@ -276,7 +261,7 @@ index 5de95ba778e4a0cd1467e7392aa80eda1bd21a03..0bfdc4247a651f6c1caf7a95114be68b
// Paper start - use proper queue // Paper start - use proper queue
ConsoleInput servercommand; ConsoleInput servercommand;
while ((servercommand = this.serverCommandQueue.poll()) != null) { while ((servercommand = this.serverCommandQueue.poll()) != null) {
@@ -513,7 +513,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -540,7 +540,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
// CraftBukkit end // CraftBukkit end
} }
@@ -286,10 +271,10 @@ index 5de95ba778e4a0cd1467e7392aa80eda1bd21a03..0bfdc4247a651f6c1caf7a95114be68b
@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 cec58f0d7ac6bf73a0f7b418a595704b8b807425..56ec684bac1c29c99bac117e38d82db2b4dc20e8 100644 index 4748828f84f7d5f2dd79945dd65f3fa55cd43010..a57567679e01ae9a636d51fe53cda4abbca69f13 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
@@ -1000,15 +1000,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -608,15 +608,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();
@@ -309,91 +294,10 @@ index cec58f0d7ac6bf73a0f7b418a595704b8b807425..56ec684bac1c29c99bac117e38d82db2
} }
gameprofilerfiller.pop(); gameprofilerfiller.pop();
@@ -1161,7 +1161,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -1241,24 +1241,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
private CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> scheduleChunkLoad(ChunkPos pos) {
// Paper start - Async chunk io
final java.util.function.BiFunction<ChunkSerializer.InProgressChunkHolder, Throwable, Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> syncLoadComplete = (chunkHolder, ioThrowable) -> {
- try (Timing ignored = this.level.timings.chunkLoad.startTimingIfSync()) { // Paper
+ try /*(Timing ignored = this.level.timings.chunkLoad.startTimingIfSync())*/ { // Paper // Purpur
this.level.getProfiler().incrementCounter("chunkLoad");
if (ioThrowable != null) {
return this.handleChunkLoadFailure(ioThrowable, pos);
@@ -1352,7 +1352,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
ChunkStatus chunkstatus = ChunkHolder.getStatus(chunkHolder.getTicketLevel());
return !chunkstatus.isOrAfter(ChunkStatus.FULL) ? ChunkHolder.UNLOADED_CHUNK : either.mapLeft((ichunkaccess) -> {
- try (Timing ignored = level.timings.chunkPostLoad.startTimingIfSync()) { // Paper
+ //try (Timing ignored = level.timings.chunkPostLoad.startTimingIfSync()) { // Paper // Purpur
ChunkPos chunkcoordintpair = chunkHolder.getPos();
ProtoChunk protochunk = (ProtoChunk) ichunkaccess;
LevelChunk chunk;
@@ -1377,7 +1377,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
return chunk;
- } // Paper
+ //} // Paper // Purpur
});
}, (runnable) -> {
ProcessorHandle mailbox = this.mainThreadMailbox;
@@ -1509,9 +1509,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
private void asyncSave(ChunkAccess chunk) {
ChunkPos chunkPos = chunk.getPos();
CompoundTag poiData;
- try (Timing ignored = this.level.timings.chunkUnloadPOISerialization.startTiming()) {
+ //try (Timing ignored = this.level.timings.chunkUnloadPOISerialization.startTiming()) { // Purpur
poiData = this.poiManager.getData(chunk.getPos());
- }
+ //} // Purpur
com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.level, chunkPos.x, chunkPos.z,
poiData, null, com.destroystokyo.paper.io.PrioritizedTaskQueue.NORMAL_PRIORITY);
@@ -1531,9 +1531,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
ChunkSerializer.AsyncSaveData asyncSaveData;
- try (Timing ignored = this.level.timings.chunkUnloadPrepareSave.startTiming()) {
+ //try (Timing ignored = this.level.timings.chunkUnloadPrepareSave.startTiming()) { // Purpur
asyncSaveData = ChunkSerializer.getAsyncSaveData(this.level, chunk);
- }
+ //} // Purpur
this.level.asyncChunkTaskManager.scheduleChunkSave(chunkPos.x, chunkPos.z, com.destroystokyo.paper.io.PrioritizedTaskQueue.NORMAL_PRIORITY,
asyncSaveData, chunk);
@@ -1544,7 +1544,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper end
public boolean save(ChunkAccess chunk) {
- try (co.aikar.timings.Timing ignored = this.level.timings.chunkSave.startTiming()) { // Paper
+ //try (co.aikar.timings.Timing ignored = this.level.timings.chunkSave.startTiming()) { // Paper // Purpur
this.poiManager.flush(chunk.getPos());
if (!chunk.isUnsaved()) {
return false;
@@ -1568,9 +1568,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.level.getProfiler().incrementCounter("chunkSave");
CompoundTag nbttagcompound;
- try (co.aikar.timings.Timing ignored1 = this.level.timings.chunkSaveDataSerialization.startTiming()) { // Paper
+ //try (co.aikar.timings.Timing ignored1 = this.level.timings.chunkSaveDataSerialization.startTiming()) { // Paper // Purpur
nbttagcompound = ChunkSerializer.write(this.level, chunk);
- } // Paper
+ //} // Paper // Purpur
// Paper start - async chunk io
com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.level, chunkcoordintpair.x, chunkcoordintpair.z,
@@ -1584,7 +1584,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
return false;
}
}
- } // Paper
+ //} // Paper // Purpur
}
private boolean isExistingChunkFull(ChunkPos pos) {
@@ -2107,24 +2107,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
// Pufferfish end
// Paper start - optimised tracker
private final void processTrackQueue() {
- this.level.timings.tracker1.startTiming(); - this.level.timings.tracker1.startTiming();
+ //this.level.timings.tracker1.startTiming(); // Purpur + //this.level.timings.tracker1.startTiming(); // Purpur
try { try {
@@ -419,7 +323,7 @@ index cec58f0d7ac6bf73a0f7b418a595704b8b807425..56ec684bac1c29c99bac117e38d82db2
} }
} }
// Paper end - optimised tracker // Paper end - optimised tracker
@@ -2139,7 +2139,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -1273,7 +1273,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();
@@ -428,7 +332,7 @@ index cec58f0d7ac6bf73a0f7b418a595704b8b807425..56ec684bac1c29c99bac117e38d82db2
ChunkMap.TrackedEntity playerchunkmap_entitytracker; ChunkMap.TrackedEntity playerchunkmap_entitytracker;
@@ -2164,17 +2164,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -1298,17 +1298,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
playerchunkmap_entitytracker.serverEntity.sendChanges(); playerchunkmap_entitytracker.serverEntity.sendChanges();
} }
} }
@@ -450,41 +354,23 @@ index cec58f0d7ac6bf73a0f7b418a595704b8b807425..56ec684bac1c29c99bac117e38d82db2
} }
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 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c2689ae00ab 100644 index 7266e6703d5cd0fea90ec88c74a7d4567f2420ae..157efbbc57f1b5d92f296a70823c75b6d01ac065 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
@@ -483,10 +483,10 @@ public class ServerChunkCache extends ChunkSource { @@ -449,10 +449,10 @@ public class ServerChunkCache extends ChunkSource {
com.destroystokyo.paper.io.chunk.ChunkTaskManager.pushChunkWait(this.level, x1, z1); io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.pushChunkWait(this.level, x1, z1); // Paper - rewrite chunk system
// Paper end // Paper end
com.destroystokyo.paper.io.SyncLoadFinder.logSyncLoad(this.level, x1, z1); // Paper - sync load info com.destroystokyo.paper.io.SyncLoadFinder.logSyncLoad(this.level, x1, z1); // Paper - sync load info
- this.level.timings.syncChunkLoad.startTiming(); // Paper - this.level.timings.syncChunkLoad.startTiming(); // Paper
+ //this.level.timings.syncChunkLoad.startTiming(); // Paper // Purpur + //this.level.timings.syncChunkLoad.startTiming(); // Paper // Purpur
chunkproviderserver_b.managedBlock(completablefuture::isDone); chunkproviderserver_b.managedBlock(completablefuture::isDone);
com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.popChunkWait(); // Paper - async chunk debug // Paper - rewrite chunk system
- this.level.timings.syncChunkLoad.stopTiming(); // Paper - this.level.timings.syncChunkLoad.stopTiming(); // Paper
+ //this.level.timings.syncChunkLoad.stopTiming(); // Paper // Purpur + //this.level.timings.syncChunkLoad.stopTiming(); // Paper // Purpur
this.distanceManager.clearPriorityTickets(pair); // Paper - Chunk priority
this.distanceManager.clearUrgent(pair); // Paper - Chunk priority
} // Paper } // Paper
@@ -650,7 +650,7 @@ public class ServerChunkCache extends ChunkSource { ichunkaccess = (ChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> {
public boolean runDistanceManagerUpdates() { return ichunkaccess1;
if (distanceManager.delayDistanceManagerTick) return false; // Paper - Chunk priority @@ -600,17 +600,17 @@ public class ServerChunkCache extends ChunkSource {
if (this.chunkMap.unloadingPlayerChunk) { LOGGER.error("Cannot tick distance manager while unloading playerchunks", new Throwable()); throw new IllegalStateException("Cannot tick distance manager while unloading playerchunks"); } // Paper
- co.aikar.timings.MinecraftTimings.distanceManagerTick.startTiming(); try { // Paper - add timings for distance manager
+ //co.aikar.timings.MinecraftTimings.distanceManagerTick.startTiming(); try { // Paper - add timings for distance manager // Purpur
boolean flag = this.distanceManager.runAllUpdates(this.chunkMap);
boolean flag1 = this.chunkMap.promoteChunkMap();
@@ -660,7 +660,7 @@ public class ServerChunkCache extends ChunkSource {
this.clearCache();
return true;
}
- } finally { co.aikar.timings.MinecraftTimings.distanceManagerTick.stopTiming(); } // Paper - add timings for distance manager
+ //} finally { co.aikar.timings.MinecraftTimings.distanceManagerTick.stopTiming(); } // Paper - add timings for distance manager // Purpur
}
// Paper start
@@ -678,17 +678,17 @@ public class ServerChunkCache extends ChunkSource {
public void save(boolean flush) { public void save(boolean flush) {
this.runDistanceManagerUpdates(); this.runDistanceManagerUpdates();
@@ -506,7 +392,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
} }
// Paper end // Paper end
@@ -723,22 +723,22 @@ public class ServerChunkCache extends ChunkSource { @@ -640,22 +640,22 @@ public class ServerChunkCache extends ChunkSource {
@Override @Override
public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) { public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) {
this.level.getProfiler().push("purge"); this.level.getProfiler().push("purge");
@@ -535,7 +421,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
this.level.getProfiler().pop(); this.level.getProfiler().pop();
this.clearCache(); this.clearCache();
} }
@@ -793,7 +793,7 @@ public class ServerChunkCache extends ChunkSource { @@ -710,7 +710,7 @@ public class ServerChunkCache extends ChunkSource {
boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
gameprofilerfiller.push("naturalSpawnCount"); gameprofilerfiller.push("naturalSpawnCount");
@@ -544,7 +430,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
int l = this.distanceManager.getNaturalSpawnChunkCount(); int l = this.distanceManager.getNaturalSpawnChunkCount();
// Paper start - per player mob spawning // Paper start - per player mob spawning
NaturalSpawner.SpawnState spawnercreature_d; // moved down NaturalSpawner.SpawnState spawnercreature_d; // moved down
@@ -814,12 +814,12 @@ public class ServerChunkCache extends ChunkSource { @@ -731,12 +731,12 @@ public class ServerChunkCache extends ChunkSource {
// Pufferfish end // Pufferfish end
} }
// Paper end // Paper end
@@ -559,7 +445,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
// Paper - moved down // Paper - moved down
@@ -873,17 +873,17 @@ public class ServerChunkCache extends ChunkSource { @@ -790,17 +790,17 @@ public class ServerChunkCache extends ChunkSource {
} }
} }
// Paper end - optimise chunk tick iteration // Paper end - optimise chunk tick iteration
@@ -581,7 +467,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) { if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) {
ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone(); ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone();
this.chunkMap.needsChangeBroadcasting.clear(); this.chunkMap.needsChangeBroadcasting.clear();
@@ -895,7 +895,7 @@ public class ServerChunkCache extends ChunkSource { @@ -812,7 +812,7 @@ public class ServerChunkCache extends ChunkSource {
} }
} }
} }
@@ -591,10 +477,10 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
// Paper end - use set of chunks requiring updates, rather than iterating every single one loaded // Paper end - use set of chunks requiring updates, rather than iterating every single one loaded
// Paper start - controlled flush for entity tracker packets // Paper start - controlled flush for entity tracker packets
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 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069ca184123 100644 index 682a29b24b986c832ce5c6f708fc78c0515aa824..d3b93712cd999d61f66a8ffefd9122ffc1596ba1 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
@@ -654,7 +654,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -684,7 +684,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.updateSkyBrightness(); this.updateSkyBrightness();
this.tickTime(); this.tickTime();
gameprofilerfiller.popPush("tickPending"); gameprofilerfiller.popPush("tickPending");
@@ -603,7 +489,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
if (!this.isDebug()) { if (!this.isDebug()) {
j = this.getGameTime(); j = this.getGameTime();
gameprofilerfiller.push("blockTicks"); gameprofilerfiller.push("blockTicks");
@@ -663,20 +663,20 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -693,20 +693,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();
} }
@@ -631,7 +517,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
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
@@ -687,7 +687,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -717,7 +717,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (flag || this.emptyTime++ < 300) { if (flag || this.emptyTime++ < 300) {
gameprofilerfiller.push("entities"); gameprofilerfiller.push("entities");
@@ -640,7 +526,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
if (this.dragonFight != null) { if (this.dragonFight != null) {
gameprofilerfiller.push("dragonFight"); gameprofilerfiller.push("dragonFight");
this.dragonFight.tick(); this.dragonFight.tick();
@@ -695,7 +695,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -725,7 +725,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
org.spigotmc.ActivationRange.activateEntities(this); // Spigot org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -649,7 +535,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
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
@@ -735,8 +735,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -765,8 +765,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
} }
}); });
@@ -660,7 +546,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
gameprofilerfiller.pop(); gameprofilerfiller.pop();
this.tickBlockEntities(); this.tickBlockEntities();
} }
@@ -898,7 +898,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -928,7 +928,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
gameprofilerfiller.popPush("randomTick"); gameprofilerfiller.popPush("randomTick");
@@ -669,7 +555,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
if (randomTickSpeed > 0) { if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections(); LevelChunkSection[] sections = chunk.getSections();
int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this); int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this);
@@ -932,7 +932,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -962,7 +962,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
} }
// Paper end - optimise random block ticking // Paper end - optimise random block ticking
@@ -678,7 +564,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
gameprofilerfiller.pop(); gameprofilerfiller.pop();
} }
@@ -1226,8 +1226,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1255,8 +1255,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);
@@ -689,7 +575,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
// Paper end - timings // Paper end - timings
entity.setOldPosAndRot(); entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = this.getProfiler(); ProfilerFiller gameprofilerfiller = this.getProfiler();
@@ -1243,7 +1243,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1272,7 +1272,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();
@@ -698,7 +584,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
Iterator iterator = entity.getPassengers().iterator(); Iterator iterator = entity.getPassengers().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -1266,8 +1266,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1295,8 +1295,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);
@@ -709,7 +595,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
// Paper end // Paper end
passenger.setOldPosAndRot(); passenger.setOldPosAndRot();
++passenger.tickCount; ++passenger.tickCount;
@@ -1297,7 +1297,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1326,7 +1326,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.tickPassenger(passenger, entity2); this.tickPassenger(passenger, entity2);
} }
@@ -718,7 +604,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
} }
} else { } else {
passenger.stopRiding(); passenger.stopRiding();
@@ -1317,14 +1317,14 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1346,14 +1346,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()));
} }
@@ -736,7 +622,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
// Copied from save() // Copied from save()
// CraftBukkit start - moved from MinecraftServer.saveChunks // CraftBukkit start - moved from MinecraftServer.saveChunks
@@ -1336,7 +1336,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1365,7 +1365,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.convertable.saveDataTag(this.server.registryHolder, this.serverLevelData, this.server.getPlayerList().getSingleplayerData()); this.convertable.saveDataTag(this.server.registryHolder, this.serverLevelData, this.server.getPlayerList().getSingleplayerData());
} }
// CraftBukkit end // CraftBukkit end
@@ -745,7 +631,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
} }
// Paper end // Paper end
@@ -1345,7 +1345,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1379,7 +1379,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
@@ -754,20 +640,21 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
if (progressListener != null) { if (progressListener != null) {
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel")); progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
} }
@@ -1355,10 +1355,10 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1389,11 +1389,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
progressListener.progressStage(Component.translatable("menu.savingChunks")); progressListener.progressStage(Component.translatable("menu.savingChunks"));
} }
- timings.worldSaveChunks.startTiming(); // Paper - timings.worldSaveChunks.startTiming(); // Paper
+ //timings.worldSaveChunks.startTiming(); // Paper // Purpur + //timings.worldSaveChunks.startTiming(); // Paper // Purpur
chunkproviderserver.save(flush); if (!close) chunkproviderserver.save(flush); // Paper - rewrite chunk system
if (close) chunkproviderserver.close(true); // Paper - rewrite chunk system
- timings.worldSaveChunks.stopTiming(); // Paper - timings.worldSaveChunks.stopTiming(); // Paper
- }// Paper - }// Paper
+ //timings.worldSaveChunks.stopTiming(); // Paper // Purpur + //timings.worldSaveChunks.stopTiming(); // Paper // Purpur
+ //}// Paper // Purpur + //}// Paper // Purpur
if (flush) { // Paper - rewrite chunk system - entity saving moved into ChunkHolder
this.entityManager.saveAll();
} else { } else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 9519e11fef244eb1b286b43b857d3f41865784c4..7a0adbdcadd20269e92cb698b569f04b169dade4 100644 index 9519e11fef244eb1b286b43b857d3f41865784c4..7a0adbdcadd20269e92cb698b569f04b169dade4 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -800,7 +687,7 @@ index 9519e11fef244eb1b286b43b857d3f41865784c4..7a0adbdcadd20269e92cb698b569f04b
} }
// 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 9ed964da70a17afbe26c513f67b2d911f2c9e7c5..138b2c1a21b9ceb60030d10e24c78e09533937a0 100644 index ae888c565e39fab22224cba96a0d8836a747738a..3fb2323c89d04f1a545897a1e67f6f637f5ab9c1 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
@@ -1287,7 +1287,7 @@ public abstract class PlayerList { @@ -1287,7 +1287,7 @@ public abstract class PlayerList {
@@ -870,27 +757,11 @@ index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..7094701d213c73ba47ace806962244c1
} }
} }
diff --git a/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java b/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java
index 210b0cdd4831421c8f43c3d823ac8e962b56bbbc..de99946f5215ff2c78d6df5b8b7d5b6abaece907 100644
--- a/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java
+++ b/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java
@@ -351,9 +351,9 @@ public class PoiManager extends SectionStorage<PoiSection> {
ChunkPos chunkcoordintpair = SectionPos.of(this.dirty.firstLong()).chunk();
net.minecraft.nbt.CompoundTag data;
- try (co.aikar.timings.Timing ignored1 = this.world.timings.poiSaveDataSerialization.startTiming()) {
+ //try (co.aikar.timings.Timing ignored1 = this.world.timings.poiSaveDataSerialization.startTiming()) { // Purpur
data = this.getData(chunkcoordintpair);
- }
+ //} // Purpur
com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.world,
chunkcoordintpair.x, chunkcoordintpair.z, data, null, com.destroystokyo.paper.io.PrioritizedTaskQueue.NORMAL_PRIORITY);
}
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 c5dac52a23d9df26cacb869fd841da9bf518c313..bd89e00f707b6ba297081c9aacb3c5463e80063e 100644 index 0c9f7f9ed3e24ddc6b963063723feb56422843c5..93711ef7df591ab0f50b8f0f7798f938eeb0f3b3 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
@@ -995,15 +995,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -994,15 +994,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
ProfilerFiller gameprofilerfiller = this.getProfiler(); ProfilerFiller gameprofilerfiller = this.getProfiler();
gameprofilerfiller.push("blockEntities"); gameprofilerfiller.push("blockEntities");
@@ -909,7 +780,7 @@ index c5dac52a23d9df26cacb869fd841da9bf518c313..bd89e00f707b6ba297081c9aacb3c546
// Spigot start // Spigot start
// Iterator iterator = this.blockEntityTickers.iterator(); // Iterator iterator = this.blockEntityTickers.iterator();
int tilesThisCycle = 0; int tilesThisCycle = 0;
@@ -1036,7 +1036,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1035,7 +1035,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
this.blockEntityTickers.removeAll(toRemove); this.blockEntityTickers.removeAll(toRemove);
@@ -941,11 +812,11 @@ index 1f4acc1a2605f1e9051126fc811a5479351fc61a..5c6fde4baf27e7d8f027c138d843da39
} }
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 6fbf26eb7da8df2f0a4158ff9f12022518ada8e3..ab024c5315c0a7cb2f80d5d7b251f6a3531879b3 100644 index df2786516fe641edff7bbe9fe0665bf07502d830..b4460ed16ba30173ad4a5fe8e405e1c34251912f 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
@@ -875,7 +875,7 @@ public class LevelChunk extends ChunkAccess { @@ -927,7 +927,7 @@ public class LevelChunk extends ChunkAccess {
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(this.bukkitChunk, this.needsDecoration)); this.chunkHolder.getEntityChunk().callEntitiesLoadEvent(); // Paper - rewrite chunk system
if (this.needsDecoration) { if (this.needsDecoration) {
- try (co.aikar.timings.Timing ignored = this.level.timings.chunkLoadPopulate.startTiming()) { // Paper - try (co.aikar.timings.Timing ignored = this.level.timings.chunkLoadPopulate.startTiming()) { // Paper
@@ -953,7 +824,7 @@ index 6fbf26eb7da8df2f0a4158ff9f12022518ada8e3..ab024c5315c0a7cb2f80d5d7b251f6a3
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());
@@ -895,7 +895,7 @@ public class LevelChunk extends ChunkAccess { @@ -947,7 +947,7 @@ public class LevelChunk extends ChunkAccess {
} }
} }
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(this.bukkitChunk)); server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(this.bukkitChunk));
@@ -962,7 +833,7 @@ index 6fbf26eb7da8df2f0a4158ff9f12022518ada8e3..ab024c5315c0a7cb2f80d5d7b251f6a3
} }
} }
} }
@@ -1239,7 +1239,7 @@ public class LevelChunk extends ChunkAccess { @@ -1292,7 +1292,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);
@@ -971,7 +842,7 @@ index 6fbf26eb7da8df2f0a4158ff9f12022518ada8e3..ab024c5315c0a7cb2f80d5d7b251f6a3
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition); BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
if (this.blockEntity.getType().isValid(iblockdata)) { if (this.blockEntity.getType().isValid(iblockdata)) {
@@ -1261,7 +1261,7 @@ public class LevelChunk extends ChunkAccess { @@ -1314,7 +1314,7 @@ public class LevelChunk extends ChunkAccess {
// Paper end // Paper end
// Spigot start // Spigot start
} finally { } finally {

View File

@@ -39,7 +39,7 @@ index edd378813873ed367784379b0f1666d1ccf2194d..eb4dac2239592d680ef31edf47f1ab66
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 d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1ad3ee0d7c 100644 index 7063ef7d547714d6647290e36da3a07b3b946871..60bed3f87016b29508ea1a94db65a1f60d960de1 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
@@ -328,13 +328,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -328,13 +328,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -62,7 +62,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
this.status = new ServerStatus(); this.status = new ServerStatus();
this.random = RandomSource.create(); this.random = RandomSource.create();
this.port = -1; this.port = -1;
@@ -926,9 +926,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -936,9 +936,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
// Paper end // Paper end
// CraftBukkit end // CraftBukkit end
@@ -74,7 +74,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
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
@@ -1201,18 +1201,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1181,18 +1181,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
// Spigot end // Spigot end
@@ -98,7 +98,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
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) {
@@ -1222,8 +1222,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1202,8 +1202,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 d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
this.isReady = true; this.isReady = true;
JvmProfiler.INSTANCE.onServerTick(this.averageTickTime); JvmProfiler.INSTANCE.onServerTick(this.averageTickTime);
} }
@@ -1384,7 +1384,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1364,7 +1364,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 d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
super.doRunTask(ticktask); super.doRunTask(ticktask);
} }
@@ -1469,7 +1469,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1449,7 +1449,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (playerSaveInterval < 0) { if (playerSaveInterval < 0) {
playerSaveInterval = autosavePeriod; playerSaveInterval = autosavePeriod;
} }
@@ -127,7 +127,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
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;
@@ -1484,7 +1484,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1464,7 +1464,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} finally { } finally {
this.isSaving = false; this.isSaving = false;
} }
@@ -136,7 +136,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
// 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
@@ -1497,7 +1497,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1477,7 +1477,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 d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
long l = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i; long l = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i;
this.averageTickTime = this.averageTickTime * 0.8F + (float) l / 1000000.0F * 0.19999999F; this.averageTickTime = this.averageTickTime * 0.8F + (float) l / 1000000.0F * 0.19999999F;
@@ -1510,7 +1510,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1490,7 +1490,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end // Paper end
this.frameTimer.logFrameDuration(i1 - i); this.frameTimer.logFrameDuration(i1 - i);
@@ -154,7 +154,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
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
} }
@@ -1519,11 +1519,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1499,11 +1499,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Spigot // Paper // Purpur //MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Spigot // Paper // Purpur
this.server.getScheduler().mainThreadHeartbeat(this.tickCount); // CraftBukkit this.server.getScheduler().mainThreadHeartbeat(this.tickCount); // CraftBukkit
//MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper // Purpur //MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -168,7 +168,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
//Iterator iterator = this.getAllLevels().iterator(); // Paper - moved down //Iterator iterator = this.getAllLevels().iterator(); // Paper - moved down
// CraftBukkit start // CraftBukkit start
@@ -1565,18 +1565,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1545,18 +1545,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
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
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
@@ -192,7 +192,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
try { try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur //worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1602,17 +1602,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1582,17 +1582,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport); throw new ReportedException(crashreport);
} }
@@ -214,7 +214,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
//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
@@ -1620,7 +1620,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1600,7 +1600,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick(); GameTestTicker.SINGLETON.tick();
} }
@@ -223,7 +223,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
//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) {
@@ -1628,7 +1628,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1608,7 +1608,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 d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
} }
public boolean isNetherEnabled() { public boolean isNetherEnabled() {
@@ -2276,7 +2276,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2256,7 +2256,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public ProfilerFiller getProfiler() { public ProfilerFiller getProfiler() {
@@ -241,7 +241,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
return this.profiler; return this.profiler;
} }
@@ -2516,7 +2516,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2496,7 +2496,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end // CraftBukkit end
private void startMetricsRecordingTick() { private void startMetricsRecordingTick() {
@@ -250,7 +250,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
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"));
@@ -2526,40 +2526,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2506,40 +2506,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false; this.willStartRecordingMetrics = false;
} }
@@ -303,7 +303,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
} }
public Path getWorldPath(LevelResource worldSavePath) { public Path getWorldPath(LevelResource worldSavePath) {
@@ -2604,15 +2604,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2584,15 +2584,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public boolean isTimeProfilerRunning() { public boolean isTimeProfilerRunning() {
@@ -371,10 +371,10 @@ index 30093cd8bd35f0bbc8f26eca370622ee12a046b6..2986f110348b376bcdc64fa39b688855
++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 56ec684bac1c29c99bac117e38d82db2b4dc20e8..e4cec79dc5911e1f000c63fe333eea04050aa542 100644 index a57567679e01ae9a636d51fe53cda4abbca69f13..9c48b7fb10ba88e18d473d674fc1f50fb65cc633 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
@@ -998,20 +998,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -606,20 +606,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
} }
protected void tick(BooleanSupplier shouldKeepTicking) { protected void tick(BooleanSupplier shouldKeepTicking) {
@@ -399,41 +399,11 @@ index 56ec684bac1c29c99bac117e38d82db2b4dc20e8..e4cec79dc5911e1f000c63fe333eea04
} }
public boolean hasWork() { public boolean hasWork() {
@@ -1162,7 +1162,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper start - Async chunk io
final java.util.function.BiFunction<ChunkSerializer.InProgressChunkHolder, Throwable, Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> syncLoadComplete = (chunkHolder, ioThrowable) -> {
try /*(Timing ignored = this.level.timings.chunkLoad.startTimingIfSync())*/ { // Paper // Purpur
- this.level.getProfiler().incrementCounter("chunkLoad");
+ //this.level.getProfiler().incrementCounter("chunkLoad"); // Purpur
if (ioThrowable != null) {
return this.handleChunkLoadFailure(ioThrowable, pos);
}
@@ -1258,9 +1258,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
return this.getDependencyStatus(requiredStatus, i);
});
- this.level.getProfiler().incrementCounter(() -> {
+ /*this.level.getProfiler().incrementCounter(() -> { // Purpur
return "chunkGenerate " + requiredStatus.getName();
- });
+ });*/ // Purpur
Executor executor = (runnable) -> {
// Paper start - optimize chunk status progression without jumping through thread pool
if (holder.canAdvanceStatus()) {
@@ -1566,7 +1566,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
}
- this.level.getProfiler().incrementCounter("chunkSave");
+ //this.level.getProfiler().incrementCounter("chunkSave"); // Purpur
CompoundTag nbttagcompound;
//try (co.aikar.timings.Timing ignored1 = this.level.timings.chunkSaveDataSerialization.startTiming()) { // Paper // Purpur
nbttagcompound = ChunkSerializer.write(this.level, chunk);
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 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd83e07bbc1 100644 index 157efbbc57f1b5d92f296a70823c75b6d01ac065..cd5533c3c53215c9cc4be0b9097d76efbf5bd0c1 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
@@ -454,9 +454,9 @@ public class ServerChunkCache extends ChunkSource { @@ -430,16 +430,16 @@ public class ServerChunkCache extends ChunkSource {
return ifLoaded; return ifLoaded;
} }
// Paper end // Paper end
@@ -445,33 +415,15 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
long k = ChunkPos.asLong(x, z); long k = ChunkPos.asLong(x, z);
ChunkAccess ichunkaccess; ChunkAccess ichunkaccess;
@@ -470,7 +470,7 @@ public class ServerChunkCache extends ChunkSource {
} // Paper - rewrite chunk system - there are no correct callbacks to remove items from cache in the new chunk system
}
- gameprofilerfiller.incrementCounter("getChunkCacheMiss"); - gameprofilerfiller.incrementCounter("getChunkCacheMiss");
+ //gameprofilerfiller.incrementCounter("getChunkCacheMiss"); // Purpur + //gameprofilerfiller.incrementCounter("getChunkCacheMiss"); // Purpur
CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> completablefuture = this.getChunkFutureMainThread(x, z, leastStatus, create, true); // Paper CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> completablefuture = this.getChunkFutureMainThread(x, z, leastStatus, create, true); // Paper
ServerChunkCache.MainThreadExecutor chunkproviderserver_b = this.mainThreadProcessor; ServerChunkCache.MainThreadExecutor chunkproviderserver_b = this.mainThreadProcessor;
@@ -569,13 +569,13 @@ public class ServerChunkCache extends ChunkSource { @@ -627,24 +627,24 @@ public class ServerChunkCache extends ChunkSource {
this.distanceManager.addTicket(TicketType.REQUIRED_LOAD, chunkcoordintpair, l, identifier); // Paper - prevent plugin unloads from removing our ticket
if (isUrgent) this.distanceManager.markUrgent(chunkcoordintpair); // Paper - Chunk priority
if (this.chunkAbsent(playerchunk, l)) {
- ProfilerFiller gameprofilerfiller = this.level.getProfiler();
+ //ProfilerFiller gameprofilerfiller = this.level.getProfiler(); // Purpur
- gameprofilerfiller.push("chunkLoad");
+ //gameprofilerfiller.push("chunkLoad"); // Purpur
distanceManager.delayDistanceManagerTick = false; // Paper - Chunk priority - ensure this is never false
this.runDistanceManagerUpdates();
playerchunk = this.getVisibleChunkIfPresent(k);
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
if (this.chunkAbsent(playerchunk, l)) {
this.distanceManager.removeTicket(TicketType.REQUIRED_LOAD, chunkcoordintpair, l, identifier); // Paper
throw (IllegalStateException) Util.pauseInIde(new IllegalStateException("No chunk holder after ticket has been added"));
@@ -710,24 +710,24 @@ public class ServerChunkCache extends ChunkSource {
// CraftBukkit start - modelled on below // CraftBukkit start - modelled on below
public void purgeUnload() { public void purgeUnload() {
if (true) return; // Paper - tickets will be removed later, this behavior isn't really well accounted for by the chunk system if (true) return; // Paper - tickets will be removed later, this behavior isn't really well accounted for by the chunk system
@@ -501,7 +453,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
if (tickChunks) { if (tickChunks) {
//this.level.timings.chunks.startTiming(); // Paper - timings // Purpur //this.level.timings.chunks.startTiming(); // Paper - timings // Purpur
this.chunkMap.playerChunkManager.tick(); // Paper - this is mostly is to account for view distance changes this.chunkMap.playerChunkManager.tick(); // Paper - this is mostly is to account for view distance changes
@@ -736,10 +736,10 @@ public class ServerChunkCache extends ChunkSource { @@ -653,10 +653,10 @@ public class ServerChunkCache extends ChunkSource {
} }
//this.level.timings.doChunkUnload.startTiming(); // Spigot // Purpur //this.level.timings.doChunkUnload.startTiming(); // Spigot // Purpur
@@ -514,7 +466,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
this.clearCache(); this.clearCache();
} }
@@ -785,14 +785,14 @@ public class ServerChunkCache extends ChunkSource { @@ -702,14 +702,14 @@ public class ServerChunkCache extends ChunkSource {
} }
// Paper end - optimize isOutisdeRange // Paper end - optimize isOutisdeRange
LevelData worlddata = this.level.getLevelData(); LevelData worlddata = this.level.getLevelData();
@@ -532,7 +484,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
//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
@@ -817,13 +817,13 @@ public class ServerChunkCache extends ChunkSource { @@ -734,13 +734,13 @@ 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; // Pufferfish - this is managed asynchronously //this.lastSpawnState = spawnercreature_d; // Pufferfish - this is managed asynchronously
@@ -548,7 +500,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
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
// Paper - only shuffle if per-player mob spawning is disabled // Paper - only shuffle if per-player mob spawning is disabled
@@ -874,15 +874,15 @@ public class ServerChunkCache extends ChunkSource { @@ -791,15 +791,15 @@ public class ServerChunkCache extends ChunkSource {
} }
// Paper end - optimise chunk tick iteration // Paper end - optimise chunk tick iteration
//this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur //this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur
@@ -567,7 +519,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
//this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur //this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur
if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) { if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) {
ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone(); ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone();
@@ -896,7 +896,7 @@ public class ServerChunkCache extends ChunkSource { @@ -813,7 +813,7 @@ public class ServerChunkCache extends ChunkSource {
} }
} }
//this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur //this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur
@@ -576,7 +528,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
// Paper end - use set of chunks requiring updates, rather than iterating every single one loaded // Paper end - use set of chunks requiring updates, rather than iterating every single one loaded
// Paper start - controlled flush for entity tracker packets // Paper start - controlled flush for entity tracker packets
List<net.minecraft.network.Connection> disabledFlushes = new java.util.ArrayList<>(this.level.players.size()); List<net.minecraft.network.Connection> disabledFlushes = new java.util.ArrayList<>(this.level.players.size());
@@ -1102,7 +1102,7 @@ public class ServerChunkCache extends ChunkSource { @@ -1024,7 +1024,7 @@ public class ServerChunkCache extends ChunkSource {
@Override @Override
protected void doRunTask(Runnable task) { protected void doRunTask(Runnable task) {
@@ -586,10 +538,10 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
} }
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 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30defa47a6 100644 index d3b93712cd999d61f66a8ffefd9122ffc1596ba1..9f8d89e45c9d15f07e9b5c27451816ae06819f68 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
@@ -621,12 +621,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -651,12 +651,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
} }
// Paper end - optimise checkDespawn // Paper end - optimise checkDespawn
@@ -605,7 +557,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
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;
@@ -653,32 +653,32 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -683,32 +683,32 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.updateSkyBrightness(); this.updateSkyBrightness();
this.tickTime(); this.tickTime();
@@ -646,7 +598,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
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) {
@@ -686,12 +686,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -716,12 +716,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
if (flag || this.emptyTime++ < 300) { if (flag || this.emptyTime++ < 300) {
@@ -662,7 +614,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
} }
org.spigotmc.ActivationRange.activateEntities(this); // Spigot org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -701,9 +701,9 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -731,9 +731,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 {
@@ -674,7 +626,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
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();
@@ -715,7 +715,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -745,7 +745,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.stopRiding(); entity.stopRiding();
} }
@@ -683,7 +635,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
// Pufferfish start - copied from this.guardEntityTick // Pufferfish start - copied from this.guardEntityTick
try { try {
this.tickNonPassenger(entity); // Pufferfish - changed this.tickNonPassenger(entity); // Pufferfish - changed
@@ -730,22 +730,22 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -760,22 +760,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end // Paper end
} }
// Pufferfish end // Pufferfish end
@@ -702,7 +654,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
- gameprofilerfiller.push("entityManagement"); - gameprofilerfiller.push("entityManagement");
+ //gameprofilerfiller.push("entityManagement"); // Purpur + //gameprofilerfiller.push("entityManagement"); // Purpur
this.entityManager.tick(); //this.entityManager.tick(); // Paper - rewrite chunk system
- gameprofilerfiller.popPush("gameEvents"); - gameprofilerfiller.popPush("gameEvents");
+ //gameprofilerfiller.popPush("gameEvents"); // Purpur + //gameprofilerfiller.popPush("gameEvents"); // Purpur
this.sendGameEvents(); this.sendGameEvents();
@@ -711,7 +663,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
} }
@Override @Override
@@ -827,9 +827,9 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -857,9 +857,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();
@@ -723,7 +675,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
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 &&*/ chunk.shouldDoLightning(this.random)) { // Spigot // Paper - disable thunder // Pufferfish - replace random with shouldDoLightning if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && /*this.random.nextInt(this.spigotConfig.thunderChance) == 0 &&*/ chunk.shouldDoLightning(this.random)) { // Spigot // Paper - disable thunder // Pufferfish - replace random with shouldDoLightning
@@ -861,7 +861,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -891,7 +891,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
} }
@@ -732,7 +684,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
if (!this.paperConfig().environment.disableIceAndSnow && (this.currentIceAndSnowTick++ & 15) == 0) { // Paper - Disable ice and snow // Paper - optimise random ticking // Pufferfish - optimize further random ticking if (!this.paperConfig().environment.disableIceAndSnow && (this.currentIceAndSnowTick++ & 15) == 0) { // Paper - Disable ice and snow // Paper - optimise random ticking // Pufferfish - optimize further random ticking
// Paper start - optimise chunk ticking // Paper start - optimise chunk ticking
this.getRandomBlockPosition(j, 0, k, 15, blockposition); this.getRandomBlockPosition(j, 0, k, 15, blockposition);
@@ -897,7 +897,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -927,7 +927,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
@@ -741,7 +693,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) { if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections(); LevelChunkSection[] sections = chunk.getSections();
@@ -933,7 +933,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -963,7 +963,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
@@ -750,7 +702,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
} }
public Optional<BlockPos> findLightningRod(BlockPos pos) { public Optional<BlockPos> findLightningRod(BlockPos pos) {
@@ -1230,19 +1230,19 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1259,19 +1259,19 @@ public class ServerLevel extends Level implements WorldGenLevel {
//try { // Purpur //try { // Purpur
// Paper end - timings // Paper end - timings
entity.setOldPosAndRot(); entity.setOldPosAndRot();
@@ -775,7 +727,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
//} finally { timer.stopTiming(); } // Paper - timings // Purpur //} finally { timer.stopTiming(); } // Paper - timings // Purpur
Iterator iterator = entity.getPassengers().iterator(); Iterator iterator = entity.getPassengers().iterator();
@@ -1271,12 +1271,12 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1300,12 +1300,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end // Paper end
passenger.setOldPosAndRot(); passenger.setOldPosAndRot();
++passenger.tickCount; ++passenger.tickCount;
@@ -792,7 +744,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
// Paper start - EAR 2 // Paper start - EAR 2
if (isActive) { if (isActive) {
passenger.rideTick(); passenger.rideTick();
@@ -1288,7 +1288,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1317,7 +1317,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
vehicle.positionRider(passenger); vehicle.positionRider(passenger);
} }
// Paper end - EAR 2 // Paper end - EAR 2
@@ -802,10 +754,10 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
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 3b5b040cf3cdbb3798972f73b75e8ab4753987db..18068e33014936fd5471aad6b673c16982bd38fc 100644 index 4abac5e3ba5dcf27248bda31d95c85bb5e23c19d..6979305279996be59756d0424e5bc16a19fde6b0 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
@@ -1153,7 +1153,7 @@ public class ServerPlayer extends Player { @@ -1138,7 +1138,7 @@ public class ServerPlayer extends Player {
PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver); PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver);
if (shapedetectorshape != null) { if (shapedetectorshape != null) {
@@ -814,7 +766,7 @@ index 3b5b040cf3cdbb3798972f73b75e8ab4753987db..18068e33014936fd5471aad6b673c169
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
@@ -1176,8 +1176,8 @@ public class ServerPlayer extends Player { @@ -1161,8 +1161,8 @@ public class ServerPlayer extends Player {
worldserver = ((CraftWorld) exit.getWorld()).getHandle(); worldserver = ((CraftWorld) exit.getWorld()).getHandle();
// CraftBukkit end // CraftBukkit end
@@ -825,7 +777,7 @@ index 3b5b040cf3cdbb3798972f73b75e8ab4753987db..18068e33014936fd5471aad6b673c169
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
@@ -1196,7 +1196,7 @@ public class ServerPlayer extends Player { @@ -1181,7 +1181,7 @@ public class ServerPlayer extends Player {
worldserver.addDuringPortalTeleport(this); worldserver.addDuringPortalTeleport(this);
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
this.connection.resetPosition(); // CraftBukkit - sync position after changing it (from PortalTravelAgent#findAndteleport) this.connection.resetPosition(); // CraftBukkit - sync position after changing it (from PortalTravelAgent#findAndteleport)
@@ -1061,10 +1013,10 @@ index 5725c6593480fada65facc29664a00a8cc073512..ccb1f998ae3122d1856d77149ff7e7df
}; };
} }
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f126630a968f5e 100644 index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c08296caa2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -821,7 +821,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -822,7 +822,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return; return;
} }
// Pufferfish end - entity TTL // Pufferfish end - entity TTL
@@ -1073,7 +1025,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
this.feetBlockState = null; this.feetBlockState = null;
if (this.isPassenger() && this.getVehicle().isRemoved()) { if (this.isPassenger() && this.getVehicle().isRemoved()) {
@@ -882,7 +882,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -883,7 +883,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
this.firstTick = false; this.firstTick = false;
@@ -1082,7 +1034,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
} }
public void setSharedFlagOnFire(boolean onFire) { public void setSharedFlagOnFire(boolean onFire) {
@@ -1056,7 +1056,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1057,7 +1057,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
} }
@@ -1091,7 +1043,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) { if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
movement = movement.multiply(this.stuckSpeedMultiplier); movement = movement.multiply(this.stuckSpeedMultiplier);
this.stuckSpeedMultiplier = Vec3.ZERO; this.stuckSpeedMultiplier = Vec3.ZERO;
@@ -1065,7 +1065,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1066,7 +1066,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
// Paper start - ignore movement changes while inactive. // Paper start - ignore movement changes while inactive.
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
setDeltaMovement(Vec3.ZERO); setDeltaMovement(Vec3.ZERO);
@@ -1100,7 +1052,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
return; return;
} }
// Paper end // Paper end
@@ -1086,8 +1086,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1087,8 +1087,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
} }
@@ -1111,7 +1063,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag = !Mth.equal(movement.x, vec3d1.x);
boolean flag1 = !Mth.equal(movement.z, vec3d1.z); boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
@@ -1106,7 +1106,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1107,7 +1107,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition); this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition);
if (this.isRemoved()) { if (this.isRemoved()) {
@@ -1120,7 +1072,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
} else { } else {
if (this.horizontalCollision) { if (this.horizontalCollision) {
Vec3 vec3d2 = this.getDeltaMovement(); Vec3 vec3d2 = this.getDeltaMovement();
@@ -1247,7 +1247,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1248,7 +1248,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.setRemainingFireTicks(-this.getFireImmuneTicks()); this.setRemainingFireTicks(-this.getFireImmuneTicks());
} }
@@ -1129,7 +1081,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
} }
} }
// Paper start - detailed watchdog information // Paper start - detailed watchdog information
@@ -2916,7 +2916,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2917,7 +2917,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
@@ -1138,7 +1090,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
this.portalTime = i; this.portalTime = i;
// Paper start // Paper start
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER); io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
@@ -2934,7 +2934,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2935,7 +2935,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
} // Paper } // Paper
// CraftBukkit end // CraftBukkit end
@@ -1147,7 +1099,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
} }
this.isInsidePortal = false; this.isInsidePortal = false;
@@ -3388,14 +3388,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3389,14 +3389,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
// Paper end // Paper end
if (this.level instanceof ServerLevel && !this.isRemoved()) { if (this.level instanceof ServerLevel && !this.isRemoved()) {
@@ -1164,7 +1116,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
if (shapedetectorshape == null) { if (shapedetectorshape == null) {
@@ -3429,7 +3429,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3430,7 +3430,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.unRide(); this.unRide();
// CraftBukkit end // CraftBukkit end
@@ -1173,7 +1125,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
// Paper start - Change lead drop timing to prevent dupe // Paper start - Change lead drop timing to prevent dupe
if (this instanceof Mob) { if (this instanceof Mob) {
((Mob) this).dropLeash(true, true); // Paper drop lead ((Mob) this).dropLeash(true, true); // Paper drop lead
@@ -3452,10 +3452,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3453,10 +3453,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
this.removeAfterChangingDimensions(); this.removeAfterChangingDimensions();
@@ -1456,10 +1408,10 @@ index 0cc0d719e95e108263683b7a40f4ce3a8ca9465b..872ec431ae6beb0ef603d833f38aedb9
public Set<WrappedGoal> getAvailableGoals() { public Set<WrappedGoal> getAvailableGoals() {
diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java
index cb4a162903207754be90ff8da0156f97791cccef..9e6c4c2935e0a2cadfbf3da73eb4fe1881078c5a 100644 index c1781c92ff59f0c9eb47cbbef01e3252c5e1a1bf..c06057cf9609e001f4512c247f355ded0ff2e8ce 100644
--- a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java --- a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java
+++ b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java +++ b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java
@@ -173,12 +173,12 @@ public abstract class PathNavigation { @@ -170,12 +170,12 @@ public abstract class PathNavigation {
} }
} }
// Paper end // Paper end
@@ -1471,9 +1423,9 @@ index cb4a162903207754be90ff8da0156f97791cccef..9e6c4c2935e0a2cadfbf3da73eb4fe18
Path path = this.pathFinder.findPath(pathNavigationRegion, this.mob, positions, followRange, distance, this.maxVisitedNodesMultiplier); Path path = this.pathFinder.findPath(pathNavigationRegion, this.mob, positions, followRange, distance, this.maxVisitedNodesMultiplier);
- this.level.getProfiler().pop(); - this.level.getProfiler().pop();
+ //this.level.getProfiler().pop(); // Purpur + //this.level.getProfiler().pop(); // Purpur
if (path != null && path.getTarget() != null) {
// Pufferfish start this.targetPos = path.getTarget();
if (!gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncPathfinding) { this.reachRange = distance;
diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java
index 288c6627906d07c0d223eacd84ae4eb31a349998..9babe636176da3c40598eb5bdac0919a1704eaa0 100644 index 288c6627906d07c0d223eacd84ae4eb31a349998..9babe636176da3c40598eb5bdac0919a1704eaa0 100644
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java --- a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensing.java
@@ -1535,7 +1487,7 @@ index b543387da275a0b3675a968b6cebf05cc227af14..2e0f340f9b339b1d772c0676e97c12f3
Optional<Integer> optional = this.getBrain().getMemory(MemoryModuleType.PLAY_DEAD_TICKS); Optional<Integer> optional = this.getBrain().getMemory(MemoryModuleType.PLAY_DEAD_TICKS);
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index b84effd5e18fee155e731d1a80ba516b86431d3b..989af6f3e0604a342032b308f97c7b863b3b1e40 100644 index e739416fa58b182d7bd311be094d6aab2a7f7133..22f8db91f31be6a6d981c70e2ab94d031723ac9c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -230,13 +230,13 @@ public class Frog extends Animal { @@ -230,13 +230,13 @@ public class Frog extends Animal {
@@ -1730,10 +1682,10 @@ index 01477e7240f9e33d08d416a7d40ee10f3e5d4abf..c9def2202d7c2a523858ec124df2beaf
} }
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 bd89e00f707b6ba297081c9aacb3c5463e80063e..5e0fb02ccd1204a72b2d730a25e35844a07c5759 100644 index 93711ef7df591ab0f50b8f0f7798f938eeb0f3b3..cf8693d02de53f1e02d55936f889c5724889e3f5 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
@@ -713,9 +713,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -712,9 +712,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
BlockState iblockdata2 = this.getBlockState(pos); BlockState iblockdata2 = this.getBlockState(pos);
if ((flags & 128) == 0 && iblockdata2 != iblockdata1 && (iblockdata2.getLightBlock(this, pos) != iblockdata1.getLightBlock(this, pos) || iblockdata2.getLightEmission() != iblockdata1.getLightEmission() || iblockdata2.useShapeForLightOcclusion() || iblockdata1.useShapeForLightOcclusion())) { if ((flags & 128) == 0 && iblockdata2 != iblockdata1 && (iblockdata2.getLightBlock(this, pos) != iblockdata1.getLightBlock(this, pos) || iblockdata2.getLightEmission() != iblockdata1.getLightEmission() || iblockdata2.useShapeForLightOcclusion() || iblockdata1.useShapeForLightOcclusion())) {
@@ -1745,7 +1697,7 @@ index bd89e00f707b6ba297081c9aacb3c5463e80063e..5e0fb02ccd1204a72b2d730a25e35844
} }
/* /*
@@ -992,9 +992,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -991,9 +991,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
protected void tickBlockEntities() { protected void tickBlockEntities() {
@@ -1757,7 +1709,7 @@ index bd89e00f707b6ba297081c9aacb3c5463e80063e..5e0fb02ccd1204a72b2d730a25e35844
//timings.tileEntityPending.startTiming(); // Spigot // Purpur //timings.tileEntityPending.startTiming(); // Spigot // Purpur
this.tickingBlockEntities = true; this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) { if (!this.pendingBlockEntityTickers.isEmpty()) {
@@ -1039,7 +1039,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1038,7 +1038,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
@@ -1766,16 +1718,16 @@ index bd89e00f707b6ba297081c9aacb3c5463e80063e..5e0fb02ccd1204a72b2d730a25e35844
spigotConfig.currentPrimedTnt = 0; // Spigot spigotConfig.currentPrimedTnt = 0; // Spigot
} }
@@ -1200,7 +1200,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1199,7 +1199,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) {
- this.getProfiler().incrementCounter("getEntities"); - this.getProfiler().incrementCounter("getEntities");
+ //this.getProfiler().incrementCounter("getEntities"); // Purpur + //this.getProfiler().incrementCounter("getEntities"); // Purpur
List<Entity> list = Lists.newArrayList(); List<Entity> list = Lists.newArrayList();
this.entitySliceManager.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;
@@ -1208,7 +1208,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1207,7 +1207,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@Override @Override
public <T extends Entity> List<T> getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate) { public <T extends Entity> List<T> getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate) {
@@ -1784,7 +1736,7 @@ index bd89e00f707b6ba297081c9aacb3c5463e80063e..5e0fb02ccd1204a72b2d730a25e35844
List<T> list = Lists.newArrayList(); List<T> list = Lists.newArrayList();
// Paper start - optimise this call // Paper start - optimise this call
@@ -1539,7 +1539,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1538,7 +1538,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
public ProfilerFiller getProfiler() { public ProfilerFiller getProfiler() {
@@ -1816,10 +1768,10 @@ index 5c6fde4baf27e7d8f027c138d843da39a4a2ed36..4a8998a98987985e259b0a2a29ee7c94
// 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 ab024c5315c0a7cb2f80d5d7b251f6a3531879b3..12293740461b6cd965297543a1ae3bead83bd3a6 100644 index b4460ed16ba30173ad4a5fe8e405e1c34251912f..6638a4fd77230ec9d5b5db097e9ee1a3cc92a726 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
@@ -1236,9 +1236,9 @@ public class LevelChunk extends ChunkAccess { @@ -1289,9 +1289,9 @@ public class LevelChunk extends ChunkAccess {
if (LevelChunk.this.isTicking(blockposition)) { if (LevelChunk.this.isTicking(blockposition)) {
try { try {
@@ -1831,7 +1783,7 @@ index ab024c5315c0a7cb2f80d5d7b251f6a3531879b3..12293740461b6cd965297543a1ae3bea
//this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur //this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition); BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
@@ -1250,7 +1250,7 @@ public class LevelChunk extends ChunkAccess { @@ -1303,7 +1303,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});
} }
@@ -1841,20 +1793,20 @@ index ab024c5315c0a7cb2f80d5d7b251f6a3531879b3..12293740461b6cd965297543a1ae3bea
if (throwable instanceof ThreadDeath) throw throwable; // Paper if (throwable instanceof ThreadDeath) throw throwable; // Paper
// Paper start - Prevent tile entity and entity crashes // Paper start - Prevent tile entity and entity crashes
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java diff --git a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
index 0455c8a7da880da4f0b7ae9d57e83e281a55f0ae..23cb03d28c43729d5b5d450cd975456512477353 100644 index d23481453717f715124156b5d83f6448f720d049..a8af51a25b0f99c3a64d9150fdfcd6b818aa7581 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java --- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
+++ b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
@@ -80,8 +80,8 @@ public class PathFinder { @@ -53,8 +53,8 @@ public class PathFinder {
@Nullable
// Paper start - optimize collection // Paper start - optimize collection
private Path findPath(ProfilerFiller profiler, Node startNode, List<Map.Entry<Target, BlockPos>> positions, float followRange, int distance, float rangeMultiplier) { private Path findPath(ProfilerFiller profiler, Node startNode, List<Map.Entry<Target, BlockPos>> positions, float followRange, int distance, float rangeMultiplier) {
// readd the profiler code for sync
- profiler.push("find_path"); - profiler.push("find_path");
- profiler.markForCharting(MetricCategory.PATH_FINDING); - profiler.markForCharting(MetricCategory.PATH_FINDING);
+ //profiler.push("find_path"); // Purpur + //profiler.push("find_path"); // Purpur
+ //profiler.markForCharting(MetricCategory.PATH_FINDING); // Purpur + //profiler.markForCharting(MetricCategory.PATH_FINDING); // Purpur
// Set<Target> set = positions.keySet();
try { startNode.g = 0.0F;
return this.processPath(this.nodeEvaluator, startNode, positions, followRange, distance, rangeMultiplier); startNode.h = this.getBestH(startNode, positions); // Paper - optimize collection
diff --git a/src/main/java/net/minecraft/world/ticks/LevelTicks.java b/src/main/java/net/minecraft/world/ticks/LevelTicks.java diff --git a/src/main/java/net/minecraft/world/ticks/LevelTicks.java b/src/main/java/net/minecraft/world/ticks/LevelTicks.java
index 7f1ac2cb29eb84833c0895442d611dfa0504527e..5dea8414964e0d2d1fb15a6baa27227e9722bfc7 100644 index 7f1ac2cb29eb84833c0895442d611dfa0504527e..5dea8414964e0d2d1fb15a6baa27227e9722bfc7 100644
--- a/src/main/java/net/minecraft/world/ticks/LevelTicks.java --- a/src/main/java/net/minecraft/world/ticks/LevelTicks.java

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 0b1f803fb6e23e4bcd015aacc63be864c87dca6b..3fffeff2f7e12c021ac4d1e6754583f58a03f12f 100644 index 14a9e509b4da2b4ad1f67d8c5533c36ad437704b..e9c20441e37db68d500c230a4371610f98c69428 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
@@ -1468,6 +1468,42 @@ public final class CraftServer implements Server { @@ -1468,6 +1468,42 @@ public final class CraftServer implements Server {
@@ -52,10 +52,10 @@ index 0b1f803fb6e23e4bcd015aacc63be864c87dca6b..3fffeff2f7e12c021ac4d1e6754583f5
@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 4b9d57a63a0eb922f77d34e4d2d7f3b0aa364337..42058ebca02f1ae7fdf970b9fdf36afc4d486e87 100644 index 68eb990c7d461c611310419c1eefaed79a7c8538..dabf1649f5bf14ec17dad6d43dcd7e2b7df255d3 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
@@ -2251,6 +2251,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -2238,6 +2238,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public float getLocalDifficultyAt(Location location) { public float getLocalDifficultyAt(Location location) {
return getHandle().getCurrentDifficultyAt(net.minecraft.server.MCUtil.toBlockPosition(location)).getEffectiveDifficulty(); return getHandle().getCurrentDifficultyAt(net.minecraft.server.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
} }
@@ -99,7 +99,7 @@ index 4b9d57a63a0eb922f77d34e4d2d7f3b0aa364337..42058ebca02f1ae7fdf970b9fdf36afc
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3ba2cb10615069b78ad2f86f7bc0d2080b2f5472..0389107aba8f9f71f3d9defec167592e63f529b8 100644 index 4260f540717afe6ed16f4f87f394c483537079e1..ab5ce7e867a3668d21071da73b84d197a34d3571 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3019,5 +3019,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -3019,5 +3019,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Make pufferfish config relocatable
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
index e077a43cf3f06207234cb445b58dff79eabcb9c6..852ed093488ae624960a7dd35f68d8cee39067e7 100644 index 0d32a0bb4bbd34dbeffea95cf8403ae54ef8f227..88d1c75c51ffc2e5f334b0c9d12ca63ff463ff0a 100644
--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java --- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java +++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
@@ -36,6 +36,7 @@ public class PufferfishConfig { @@ -28,6 +28,7 @@ public class PufferfishConfig {
private static final YamlFile config = new YamlFile(); private static final YamlFile config = new YamlFile();
private static int updates = 0; private static int updates = 0;
@@ -16,7 +16,7 @@ index e077a43cf3f06207234cb445b58dff79eabcb9c6..852ed093488ae624960a7dd35f68d8ce
private static ConfigurationSection convertToBukkit(org.simpleyaml.configuration.ConfigurationSection section) { private static ConfigurationSection convertToBukkit(org.simpleyaml.configuration.ConfigurationSection section) {
ConfigurationSection newSection = new MemoryConfiguration(); ConfigurationSection newSection = new MemoryConfiguration();
@@ -58,7 +59,7 @@ public class PufferfishConfig { @@ -50,7 +51,7 @@ public class PufferfishConfig {
} }
public static void load() throws IOException { public static void load() throws IOException {
@@ -26,7 +26,7 @@ index e077a43cf3f06207234cb445b58dff79eabcb9c6..852ed093488ae624960a7dd35f68d8ce
if (configFile.exists()) { if (configFile.exists()) {
try { try {
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 0bfdc4247a651f6c1caf7a95114be68bc7d77d7b..33ec9cb7efd5623866c03506b8dcb28831b54b21 100644 index c8b068ab73c8997fbd07e27ccd2dff77fef6bfe1..a029f51983bcfe49beab1359f282f0f957723ef2 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
@@ -235,6 +235,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -235,6 +235,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface