mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
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:
@@ -1,7 +1,7 @@
|
||||
group = org.purpurmc.purpur
|
||||
version = 1.19.2-R0.1-SNAPSHOT
|
||||
|
||||
paperCommit = b4c025b92c48fb2b55a7433f85627184aee5d90a
|
||||
paperCommit = 01a13871deefa50e186a10b63f71c5e0459e7d30
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix pufferfish issues
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 7074295d7399d03e259598bb4bfa0f21434d74be..26f8979c1a150159823be1693cf2aa5366401015 100644
|
||||
index 0485d126f799789b5d5abcaf96da96df25a12dfd..692789a473665c1fc7be56b8913cd208ae27d2e5 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -49,8 +49,8 @@ dependencies {
|
||||
@@ -20,10 +20,10 @@ index 7074295d7399d03e259598bb4bfa0f21434d74be..26f8979c1a150159823be1693cf2aa53
|
||||
}
|
||||
// Pufferfish end
|
||||
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
|
||||
+++ 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
|
||||
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
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -271,7 +271,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -46,10 +46,10 @@ index 388a153113d87ba99515828c6d535110b4413c7c..29a2ba6b84c01280f8c7f32e6a78e3dd
|
||||
// Pufferfish start - ensure these get inlined
|
||||
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
|
||||
index 0b08a91ae9dc73c011dbb5f517becac7d08fd1e9..6fbf26eb7da8df2f0a4158ff9f12022518ada8e3 100644
|
||||
index 34334c139176e0aa9f6d93a87821508d17567cfc..df2786516fe641edff7bbe9fe0665bf07502d830 100644
|
||||
--- a/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;
|
||||
// CraftBukkit start
|
||||
this.bukkitChunk = new org.bukkit.craftbukkit.CraftChunk(this);
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 26f8979c1a150159823be1693cf2aa5366401015..441a18132eb60e1af8b624ab7cf3de61669ced1f 100644
|
||||
index 692789a473665c1fc7be56b8913cd208ae27d2e5..4e4bc7e55a81dc44d7f6cfc6a8761141d0d3bb6c 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -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.resolver:maven-resolver-connector-basic: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(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
@@ -36,7 +36,7 @@ index 26f8979c1a150159823be1693cf2aa5366401015..441a18132eb60e1af8b624ab7cf3de61
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -183,7 +186,7 @@ fun TaskContainer.registerRunTask(
|
||||
@@ -182,7 +185,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
@@ -168,7 +168,7 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438
|
||||
stringbuilder.append(CrashReport.getErrorComment());
|
||||
stringbuilder.append("\n\n");
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -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 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();
|
||||
org.spigotmc.WatchdogThread.doStop(); // Paper
|
||||
if (!isSameThread()) {
|
||||
@@ -189,7 +189,7 @@ index 67e150e35d328eb13c8f86e61dab2f11c76b21df..cb907fe3988705e5dd961a9b9b2cbc93
|
||||
while (this.getRunningThread().isAlive()) {
|
||||
this.getRunningThread().stop();
|
||||
try {
|
||||
@@ -1676,7 +1676,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1656,7 +1656,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
@@ -199,7 +199,7 @@ index 67e150e35d328eb13c8f86e61dab2f11c76b21df..cb907fe3988705e5dd961a9b9b2cbc93
|
||||
|
||||
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
|
||||
index 519883c5549744e047a8a96afee142746fcb49cd..7c09182f465b66979e1981222d20fa4f574680d5 100644
|
||||
index d4efadbc87ee0b6cb8564c57fc9dcbb48367a767..01928849f9dd42a3ea8826b56d419e8c09450f47 100644
|
||||
--- a/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
|
||||
@@ -218,7 +218,7 @@ index 519883c5549744e047a8a96afee142746fcb49cd..7c09182f465b66979e1981222d20fa4f
|
||||
// Spigot end
|
||||
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
|
||||
index c2356ed1a00fd8087cca285be5e7f6a5442e73fb..13399302916bbf39cd08cfcefaf3358ad58ee8c4 100644
|
||||
index 8db3bcc63aeb23e5b50864ebea675acc75d184ff..3aa9a667d988fe2b6118ce4b3a4551e7e17b7884 100644
|
||||
--- a/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 {
|
||||
@@ -231,7 +231,7 @@ index c2356ed1a00fd8087cca285be5e7f6a5442e73fb..13399302916bbf39cd08cfcefaf3358a
|
||||
|
||||
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
|
||||
index ff520a7fa8235a46d861df60569077be258d7cb1..f9b2b6f8bededc5d87fcaac59ff14bac7d76073b 100644
|
||||
index b8efe50c860a7537f345f46f3b3d68906ad54006..8fc70e7f75786ad10a97676a04bc0bc91f9526fe 100644
|
||||
--- a/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
|
||||
@@ -323,10 +323,10 @@ index 80553face9c70c2a3d897681e7761df85b22d464..fb87620c742ff7912f5e8ccd2a7930dd
|
||||
|
||||
if (stream != null) {
|
||||
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
|
||||
+++ 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)
|
||||
{
|
||||
@@ -335,7 +335,7 @@ index d568fc92d03c313a782796cc720a1ebb1a5ad8be..4a88fbee3566ba54b615745a2e480169
|
||||
this.timeoutTime = timeoutTime;
|
||||
this.restart = restart;
|
||||
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) {
|
||||
// Paper end
|
||||
log.log( Level.SEVERE, "------------------------------" );
|
||||
@@ -353,7 +353,7 @@ index d568fc92d03c313a782796cc720a1ebb1a5ad8be..4a88fbee3566ba54b615745a2e480169
|
||||
//
|
||||
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
|
||||
} else
|
||||
{
|
||||
@@ -365,10 +365,10 @@ index d568fc92d03c313a782796cc720a1ebb1a5ad8be..4a88fbee3566ba54b615745a2e480169
|
||||
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 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
|
||||
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( server.serverThread.getId(), Integer.MAX_VALUE ), log );
|
||||
@@ -206,7 +206,7 @@ public class WatchdogThread extends Thread
|
||||
WatchdogThread.dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
|
||||
@@ -206,7 +206,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
||||
WatchdogThread.dumpThread( thread, log );
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -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
|
||||
index 3615576c24d5d6790a6894a91180de25fa0e5a9c..266a26d73dd5aec427b64a638693decf70ea36cb 100644
|
||||
index af7acb628b84539b1ee5ef1934f75f091c4cd91e..63aef471ceba18c2b296f4e287837c6df44809d7 100644
|
||||
--- a/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;
|
||||
// CraftBukkit end
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
+ public boolean purpurClient = false; // Purpur
|
||||
|
||||
public boolean isRealPlayer; // Paper
|
||||
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
|
||||
index cc55cb14f2d0f656213be25a1e428132871ac5dd..184c5540e519edd0430ae586bfae93d3ff798de2 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -43,7 +43,7 @@ index cc55cb14f2d0f656213be25a1e428132871ac5dd..184c5540e519edd0430ae586bfae93d3
|
||||
try {
|
||||
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
|
||||
index 099987645142a5a065b5bd377a16d9d6c59dabd9..3a4f2453831eda258ab5f7907204ee5d2bdac4c7 100644
|
||||
index a508619e6855ee0b96a9bf61526b1b88abf0e732..ea2c76116d8328d2ba6e5e7cc2ed1464f43a8c82 100644
|
||||
--- a/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 {
|
||||
|
||||
@@ -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
|
||||
index 3300a10b2558651c68fac18939815eb45889152b..a16f72e34af8cfef50622dba18750926ace1008e 100644
|
||||
index 63aef471ceba18c2b296f4e287837c6df44809d7..5f854b9d25d5965268a089a992ee9bacf7b3aa0f 100644
|
||||
--- a/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
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ index 3300a10b2558651c68fac18939815eb45889152b..a16f72e34af8cfef50622dba18750926
|
||||
public void displayClientMessage(Component message, boolean overlay) {
|
||||
this.sendSystemMessage(message, overlay);
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 5999d85e38951503fc83b40cfe39671921ae5088..263e61b655d0ec58b63da859df46f0962de45ec7 100644
|
||||
index 06eda955f96b5fe2d08ed0d39229c7a6ebb88931..16154d89a1c67ebc9dc6ecaeb214799e75d16b6f 100644
|
||||
--- a/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 {
|
||||
@@ -81,10 +81,10 @@ index 67bce77093dcc126098731047447da2031e3388d..c4088446d30c3b25cf196f51fd394cd0
|
||||
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
|
||||
index 4971ec79a114fd0d7540eaa0ef54b18c4bfbea57..4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc 100644
|
||||
index fc4bd8ad4836aa6bdd228885f0aeb22500782af5..d9348a2f58eea3bd1d70851bedf29fd96430e1ff 100644
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,10 +22,10 @@ index 153451ecd5b3c8e8ecb2d5ec91ccd582d4300899..56536c39bccfe097f8227c74a0d16799
|
||||
super(x, y, z);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index cb907fe3988705e5dd961a9b9b2cbc9321e59d69..6845b05225cd679d7b40695455f4ea651507787e 100644
|
||||
index 957587f5c3f9c26794c80146b4deb282af3469e8..7f0551e70c545f8e77d18b11e836233faeba9161 100644
|
||||
--- a/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();
|
||||
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
|
||||
@@ -34,7 +34,7 @@ index cb907fe3988705e5dd961a9b9b2cbc9321e59d69..6845b05225cd679d7b40695455f4ea65
|
||||
|
||||
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
|
||||
index 42c88ef31474690c95f7cfe7c3075e1f854c4005..738ffcc9f8ec1b34e7e1357ae48283e3245d906f 100644
|
||||
index b69799d0ae0ce8b176b910da886e71c4d25c94aa..eab96c9b53cd608ff99cdad06721cd19e490ad14 100644
|
||||
--- a/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 {
|
||||
@@ -46,10 +46,10 @@ index 42c88ef31474690c95f7cfe7c3075e1f854c4005..738ffcc9f8ec1b34e7e1357ae48283e3
|
||||
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
|
||||
index a16f72e34af8cfef50622dba18750926ace1008e..f9c77e5280950af9b6d650041b14c501657b8669 100644
|
||||
index 5f854b9d25d5965268a089a992ee9bacf7b3aa0f..e0a7a932ebfdec18b28ce5b697400951ea54c0a9 100644
|
||||
--- a/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.trackEnteredOrExitedLavaOnVehicle();
|
||||
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)) {
|
||||
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
|
||||
index 4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc..8dd2710b7db50d74c53ded1fbf23dccf32e41357 100644
|
||||
index d9348a2f58eea3bd1d70851bedf29fd96430e1ff..726c4a9dac41a887537b91ade7cb7b2a722a1e63 100644
|
||||
--- a/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 {
|
||||
@@ -91,7 +91,7 @@ index 4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc..8dd2710b7db50d74c53ded1fbf23dccf
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ index 4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc..8dd2710b7db50d74c53ded1fbf23dccf
|
||||
}
|
||||
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;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -119,7 +119,7 @@ index 4a069182f6cc3b40f6b5eabb85f70365bd9bfdcc..8dd2710b7db50d74c53ded1fbf23dccf
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} 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);
|
||||
}
|
||||
// Paper end
|
||||
@@ -702,7 +702,7 @@ index 1f85f34c1e50f34fb270d2fac7d307c82a550bfa..324f52edd95b5f9a498e46def8c14435
|
||||
double d = this.wantedX - this.fish.getX();
|
||||
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
|
||||
index dbeb70913d3933164e997ce5d662b4890ffe4f36..cf7036e014097183c697b06ea5865a361221bd6a 100644
|
||||
index a9cdf9034ad269f7a71358443acc053288cfbe6d..69a214c3a9f49d5b30b56f880263e736548a064f 100644
|
||||
--- a/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;
|
||||
@@ -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
|
||||
index 4c3fd27bff777139e29905e8684f6e92a44decfe..5c670b368407010524dcee1064fac2748d84cec2 100644
|
||||
index 74cb2741a5cd66bdac3a22de938ae82968705a56..6a6613f70f9c4cc950882191b00048d4c47bd84f 100644
|
||||
--- a/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 {
|
||||
@@ -2770,7 +2770,7 @@ index 305a891e4b51d1031d9e9238ff00e2ea7de8d954..84625d09df800fcfd477fc493fb5f824
|
||||
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
|
||||
index 47d6236daca806878399890a8d08e55233f19fd9..0876034f2735af2b143112162b38a5bfd71139bb 100644
|
||||
index ac3d4d90407288526a8c787e365ff41234a58543..f892b25c45c7b84fa37f4ddfe2c1068cfa1be483 100644
|
||||
--- a/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 {
|
||||
@@ -2801,7 +2801,7 @@ index 47d6236daca806878399890a8d08e55233f19fd9..0876034f2735af2b143112162b38a5bf
|
||||
+
|
||||
+ @Override
|
||||
+ public void purpurTick(Player rider) {
|
||||
+ setYawPitch(rider.yRot - 180F, rider.xRotO * 0.5F);
|
||||
+ setYawPitch(rider.getYRot() - 180F, rider.xRotO * 0.5F);
|
||||
+ }
|
||||
+ };
|
||||
+ // Purpur end
|
||||
@@ -2919,7 +2919,7 @@ index 47d6236daca806878399890a8d08e55233f19fd9..0876034f2735af2b143112162b38a5bf
|
||||
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
|
||||
index 4fb40aa91e0961f1974c74c88fa68359e4ad6b16..7a0653ae3bf1f9c99e3363fb27a9af30cbc2f27a 100644
|
||||
index a6d30f3213d30ba925926437ed4535319061213d..11f6465cbf26f4a632f597f2158c6c91d5056c41 100644
|
||||
--- a/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
|
||||
@@ -3091,7 +3091,7 @@ index 4fb40aa91e0961f1974c74c88fa68359e4ad6b16..7a0653ae3bf1f9c99e3363fb27a9af30
|
||||
int i;
|
||||
|
||||
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) {
|
||||
@@ -3348,7 +3348,7 @@ index e0f71dc12cfc28710cacfbc372026f556dcab165..17cc847fd6e5a128c9ae7427dc0aef51
|
||||
}
|
||||
// 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
|
||||
index 30a67a1eef9238e12e54c57a0608387cc0f763ef..af1a6cd77e70141be8b6507e1494babaeab3828c 100644
|
||||
index 1b1305f5eaf5710b72c57ab4c3953e703a23f1e0..869a2ee5e0775cc477fb56063dfa4ce4a0c6e3f2 100644
|
||||
--- a/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 {
|
||||
@@ -3904,7 +3904,7 @@ index ea4fa9eba301e462c159cdb970079f6d87d25f4d..3a2261687ec8b3b1f69b89ceeb2cc8cc
|
||||
|
||||
@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
|
||||
index cb81c5d37c72845133c4e59acaf8de56dcc9e62a..a8565816836e5ab55086a6024dc47df277cd7277 100644
|
||||
index cb81c5d37c72845133c4e59acaf8de56dcc9e62a..308debc811b8eb61c8d9d5aeba3e118b9802e401 100644
|
||||
--- a/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 {
|
||||
@@ -4035,7 +4035,7 @@ index cb81c5d37c72845133c4e59acaf8de56dcc9e62a..a8565816836e5ab55086a6024dc47df2
|
||||
|
||||
+ // Purpur start
|
||||
+ public void purpurTick(Player rider) {
|
||||
+ setYawPitch(rider.yRot, -rider.xRotO * 0.75F);
|
||||
+ setYawPitch(rider.getYRot(), -rider.xRotO * 0.75F);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
|
||||
@@ -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
|
||||
index 3545d6ede83ebf000e05f873c62deed27403845e..55c5ec3a4ad21e2a10bd99a1560ee29f9ad9bd39 100644
|
||||
index 726c4a9dac41a887537b91ade7cb7b2a722a1e63..4227272cc2bac2b603e4d477031d4c71641c5748 100644
|
||||
--- a/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;
|
||||
@@ -34,7 +34,7 @@ index 882ab40c8cdea8c214cb8344b3ccecddb2967c1c..cb79d2c958fbd34f8c8818e7e1c0db88
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -288,6 +288,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -78,7 +78,7 @@ index 2edc11b093dbfc96d287dc9d3e208cc2a39c537e..007c945725721ddb8a3dc4b8085e8c68
|
||||
|
||||
@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
|
||||
index cf7036e014097183c697b06ea5865a361221bd6a..feab2c5553e62016f2e82977257ecf2a22fd713d 100644
|
||||
index 69a214c3a9f49d5b30b56f880263e736548a064f..33f2100a9cb7616339c18d9b41293eab8c0e4a65 100644
|
||||
--- a/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 {
|
||||
@@ -94,7 +94,7 @@ index cf7036e014097183c697b06ea5865a361221bd6a..feab2c5553e62016f2e82977257ecf2a
|
||||
|
||||
@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
|
||||
index cc73dffbeb8a118de2b913c6f9d40c61f94dabbd..90ef6c8d5371b62d043320d493d624ae18737f07 100644
|
||||
index e163851c02e38c294d95dbabafd4903b8846b551..413205e8214b87f022dda5eeb1eeca3794dcd6ce 100644
|
||||
--- a/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 {
|
||||
@@ -459,7 +459,7 @@ index 248531727dcafb71d7d2d2767205e09a8c0f1876..01c8508571a88c22359cbf36341338c5
|
||||
|
||||
@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
|
||||
index 32b31e5efb5fc68430b9bcd4cd972494f53accc8..a80a7d460051a39fe805ae669b4586fb42e46943 100644
|
||||
index 3b576e8944bcef78f5769ccd90591f2db4dfd697..ad6a87ba97138253db2b300dec8a89faff38f075 100644
|
||||
--- a/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 {
|
||||
@@ -589,7 +589,7 @@ index f711ea32db68fb7aece5081e741c4e161123467f..390f630462c907cd6e961c6ca432804e
|
||||
|
||||
@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
|
||||
index b6a5ac35bed88e9d55b4de0551a13ea58901315e..fd5802bf7554590a19b3d5fc50c9ced02232f294 100644
|
||||
index 84faefeb6504a079ca907afcba7ff90873c68f8c..7c1120b51d196179f92ce0d3fc5d2bf48e2a1514 100644
|
||||
--- a/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 {
|
||||
@@ -719,7 +719,7 @@ index 0f8ce0c6ddbb37a61c6b15bb769b627bcd8105fa..6ed9e4e98c46b51cf398641ffb66abf3
|
||||
|
||||
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
|
||||
index 0876034f2735af2b143112162b38a5bfd71139bb..7dcc1fd63294afa95b2f7115a72961ce175f01f2 100644
|
||||
index f892b25c45c7b84fa37f4ddfe2c1068cfa1be483..1e3afa3d98e755b7a06dc6b90f90e2d41843a482 100644
|
||||
--- a/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 {
|
||||
@@ -735,7 +735,7 @@ index 0876034f2735af2b143112162b38a5bfd71139bb..7dcc1fd63294afa95b2f7115a72961ce
|
||||
|
||||
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
|
||||
index 7a0653ae3bf1f9c99e3363fb27a9af30cbc2f27a..606fa521d577f832cd7a82c1c6c67414e1a01589 100644
|
||||
index 11f6465cbf26f4a632f597f2158c6c91d5056c41..cdaefabf24c59338a0406072ce01029c194700fd 100644
|
||||
--- a/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
|
||||
@@ -750,7 +750,7 @@ index 7a0653ae3bf1f9c99e3363fb27a9af30cbc2f27a..606fa521d577f832cd7a82c1c6c67414
|
||||
// Purpur end
|
||||
|
||||
@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);
|
||||
if (this.tickCount % 10 == 0) {
|
||||
@@ -808,7 +808,7 @@ index 17cc847fd6e5a128c9ae7427dc0aef51918bc30a..bb9fc7f78514b434aba2de25f79fb340
|
||||
|
||||
@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
|
||||
index af1a6cd77e70141be8b6507e1494babaeab3828c..9e7ea6be928fb536c9898a85bb0a9ad40af25bd5 100644
|
||||
index 869a2ee5e0775cc477fb56063dfa4ce4a0c6e3f2..4b58ca48deda0410edf9ad3c9079858d5a31a762 100644
|
||||
--- a/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 {
|
||||
@@ -1013,7 +1013,7 @@ index 3a2261687ec8b3b1f69b89ceeb2cc8cc524ab57a..69375fdb63b9edde3d161bac7a1946a3
|
||||
|
||||
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
|
||||
index a8565816836e5ab55086a6024dc47df277cd7277..a3b871797c3e006f66978a73da01fede52fc8c49 100644
|
||||
index 308debc811b8eb61c8d9d5aeba3e118b9802e401..022f40b66864940652099e91fad18e02aee8c5b2 100644
|
||||
--- a/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 {
|
||||
|
||||
@@ -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
|
||||
index f9c77e5280950af9b6d650041b14c501657b8669..4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b 100644
|
||||
index e0a7a932ebfdec18b28ce5b697400951ea54c0a9..492a7f7d2d0a06c10f11c7cd61edba26e40d9f42 100644
|
||||
--- a/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() {
|
||||
this.lastActionTime = Util.getMillis();
|
||||
@@ -213,10 +213,10 @@ index 3f458ddd4dc04ed28510a212be76bb19e7f6a61e..a36469186f72eccf8c4428d920d0583b
|
||||
if (range < 0.0D || d < range * range) {
|
||||
return true;
|
||||
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
|
||||
+++ 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
|
||||
public void setPlayerListName(String name) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 6845b05225cd679d7b40695455f4ea651507787e..081c35af457bd7a0a2bca8bf6428e26b0e4c2207 100644
|
||||
index 7f0551e70c545f8e77d18b11e836233faeba9161..ffa6466c21ddc6a312a0a3aa400717a481400237 100644
|
||||
--- a/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
|
||||
public String getServerModName() {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 081c35af457bd7a0a2bca8bf6428e26b0e4c2207..3681155a741d0c5632eb0e62c4baec6b96d4c480 100644
|
||||
index ffa6466c21ddc6a312a0a3aa400717a481400237..c1719af753e4efa8fcbd49a801ee86b307d27779 100644
|
||||
--- a/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
|
||||
@@ -16,7 +16,7 @@ index 081c35af457bd7a0a2bca8bf6428e26b0e4c2207..3681155a741d0c5632eb0e62c4baec6b
|
||||
|
||||
public volatile Thread shutdownThread; // 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[2] = tps15.getAverage();
|
||||
// Paper end
|
||||
@@ -25,7 +25,7 @@ index 081c35af457bd7a0a2bca8bf6428e26b0e4c2207..3681155a741d0c5632eb0e62c4baec6b
|
||||
}
|
||||
// Spigot end
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2937,5 +2937,10 @@ public final class CraftServer implements Server {
|
||||
|
||||
@@ -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
|
||||
index 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2b99f5fe5 100644
|
||||
index 492a7f7d2d0a06c10f11c7cd61edba26e40d9f42..2044a297f1820b41c41df9a8b3b0bbff9ae08432 100644
|
||||
--- a/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
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
public boolean purpurClient = false; // Purpur
|
||||
+ public boolean acceptingResourcePack = false; // Purpur
|
||||
|
||||
public boolean isRealPlayer; // Paper
|
||||
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 {
|
||||
this.bukkitPickUpLoot = true;
|
||||
this.maxHealthCache = this.getMaxHealth();
|
||||
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
||||
+ this.spawnInvulnerableTime = world.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
|
||||
}
|
||||
// Paper start - Chunk priority
|
||||
public BlockPos getPointInFront(double inFront) {
|
||||
@@ -1018,6 +1020,12 @@ public class ServerPlayer extends Player {
|
||||
|
||||
// Yes, this doesn't match Vanilla, but it's the best we can do for now.
|
||||
@@ -1003,6 +1005,12 @@ public class ServerPlayer extends Player {
|
||||
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ index 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
@@ -1025,7 +1033,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1010,7 +1018,7 @@ public class ServerPlayer extends Player {
|
||||
} else {
|
||||
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId);
|
||||
|
||||
@@ -46,7 +46,7 @@ index 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2
|
||||
return false;
|
||||
} else {
|
||||
if (source instanceof EntityDamageSource) {
|
||||
@@ -1199,6 +1207,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1184,6 +1192,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -54,7 +54,7 @@ index 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2
|
||||
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) {
|
||||
@@ -62,7 +62,7 @@ index 4c1c5b43b5080ff860ee511d00dc9fdd6cab8b7b..d504c6efe13681f4d62862074d49d7c2
|
||||
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
|
||||
public boolean isImmobile() {
|
||||
@@ -108,7 +108,7 @@ index 0f0a862e3f0702a9e61bcb6b80b0375c01f46da8..3a2b67b459692a30feaec8362e44be55
|
||||
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
|
||||
// Paper end
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1014,6 +1014,8 @@ public abstract class PlayerList {
|
||||
@@ -121,7 +121,7 @@ index 0c05466b1265a22009781d469f8d324e3d42e0d3..dae6334ad480bc6323fa47421a22598e
|
||||
return entityplayer1;
|
||||
}
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2963,5 +2963,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@@ -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
|
||||
index 738ffcc9f8ec1b34e7e1357ae48283e3245d906f..7cc90afe9fe9d2ce95905c19f3bcf026a04c614c 100644
|
||||
index eab96c9b53cd608ff99cdad06721cd19e490ad14..6e6559b7edbabc000ac47617ab064e438a95720d 100644
|
||||
--- a/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
|
||||
|
||||
if (flag1) {
|
||||
@@ -28,7 +28,7 @@ index 738ffcc9f8ec1b34e7e1357ae48283e3245d906f..7cc90afe9fe9d2ce95905c19f3bcf026
|
||||
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
|
||||
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
|
||||
index 2cf4bab37d7789f9d22ae1d9edbdabbe8fa79ab5..408f80e6046a45ff3f7526f603e5c68d222057d4 100644
|
||||
index 3e86f0fa382a80250c9b9a0e97eb6544b597760d..3657c311c2be4c8f9f6c8816c885bce7ed621f0f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1457,6 +1457,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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
|
||||
index 481e474f48d9409f4d8a337b334a17627c9b8ccb..de96a37827fd31f3189e18298e2f9e1370761a30 100644
|
||||
index 2044a297f1820b41c41df9a8b3b0bbff9ae08432..ff3561fa225420bfa92fd081a2f54216845be860 100644
|
||||
--- a/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)) {
|
||||
return false;
|
||||
} 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
|
||||
index fd74cc9c0dab84b176f7da3fbbbdbc8fd3a7e26d..fdda70f216b3805cc6d8105c3d85814a2ae6b6ad 100644
|
||||
index b86c17b5572f8f74bfefd0f3c6f9d25187574392..304f0f372d669e3da2e8131c50f2f1246185a56b 100644
|
||||
--- a/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;
|
||||
@@ -149,7 +149,7 @@ index fd74cc9c0dab84b176f7da3fbbbdbc8fd3a7e26d..fdda70f216b3805cc6d8105c3d85814a
|
||||
protected final float explosionResistance;
|
||||
protected final boolean isRandomlyTicking;
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,6 +97,68 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 610f3ba3a983144b8b7f56e39d1c60bde6f35491..9ff46c460f09bf3e62f958a4a87632d59a310e24 100644
|
||||
index c1719af753e4efa8fcbd49a801ee86b307d27779..963a1998f808061c7e7fcd0d15725e38fe606ce7 100644
|
||||
--- a/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.profiler.popPush("nextTickWait");
|
||||
this.mayHaveDelayedTasks = true;
|
||||
|
||||
@@ -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
|
||||
index ec422c3c233454280132b0364b66d802fb32c006..5af14bd15b134b87f2b8afc35b00f8798d1e8486 100644
|
||||
index 4227272cc2bac2b603e4d477031d4c71641c5748..28df085e8de4ef3433ad65d1a48c81a22070f66e 100644
|
||||
--- a/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() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
@@ -18,7 +18,7 @@ index ec422c3c233454280132b0364b66d802fb32c006..5af14bd15b134b87f2b8afc35b00f879
|
||||
&& this.getY() >= this.level.paperConfig().environment.netherCeilingVoidDamageHeight)) {
|
||||
// Paper end
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2488,7 +2488,7 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
@@ -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
|
||||
index 5af14bd15b134b87f2b8afc35b00f8798d1e8486..381fe41045e2550d5b4ce45973d06e50ec15d8ce 100644
|
||||
index 28df085e8de4ef3433ad65d1a48c81a22070f66e..63cd078dcb4eb4951395ca788ba5c04ffb289902 100644
|
||||
--- a/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) {
|
||||
return false;
|
||||
}
|
||||
@@ -19,7 +19,7 @@ index 5af14bd15b134b87f2b8afc35b00f8798d1e8486..381fe41045e2550d5b4ce45973d06e50
|
||||
// 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
|
||||
index 606fa521d577f832cd7a82c1c6c67414e1a01589..7c2c5b5205c7b422903fb6984f2b411d20189b22 100644
|
||||
index cdaefabf24c59338a0406072ce01029c194700fd..80674ee4882d2d1c67f78c6bc627e34a78d0c4b0 100644
|
||||
--- a/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
|
||||
@@ -35,17 +35,17 @@ index 606fa521d577f832cd7a82c1c6c67414e1a01589..7c2c5b5205c7b422903fb6984f2b411d
|
||||
skull.setPosRaw(headX, headY, headZ);
|
||||
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
|
||||
index 2bc0384728f89b7c64a8beec78a1b77dc063d37b..e4af49d85c8f6265b550c0a7cbea7d495f47150a 100644
|
||||
index 1782d6957fa0290368e443e2e8d7b3c77ac6b8ef..2c9e9d35cd6500aa0ce3b53122067c6a2a15cbf7 100644
|
||||
--- a/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> {
|
||||
ListTag listTag = new ListTag();
|
||||
final java.util.Map<net.minecraft.world.entity.EntityType<?>, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper
|
||||
dataList.getEntities().forEach((entity) -> {
|
||||
+ if (!entity.canSaveToDisk()) return; // Purpur
|
||||
// Paper start
|
||||
final EntityType<?> entityType = entity.getType();
|
||||
final int saveLimit = this.level.paperConfig().chunks.entityPerChunkSaveLimit.getOrDefault(entityType, -1);
|
||||
@@ -112,6 +112,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
|
||||
ListTag listTag = new ListTag();
|
||||
final java.util.Map<net.minecraft.world.entity.EntityType<?>, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper
|
||||
entities.forEach((entity) -> { // diff here: use entities parameter
|
||||
+ if (!entity.canSaveToDisk()) return; // Purpur
|
||||
// Paper start
|
||||
final EntityType<?> entityType = entity.getType();
|
||||
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
|
||||
index d55f7611599b2a339293688861100cb8dae9f6c6..5e99789e5156e8ffbf125e77114c547e1f8e7925 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
|
||||
@@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
|
||||
setListData(vector);
|
||||
}
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -290,7 +290,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -39,7 +39,7 @@ index 79fa0e88f24857b9ff1e02e550d219f5ed6e4cda..db7646f82ccbda375ddb57dbfd4e5c1b
|
||||
// Spigot end
|
||||
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations;
|
||||
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 long lastTick = 0;
|
||||
private long catchupTime = 0;
|
||||
@@ -47,7 +47,7 @@ index 79fa0e88f24857b9ff1e02e550d219f5ed6e4cda..db7646f82ccbda375ddb57dbfd4e5c1b
|
||||
public final RollingAverage tps1 = new RollingAverage(60);
|
||||
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
||||
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;
|
||||
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
|
||||
tickSection = curTime;
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2698,6 +2698,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
@@ -27,10 +27,10 @@ index 73f1211470d9626c82c8345037da19aed9db3f23..40c7bf266eccc43faa081ade9402bee5
|
||||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 544f7ff70486c31e9caddf574265a42c07af3166..67c06003c5f6659409baef7157cceba5a98ac1c2 100644
|
||||
index 0c397d4c1efc7a812ecc02119b9740cbac303a04..dedba0c0da7cd56e94e3e9306178c28a43de01b0 100644
|
||||
--- a/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;
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -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
|
||||
index 8ddbe1b4c19e4736208d17f7f76f52c4c7db354c..7d4475a89475b4c8324733a0f7f6b673501c2267 100644
|
||||
index ff3561fa225420bfa92fd081a2f54216845be860..7f82a22e308fd8240360300a6f799f4b40aeb6fb 100644
|
||||
--- a/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
|
||||
|
||||
public final int getViewDistance() { throw new UnsupportedOperationException("Use PlayerChunkLoader"); } // Paper - placeholder
|
||||
+
|
||||
+ // Purpur start
|
||||
+ public void teleport(Location to) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 381fe41045e2550d5b4ce45973d06e50ec15d8ce..edfea0b848d988f44a6eb6628dea8887098c94f6 100644
|
||||
index 63cd078dcb4eb4951395ca788ba5c04ffb289902..7b7350712996a27c8a10d8d44cc820be9ccb5dfd 100644
|
||||
--- a/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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index edfea0b848d988f44a6eb6628dea8887098c94f6..2ea49b50189e4bc2abfe791bc17e7ea5d9c9e56f 100644
|
||||
index 7b7350712996a27c8a10d8d44cc820be9ccb5dfd..edf291ea8a2bd1a94d4f8e8b6fa0a3f5f68480fa 100644
|
||||
--- a/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) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
this.setPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index edfea0b848d988f44a6eb6628dea8887098c94f6..2ea49b50189e4bc2abfe791bc17e7ea5
|
||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
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() {
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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());
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1699,6 +1699,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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.tickTime = flag1;
|
||||
this.server = minecraftserver;
|
||||
@@ -67,7 +67,7 @@ index daa7c4bd8a3f6c28f02b7117b061f0def29e3743..d4699d7eefafffd2d4e0a03d62d5094f
|
||||
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
|
||||
blockposition1 = blockposition2;
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -71,6 +71,12 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -7,10 +7,10 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim
|
||||
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
|
||||
index 38cb29c646ff496ffaa6553f98a565b71155c464..e077a43cf3f06207234cb445b58dff79eabcb9c6 100644
|
||||
index ed9c8e882739c02d0d04129d251e4c726b422c07..0d32a0bb4bbd34dbeffea95cf8403ae54ef8f227 100644
|
||||
--- a/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);
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@ index 38cb29c646ff496ffaa6553f98a565b71155c464..e077a43cf3f06207234cb445b58dff79
|
||||
private static boolean getBoolean(String key, boolean defaultValue, String... 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
|
||||
index 10be99da087706094e93144252ea666dc1238979..79afd91b958d111468901d49fe85565277839891 100644
|
||||
index 1df637910089c654ffde3ff9f27cd163ef1c346d..c89b9932058541904c5d85c3199cb8b4ca21b8ce 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -292,6 +292,39 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -18,10 +18,10 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
|
||||
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
|
||||
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
|
||||
index b1098555ea7c96815dc85ab440544d9db7fee978..eb12fed7ee6d7d3a5f5b9e99d8f11b38122cac7e 100644
|
||||
index bc8152edd32238025321512cb72bbb62dd2175bc..68db8421f5e80301423c2f1d4394ef1f9cca38be 100644
|
||||
--- a/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();
|
||||
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
|
||||
for (Player entityhuman : world.players()) {
|
||||
@@ -31,7 +31,7 @@ index b1098555ea7c96815dc85ab440544d9db7fee978..eb12fed7ee6d7d3a5f5b9e99d8f11b38
|
||||
}
|
||||
ServerPlayer entityplayer = (ServerPlayer) entityhuman;
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index b99350a3522dc768d1a337c5691923c0b3fbba0e..827bc3d177d1d8e37d936720e939f3fe03b1ff83 100644
|
||||
index 30fab9ee2e549ddf85ce71a74c70199801af5815..284fb0308ccd458804f9dfe9eb10529e32ba0207 100644
|
||||
--- a/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 {
|
||||
@@ -43,15 +43,15 @@ index b99350a3522dc768d1a337c5691923c0b3fbba0e..827bc3d177d1d8e37d936720e939f3fe
|
||||
public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -590,6 +592,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
|
||||
@@ -620,6 +622,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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.getScheduledEvents().tick(this.server, i);
|
||||
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
|
||||
@@ -65,7 +65,7 @@ index b99350a3522dc768d1a337c5691923c0b3fbba0e..827bc3d177d1d8e37d936720e939f3fe
|
||||
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) {
|
||||
this.serverLevelData.setDayTime(timeOfDay);
|
||||
@@ -88,7 +88,7 @@ index b99350a3522dc768d1a337c5691923c0b3fbba0e..827bc3d177d1d8e37d936720e939f3fe
|
||||
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
|
||||
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
|
||||
index 3413c9cbc06c02c1bf52f03905072c804b4c5df1..5afef591d5c61539dfc6b6faf64e392041727d39 100644
|
||||
index 221787d92b1617d6d68227796207b23f1591f6b4..2b30c6176c21fd9115de6ab65d355cac58d1d6eb 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -124,6 +124,13 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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
|
||||
index 0d30b21ec070980b290f23d5becfc61183214146..9296eedcb77dcb7068d7816cd10459d48e93ebba 100644
|
||||
index 7f82a22e308fd8240360300a6f799f4b40aeb6fb..e619420b635d41ed564493ed0b28b3d06fbd86e1 100644
|
||||
--- a/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)) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -27,7 +27,7 @@ index 0d30b21ec070980b290f23d5becfc61183214146..9296eedcb77dcb7068d7816cd10459d4
|
||||
|
||||
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
|
||||
index 878c970e22cc983f21cd6c245993cac1aac09d18..aab918a7d16977d11c7bc2b4befea5d306d2eeb1 100644
|
||||
index 77de311ff7a1a39f1bba10e920f47d240670c28c..42a5b248bbd8f5aca734009d113b9b9976a3e2d9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -114,6 +114,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -17,10 +17,10 @@ index ab0f00128f8c1b13c3eb5787df0c4e26372e0734..14b12cb6967c1c2735cf6a0eafdf6e23
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
public void safeShutdown(boolean flag, boolean isRestarting) {
|
||||
@@ -29,7 +29,7 @@ index 635e02597e8f57f80eadc1ec78d87b9742c01406..10f33aed80fd963accbac1f43fd9b392
|
||||
this.hasLoggedStop = true; // 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
|
||||
index 629024e5c3f480bd50ae2df9dadb72f06a62c3bf..19bf680e222d7f91a0e7f67b29e3a5e38a35c1e7 100644
|
||||
index a18abdcbc51f3b6fda96a4f6dd8674521338f37f..f69d1f11fffbca1ddd297e3793f1bcfe34f2a200 100644
|
||||
--- a/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
|
||||
@@ -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
|
||||
index 6036db50f05e8658f645848e03b276a1352a9424..e8663f8f23f71cfabde12585c6d9bc8215eb21e3 100644
|
||||
index e619420b635d41ed564493ed0b28b3d06fbd86e1..ca7199452cbfc7d18203eae17c417c829c3b39bf 100644
|
||||
--- a/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 boolean purpurClient = false; // Purpur
|
||||
public boolean acceptingResourcePack = false; // Purpur
|
||||
+ private boolean tpsBar = false; // Purpur
|
||||
|
||||
public boolean isRealPlayer; // Paper
|
||||
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
@@ -485,6 +486,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -470,6 +471,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ index 6036db50f05e8658f645848e03b276a1352a9424..e8663f8f23f71cfabde12585c6d9bc82
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -545,6 +547,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -530,6 +532,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
|
||||
|
||||
@@ -68,7 +68,7 @@ index 6036db50f05e8658f645848e03b276a1352a9424..e8663f8f23f71cfabde12585c6d9bc82
|
||||
}
|
||||
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
@@ -83,7 +83,7 @@ index 6036db50f05e8658f645848e03b276a1352a9424..e8663f8f23f71cfabde12585c6d9bc82
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 08aa692b8f80ace6ce552e78476a76220d6d00eb..3d777aae5a91190e1c3bde234bc53a56fdf3c414 100644
|
||||
index d0db1623c8132eb4c9a51b6e452280c56f544bf5..8182e9d69083ade08ae0b9c0512b8b7b48de3655 100644
|
||||
--- a/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 {
|
||||
|
||||
@@ -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
|
||||
index 6ccacd37f7602a759e47433a97ff54ff761c50fc..a639ebe2ea3f7fdc5367e0d2cec7a257c7cb4933 100644
|
||||
index a2d7d2e1ea6596d0a3188169cf8d7295e888c20f..7cc0d8c9dbfe24de4fa2937db9fe6ef8e78bbef7 100644
|
||||
--- a/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 {
|
||||
@@ -144,7 +144,7 @@ index 6ccacd37f7602a759e47433a97ff54ff761c50fc..a639ebe2ea3f7fdc5367e0d2cec7a257
|
||||
// flag1 = this.level.removeBlock(blockposition, false) || flag1;
|
||||
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
|
||||
index c39e6ab8ffb850eb6ba783d237daad7e011a03bc..2207c5a71b8a3c7c0c68388ec744c5272d10ab36 100644
|
||||
index 9cf7cd70492c8769cd3dad1ed57eeff1150bc4e8..ab3c741aa0894a9383833b3aa4a8d45ad46dd013 100644
|
||||
--- a/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
|
||||
@@ -156,7 +156,7 @@ index c39e6ab8ffb850eb6ba783d237daad7e011a03bc..2207c5a71b8a3c7c0c68388ec744c527
|
||||
// CraftBukkit start
|
||||
// this.level.explode(this, this.getX(), this.getEyeY(), this.getZ(), 7.0F, false, explosion_effect);
|
||||
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) {
|
||||
--this.destroyBlocksTick;
|
||||
|
||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2ea49b50189e4bc2abfe791bc17e7ea5d9c9e56f..628ea838c16a964bc233f166edc8105c1543e2f9 100644
|
||||
index edf291ea8a2bd1a94d4f8e8b6fa0a3f5f68480fa..08a5be138c0c0f2d1239e13c5dd1a82a13145938 100644
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index b858ce2ad443f6690dd71e56fb9eea14793df19d..f8b7b12b0030fea6132b426b41adb2180f1b1157 100644
|
||||
index ca7199452cbfc7d18203eae17c417c829c3b39bf..743a5cf750cc56856477cf2b4d75ceb241ef1eb6 100644
|
||||
--- a/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);
|
||||
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
|
||||
this.unsetRemoved();
|
||||
@@ -17,10 +17,10 @@ index b858ce2ad443f6690dd71e56fb9eea14793df19d..f8b7b12b0030fea6132b426b41adb218
|
||||
// CraftBukkit end
|
||||
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
|
||||
index 628ea838c16a964bc233f166edc8105c1543e2f9..51fd2d02236da23a57773086313fee8183817346 100644
|
||||
index 08a5be138c0c0f2d1239e13c5dd1a82a13145938..33050a4ad2448a2d96b9633302a057f15360ea38 100644
|
||||
--- a/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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 23e5ab0e3b99659d30d8139dc005a714741a97c7..6c0bcbf1a2a0ccd3efa4827cd04289eb3e1f41e8 100644
|
||||
index 0363ba7cd8aa6c2f585355d2c8a86263277d6cfd..c77a9ce015cb219d9ecd68223858dbb775a4ea9b 100644
|
||||
--- a/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
|
||||
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
|
||||
index 1329de5d3e6294d2eb7b6852b8cad19f0f4dba77..6818618cd2f702e894ac4098b4eb5afc7664408e 100644
|
||||
index d5fc11b01fcd064562173fb35856686f6977144e..0c3fe609a9d4c4c485b1a11e6ec39c06464cda05 100644
|
||||
--- a/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
|
||||
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
|
||||
index 570e90dd3cd3bbd3078893fb972f7018b516f3e0..3624304329d0a6728c0e4981bd9dcfb350edaab5 100644
|
||||
index 3b80759754a200d2dbbca63e0cfd25aa126b4641..41a4abb7c676285435f9a744ae3f50b9c80c8cbd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -914,6 +914,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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
|
||||
index 6f36354c424f91e7bfbb4619ff03a32d69b9f595..ad2ac7b21296c6995b548fd3c4bf128cd0eb809c 100644
|
||||
index 743a5cf750cc56856477cf2b4d75ceb241ef1eb6..5d989ef08080bc6622b64b1eea8ae63ac59dfa4d 100644
|
||||
--- a/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);
|
||||
});
|
||||
|
||||
|
||||
@@ -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
|
||||
index 827bc3d177d1d8e37d936720e939f3fe03b1ff83..a37365e3cd58e4a39060cf1145a5ae7eb735955a 100644
|
||||
index 284fb0308ccd458804f9dfe9eb10529e32ba0207..9dc317d471ce6eab24e0ebec729cea1dbed8b2ec 100644
|
||||
--- a/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);
|
||||
long j;
|
||||
|
||||
@@ -18,7 +18,7 @@ index 827bc3d177d1d8e37d936720e939f3fe03b1ff83..a37365e3cd58e4a39060cf1145a5ae7e
|
||||
j = this.levelData.getDayTime() + 24000L;
|
||||
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
|
||||
index c659ff37eeae38ab21ad808f35c3452d27a377b3..6a82355509fdb04acc920b21c0c76328999e48e8 100644
|
||||
index 9c925dbee68ae33ae98436a5bb70d7fc5b55fe23..23a95b87cf7b92bbb2b34975e49d1d0d65e5e9b5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -356,6 +356,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 51fd2d02236da23a57773086313fee8183817346..8d97593403198941ff6775dd8576a0e4ea8eb83e 100644
|
||||
index 33050a4ad2448a2d96b9633302a057f15360ea38..7f3fc8149b1cf42ce9f92717dcf9aea7b25d60dc 100644
|
||||
--- a/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() {
|
||||
@@ -18,7 +18,7 @@ index 51fd2d02236da23a57773086313fee8183817346..8d97593403198941ff6775dd8576a0e4
|
||||
|
||||
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
|
||||
index c318a83363048e052333e98705f94217039662c4..8820cc6ed4ab7de2d0574575d8168ff4f85a1ea1 100644
|
||||
index ebed5983846bb4cfde5ecb06f99b3df8f514b6f3..e11b9c477dabe9c5e00bf41739b0fe52f5ef2093 100644
|
||||
--- a/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 {
|
||||
|
||||
@@ -17,10 +17,10 @@ index 897e761be8c1f79562f54101173fbba7656a37ec..ce42e91a95ccd42deff65e1942b918e9
|
||||
// Paper end
|
||||
}
|
||||
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
|
||||
+++ 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();
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
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
|
||||
index e9a931ce31257ad1a29c15d1619e5f80865f151b..9af78fde6b4d75cf7656c575b98e1e174f599e22 100644
|
||||
index 7f3fc8149b1cf42ce9f92717dcf9aea7b25d60dc..3b173754e35f4ec9deaa84c7d3e3467ca06521d3 100644
|
||||
--- a/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() {
|
||||
return true;
|
||||
}
|
||||
@@ -211,7 +211,7 @@ index 47e4f62d177c14ceffeb13a3fee5bfa342da7184..bcbce83f9e304809fb946f80c9dd32c4
|
||||
|
||||
@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
|
||||
index f7689ba01ec6d7f3483be831026e0c5f995459e9..836ca1a47524088c78c6c72a9479c7ffabfbee10 100644
|
||||
index 93ce4f81ca03c003596f86810d4a869502c76242..67b940682dc84a8843119e1e990a69aa9dc9c0c4 100644
|
||||
--- a/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 {
|
||||
|
||||
@@ -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
|
||||
index 4e5b2704f22ac8e94c8ec3b7bfe1e755207eb8cb..a49cc52d5181c56159cbab14c5bec2d7e55c5396 100644
|
||||
index 3b173754e35f4ec9deaa84c7d3e3467ca06521d3..01b5629ff8a39f761402d8a8d0e71f9cfc7ab7dd 100644
|
||||
--- a/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();
|
||||
|
||||
@@ -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
|
||||
index a37365e3cd58e4a39060cf1145a5ae7eb735955a..cf89dde659141a2a78e9b2d2b007b4c54db4b1ed 100644
|
||||
index 9dc317d471ce6eab24e0ebec729cea1dbed8b2ec..a7820becea1e46154975f4cd7b8e8d24f9f0e4ad 100644
|
||||
--- a/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);
|
||||
}, (blockposition1) -> {
|
||||
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;
|
||||
|
||||
@@ -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
|
||||
index cf89dde659141a2a78e9b2d2b007b4c54db4b1ed..4b55a46033089e27462b7a8d87cc5631cbcee6a6 100644
|
||||
index a7820becea1e46154975f4cd7b8e8d24f9f0e4ad..66ab18b0654b1408fae1a5948290d44dd888b4b4 100644
|
||||
--- a/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.getServer().isSingleplayer() || this.getServer().isPublished()) {
|
||||
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
|
||||
@@ -17,18 +17,18 @@ index 6a044a9c97db9bba75f8dbbaa8515e3167841855..edd378813873ed367784379b0f1666d1
|
||||
|
||||
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
|
||||
index 2e886f8f56cda44d74bac7028236273e811d4473..ff4c7dcb2734b120026b19bd63d8fdcd5cad12f1 100644
|
||||
index 93afb1cb8c0980a2a66590a27de28fd79595635b..40dc37c7acabc8eb601035d5a61cf09ef0c96ccd 100644
|
||||
--- a/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 acceptingResourcePack = false; // Purpur
|
||||
private boolean tpsBar = false; // Purpur
|
||||
+ private boolean compassBar = false; // Purpur
|
||||
|
||||
public boolean isRealPlayer; // Paper
|
||||
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
@@ -487,6 +488,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -472,6 +473,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
|
||||
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
|
||||
@@ -36,7 +36,7 @@ index 2e886f8f56cda44d74bac7028236273e811d4473..ff4c7dcb2734b120026b19bd63d8fdcd
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -548,6 +550,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -533,6 +535,7 @@ public class ServerPlayer extends Player {
|
||||
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
|
||||
|
||||
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
|
||||
@@ -2627,5 +2630,13 @@ public class ServerPlayer extends Player {
|
||||
@@ -2610,5 +2613,13 @@ public class ServerPlayer extends Player {
|
||||
public void tpsBar(boolean tpsBar) {
|
||||
this.tpsBar = tpsBar;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index 01397e9daf03a308707cc7e2bb85db68137d3021..0dd31e45252d54b8bfa3645b25c984de30934a0e 100644
|
||||
index bf608c0bad8f1cd99f27b610c0d6dfa4d638374d..3f0b62c733c62b8d1a9fc6494d787c9865fefadb 100644
|
||||
--- a/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
|
||||
@@ -16,9 +16,9 @@ index 01397e9daf03a308707cc7e2bb85db68137d3021..0dd31e45252d54b8bfa3645b25c984de
|
||||
+ if (!this.isSilent() && level.purpurConfig.witherPlaySpawnSound) {
|
||||
// CraftBukkit start - Use relative location for far away sounds
|
||||
// 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
|
||||
index c2d73249ec7cb74a318d2c33159ad6aeb713bfed..504487696324b53cebdb10e635c9f7aae733c028 100644
|
||||
index d7c5764ac50f313c691667bd8beb6f7067da67d0..0c21e0ca6da3819d41f55fe4b2f1539efb5eaec1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2554,6 +2554,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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
|
||||
index 4b55a46033089e27462b7a8d87cc5631cbcee6a6..9d22e2acfcec99f7cf9e763c3a185479c970f552 100644
|
||||
index 66ab18b0654b1408fae1a5948290d44dd888b4b4..0c23de7ed20ac3be4a2462a246b5f746706226c6 100644
|
||||
--- a/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() {
|
||||
// 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
|
||||
// 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....
|
||||
@@ -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);
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -25,7 +25,7 @@ index 4b55a46033089e27462b7a8d87cc5631cbcee6a6..9d22e2acfcec99f7cf9e763c3a185479
|
||||
// CraftBukkit start
|
||||
// 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
|
||||
index 55733b718b077d90802e2bdace3dbcab76a166f2..0ec0db28bf3fa246a5f57c8b36fd8a43e8a72cba 100644
|
||||
index c30d9c42b9d973976c40be5ddf1c529c6e565eb3..115f026e425a71eaebaf20c491b61503a590f6f6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -141,6 +141,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index d8e0bac3de2f7810d7af82fe6c5c00870fef3155..d950b72b7287b857cb849c1a2fc931fa7d30f25f 100644
|
||||
index fa2812d94045e5d49fdd9990eac918975c9fcee5..2030779f7c430a6d30679935c108d2deb21a1cef 100644
|
||||
--- a/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
|
||||
@@ -16,7 +16,7 @@ index d8e0bac3de2f7810d7af82fe6c5c00870fef3155..d950b72b7287b857cb849c1a2fc931fa
|
||||
|
||||
public volatile Thread shutdownThread; // 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");
|
||||
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Shutdown and don't bother finishing
|
||||
MinecraftTimings.stopServer(); // Paper
|
||||
@@ -32,7 +32,7 @@ index d8e0bac3de2f7810d7af82fe6c5c00870fef3155..d950b72b7287b857cb849c1a2fc931fa
|
||||
if (this.server != null) {
|
||||
this.server.disablePlugins();
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 19bf680e222d7f91a0e7f67b29e3a5e38a35c1e7..ac860bf07d0fca29adad3de79396055f957a64e9 100644
|
||||
index f69d1f11fffbca1ddd297e3793f1bcfe34f2a200..a9239a705fa7c9bd8d2fe7990cc456c5f820b604 100644
|
||||
--- a/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
|
||||
|
||||
@@ -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
|
||||
index ff4c7dcb2734b120026b19bd63d8fdcd5cad12f1..3b5b040cf3cdbb3798972f73b75e8ab4753987db 100644
|
||||
index 40dc37c7acabc8eb601035d5a61cf09ef0c96ccd..4abac5e3ba5dcf27248bda31d95c85bb5e23c19d 100644
|
||||
--- a/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
|
||||
public void openTextEdit(SignBlockEntity sign) {
|
||||
|
||||
@@ -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
|
||||
index 78297c4d2469bb85d3b4aecc683eadb3c2bef54f..873b26b4505708ca0423e797678b732be905e81f 100644
|
||||
index 01b5629ff8a39f761402d8a8d0e71f9cfc7ab7dd..fd48485c7baac356da7498a14a28749a97eba7c0 100644
|
||||
--- a/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 {
|
||||
@@ -16,7 +16,7 @@ index 78297c4d2469bb85d3b4aecc683eadb3c2bef54f..873b26b4505708ca0423e797678b732b
|
||||
public boolean hurtMarked;
|
||||
protected Vec3 stuckSpeedMultiplier;
|
||||
@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,
|
||||
false, false, null, null);
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index d950b72b7287b857cb849c1a2fc931fa7d30f25f..ad75fb1e1d8c91b46c98fc666f12b72fcdfb0df9 100644
|
||||
index 2030779f7c430a6d30679935c108d2deb21a1cef..7836fe7ec1afde26989451e51a7ab63195e5af87 100644
|
||||
--- a/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) {
|
||||
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
|
||||
@@ -17,7 +17,7 @@ index d950b72b7287b857cb849c1a2fc931fa7d30f25f..ad75fb1e1d8c91b46c98fc666f12b72f
|
||||
this.hasLoggedStop = true; // 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
|
||||
index ac860bf07d0fca29adad3de79396055f957a64e9..5de95ba778e4a0cd1467e7392aa80eda1bd21a03 100644
|
||||
index a9239a705fa7c9bd8d2fe7990cc456c5f820b604..96c51b1f5103567c29d7da93f654cc5ddfea6a4d 100644
|
||||
--- a/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
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 9d22e2acfcec99f7cf9e763c3a185479c970f552..0df97cf932f8bd315e3ae645368ae8df6c51fc25 100644
|
||||
index 0c23de7ed20ac3be4a2462a246b5f746706226c6..682a29b24b986c832ce5c6f708fc78c0515aa824 100644
|
||||
--- a/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
|
||||
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
|
||||
// Paper start
|
||||
@@ -18,7 +18,7 @@ index 9d22e2acfcec99f7cf9e763c3a185479c970f552..0df97cf932f8bd315e3ae645368ae8df
|
||||
}
|
||||
// Paper end
|
||||
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
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -422,6 +422,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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
|
||||
index 5fdef81245cb3cc686225cfd7c5ce13b011503ef..cec58f0d7ac6bf73a0f7b418a595704b8b807425 100644
|
||||
index 9ac645e08275bb7943dd1edcd635c179c0620d89..4748828f84f7d5f2dd79945dd65f3fa55cd43010 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 1b6ae90acffa06502902e11473b65c8431616b05..4b9d57a63a0eb922f77d34e4d2d7f3b0aa364337 100644
|
||||
index 72ed25022d5ea1074304be3c72b23882b8f0f88a..68eb990c7d461c611310419c1eefaed79a7c8538 100644
|
||||
--- a/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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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.stuckSpeedMultiplier = Vec3.ZERO;
|
||||
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
|
||||
index a0e3323d35291b3d7980fe83ec5f27193b4fa79a..2a3ae8ba73a547d02e7a635321e4534de7daafdc 100644
|
||||
index a753df2337dcd5a27c5dae26e93a5a8e5db5e575..f6316a9658241beab425ea51a5dfcc32d578d5ac 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -206,9 +206,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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
|
||||
|
||||
public ChatDecorator getChatDecorator() {
|
||||
|
||||
@@ -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
|
||||
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -234,7 +234,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -18,7 +18,7 @@ index 1fef8e7e8d3fda031cc0cd8573edcae1ab8d06d3..f018d4bec5e09118b99933b58efe24da
|
||||
private int playerIdleTimeout;
|
||||
public final long[] tickTimes;
|
||||
// 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() {
|
||||
|
||||
@@ -4,64 +4,49 @@ Date: Fri, 1 Jul 2022 04:03:37 -0500
|
||||
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
|
||||
index e9070b6158e7e8c2dd33a9dcb20898a2f0d86e48..c8c019aea915ebb089f2ebe45bbcd1b5317c629f 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java
|
||||
@@ -89,7 +89,7 @@ public final class ChunkLoadTask extends ChunkTask {
|
||||
|
||||
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
|
||||
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 6513438d01a3c7955e61a77b57385baf487aeed8..75bcbfdd657f6be95d76a416a8a32f9cd562c931 100644
|
||||
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
@@ -901,9 +901,9 @@ public final class ChunkHolderManager {
|
||||
}
|
||||
|
||||
private void complete(final ChunkSerializer.InProgressChunkHolder holder) {
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java
|
||||
index 0d245ad7d19b11e946e0b5b43bf2181292297210..49f3a4e66ea38e80f8096071003500513b750584 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java
|
||||
@@ -34,7 +34,7 @@ public final class ChunkSaveTask extends ChunkTask {
|
||||
// can be executed asynchronously or synchronously
|
||||
final CompoundTag compound;
|
||||
public boolean processTicketUpdates() {
|
||||
- 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
|
||||
return this.processTicketUpdates(true, true, null);
|
||||
- } 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
|
||||
}
|
||||
|
||||
- try (Timing ignored = this.world.timings.chunkUnloadDataSave.startTimingIfSync()) {
|
||||
+ try /*(Timing ignored = this.world.timings.chunkUnloadDataSave.startTimingIfSync())*/ { // Purpur
|
||||
compound = ChunkSerializer.saveChunk(this.world, this.chunk, this.asyncSaveData);
|
||||
} catch (final Throwable ex) {
|
||||
// has a plugin modified something it should not have and made us CME?
|
||||
@@ -43,7 +43,7 @@ public final class ChunkSaveTask extends ChunkTask {
|
||||
// Note: We add to the server thread queue here since this is what the server will drain tasks from
|
||||
// when waiting for chunks
|
||||
ChunkTaskManager.queueChunkWaitTask(() -> {
|
||||
- try (Timing ignored = this.world.timings.chunkUnloadDataSave.startTiming()) {
|
||||
+ //try (Timing ignored = this.world.timings.chunkUnloadDataSave.startTiming()) { // Purpur
|
||||
CompoundTag data = PaperFileIOThread.FAILURE_VALUE;
|
||||
private static final ThreadLocal<List<ChunkProgressionTask>> CURRENT_TICKET_UPDATE_SCHEDULING = new ThreadLocal<>();
|
||||
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
|
||||
index 9a4ec0f1fb3bac0e84e6bd3aaeb77f44e248aadb..4d285d7c0cbc0a84a11e0c403dc91a9626757f06 100644
|
||||
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
|
||||
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
|
||||
@@ -1747,7 +1747,7 @@ public final class NewChunkHolder {
|
||||
boolean canSavePOI = !(chunk instanceof LevelChunk levelChunk && levelChunk.mustNotSave) && (poi != null && poi.isDirty());
|
||||
boolean canSaveEntities = entities != null;
|
||||
|
||||
try {
|
||||
@@ -54,7 +54,7 @@ public final class ChunkSaveTask extends ChunkTask {
|
||||
}
|
||||
- try (co.aikar.timings.Timing ignored = this.world.timings.chunkSave.startTiming()) { // Paper
|
||||
+ //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);
|
||||
- }
|
||||
+ // } // Purpur
|
||||
});
|
||||
|
||||
return; // the main thread will now complete the data
|
||||
return executedUnloadTask | canSaveChunk | canSaveEntities | canSavePOI;
|
||||
}
|
||||
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
|
||||
+++ 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
|
||||
public void postProcess() {
|
||||
@@ -103,10 +88,10 @@ index 8bc0cb9ad5bb4e76d962ff54305e2c08e279a17b..e8efbbeece7e866c6c4d7489677d2d9e
|
||||
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
|
||||
index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d72f253cc 100644
|
||||
index bc80783d36d46fb138bfa6f2e5e84679db0a68c1..7063ef7d547714d6647290e36da3a07b3b946871 100644
|
||||
--- a/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 tickServer(BooleanSupplier shouldKeepTicking) {
|
||||
@@ -125,7 +110,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
|
||||
// Paper end
|
||||
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
|
||||
io.papermc.paper.util.CachedLists.reset(); // Paper
|
||||
// Paper start - move executeAll() into full server tick timing
|
||||
@@ -137,7 +122,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
|
||||
// Paper end
|
||||
// Paper start
|
||||
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.profiler.pop();
|
||||
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.
|
||||
// Paper start - optimize time updates
|
||||
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
|
||||
@@ -184,7 +169,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
|
||||
|
||||
this.isIteratingOverLevels = true; // Paper
|
||||
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");
|
||||
|
||||
try {
|
||||
@@ -201,7 +186,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
|
||||
} catch (Throwable throwable) {
|
||||
// Spigot Start
|
||||
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.profiler.popPush("connection");
|
||||
@@ -232,7 +217,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -241,7 +226,7 @@ index f018d4bec5e09118b99933b58efe24da995fde75..d1987cfa0b1bd60cb6d3145d9522216d
|
||||
try {
|
||||
for (;;) {
|
||||
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 {
|
||||
@@ -264,10 +249,10 @@ index 00a50196f6a4768d84acfbbeec79a0753308f091..30093cd8bd35f0bbc8f26eca370622ee
|
||||
i = this.context.runTopCommand(function, source);
|
||||
} finally {
|
||||
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
|
||||
+++ 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() {
|
||||
@@ -276,7 +261,7 @@ index 5de95ba778e4a0cd1467e7392aa80eda1bd21a03..0bfdc4247a651f6c1caf7a95114be68b
|
||||
// Paper start - use proper queue
|
||||
ConsoleInput servercommand;
|
||||
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
|
||||
}
|
||||
|
||||
@@ -286,10 +271,10 @@ index 5de95ba778e4a0cd1467e7392aa80eda1bd21a03..0bfdc4247a651f6c1caf7a95114be68b
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ 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) {
|
||||
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
|
||||
|
||||
@@ -309,91 +294,10 @@ index cec58f0d7ac6bf73a0f7b418a595704b8b807425..56ec684bac1c29c99bac117e38d82db2
|
||||
}
|
||||
|
||||
gameprofilerfiller.pop();
|
||||
@@ -1161,7 +1161,7 @@ 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
|
||||
@@ -1241,24 +1241,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
|
||||
// Paper start - optimised tracker
|
||||
private final void processTrackQueue() {
|
||||
- this.level.timings.tracker1.startTiming();
|
||||
+ //this.level.timings.tracker1.startTiming(); // Purpur
|
||||
try {
|
||||
@@ -419,7 +323,7 @@ index cec58f0d7ac6bf73a0f7b418a595704b8b807425..56ec684bac1c29c99bac117e38d82db2
|
||||
}
|
||||
}
|
||||
// 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> list1 = this.level.players();
|
||||
ObjectIterator objectiterator = this.entityMap.values().iterator();
|
||||
@@ -428,7 +332,7 @@ index cec58f0d7ac6bf73a0f7b418a595704b8b807425..56ec684bac1c29c99bac117e38d82db2
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c2689ae00ab 100644
|
||||
index 7266e6703d5cd0fea90ec88c74a7d4567f2420ae..157efbbc57f1b5d92f296a70823c75b6d01ac065 100644
|
||||
--- a/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 {
|
||||
com.destroystokyo.paper.io.chunk.ChunkTaskManager.pushChunkWait(this.level, x1, z1);
|
||||
@@ -449,10 +449,10 @@ public class ServerChunkCache extends ChunkSource {
|
||||
io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.pushChunkWait(this.level, x1, z1); // Paper - rewrite chunk system
|
||||
// Paper end
|
||||
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 // Purpur
|
||||
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 // Purpur
|
||||
this.distanceManager.clearPriorityTickets(pair); // Paper - Chunk priority
|
||||
this.distanceManager.clearUrgent(pair); // Paper - Chunk priority
|
||||
} // Paper
|
||||
@@ -650,7 +650,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||
public boolean runDistanceManagerUpdates() {
|
||||
if (distanceManager.delayDistanceManagerTick) return false; // Paper - Chunk priority
|
||||
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 {
|
||||
ichunkaccess = (ChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> {
|
||||
return ichunkaccess1;
|
||||
@@ -600,17 +600,17 @@ public class ServerChunkCache extends ChunkSource {
|
||||
|
||||
public void save(boolean flush) {
|
||||
this.runDistanceManagerUpdates();
|
||||
@@ -506,7 +392,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -723,22 +723,22 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -640,22 +640,22 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@Override
|
||||
public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) {
|
||||
this.level.getProfiler().push("purge");
|
||||
@@ -535,7 +421,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
|
||||
this.level.getProfiler().pop();
|
||||
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
|
||||
|
||||
gameprofilerfiller.push("naturalSpawnCount");
|
||||
@@ -544,7 +430,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
|
||||
int l = this.distanceManager.getNaturalSpawnChunkCount();
|
||||
// Paper start - per player mob spawning
|
||||
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
|
||||
}
|
||||
// Paper end
|
||||
@@ -559,7 +445,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
|
||||
|
||||
// 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
|
||||
@@ -581,7 +467,7 @@ index 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c26
|
||||
if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) {
|
||||
ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone();
|
||||
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 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
|
||||
index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069ca184123 100644
|
||||
index 682a29b24b986c832ce5c6f708fc78c0515aa824..d3b93712cd999d61f66a8ffefd9122ffc1596ba1 100644
|
||||
--- a/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.tickTime();
|
||||
gameprofilerfiller.popPush("tickPending");
|
||||
@@ -603,7 +489,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
if (!this.isDebug()) {
|
||||
j = this.getGameTime();
|
||||
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);
|
||||
gameprofilerfiller.pop();
|
||||
}
|
||||
@@ -631,7 +517,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
this.handlingTick = false;
|
||||
gameprofilerfiller.pop();
|
||||
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) {
|
||||
gameprofilerfiller.push("entities");
|
||||
@@ -640,7 +526,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
if (this.dragonFight != null) {
|
||||
gameprofilerfiller.push("dragonFight");
|
||||
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
|
||||
@@ -649,7 +535,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
this.entityTickList.forEach((entity) -> {
|
||||
if (!entity.isRemoved()) {
|
||||
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();
|
||||
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
|
||||
gameprofilerfiller.popPush("randomTick");
|
||||
@@ -669,7 +555,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
if (randomTickSpeed > 0) {
|
||||
LevelChunkSection[] sections = chunk.getSections();
|
||||
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
|
||||
@@ -678,7 +564,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
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
|
||||
// Paper start- timings
|
||||
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
|
||||
@@ -689,7 +575,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
// Paper end - timings
|
||||
entity.setOldPosAndRot();
|
||||
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
|
||||
} else { entity.inactiveTick(); } // Paper - EAR 2
|
||||
this.getProfiler().pop();
|
||||
@@ -698,7 +584,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
Iterator iterator = entity.getPassengers().iterator();
|
||||
|
||||
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)) {
|
||||
// Paper - EAR 2
|
||||
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger);
|
||||
@@ -709,7 +595,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
// Paper end
|
||||
passenger.setOldPosAndRot();
|
||||
++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);
|
||||
}
|
||||
|
||||
@@ -718,7 +604,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
}
|
||||
} else {
|
||||
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()));
|
||||
}
|
||||
|
||||
@@ -736,7 +622,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
|
||||
// Copied from save()
|
||||
// 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());
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -745,7 +631,7 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
}
|
||||
// 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) {
|
||||
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
|
||||
@@ -754,20 +640,21 @@ index 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069
|
||||
if (progressListener != null) {
|
||||
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"));
|
||||
}
|
||||
|
||||
- timings.worldSaveChunks.startTiming(); // Paper
|
||||
+ //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
|
||||
- }// Paper
|
||||
+ //timings.worldSaveChunks.stopTiming(); // Paper // Purpur
|
||||
+ //}// Paper // Purpur
|
||||
if (flush) {
|
||||
this.entityManager.saveAll();
|
||||
} else {
|
||||
// Paper - rewrite chunk system - entity saving moved into ChunkHolder
|
||||
|
||||
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 9519e11fef244eb1b286b43b857d3f41865784c4..7a0adbdcadd20269e92cb698b569f04b169dade4 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -800,7 +687,7 @@ index 9519e11fef244eb1b286b43b857d3f41865784c4..7a0adbdcadd20269e92cb698b569f04b
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 9ed964da70a17afbe26c513f67b2d911f2c9e7c5..138b2c1a21b9ceb60030d10e24c78e09533937a0 100644
|
||||
index ae888c565e39fab22224cba96a0d8836a747738a..3fb2323c89d04f1a545897a1e67f6f637f5ab9c1 100644
|
||||
--- a/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 {
|
||||
@@ -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
|
||||
index c5dac52a23d9df26cacb869fd841da9bf518c313..bd89e00f707b6ba297081c9aacb3c5463e80063e 100644
|
||||
index 0c9f7f9ed3e24ddc6b963063723feb56422843c5..93711ef7df591ab0f50b8f0f7798f938eeb0f3b3 100644
|
||||
--- a/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();
|
||||
|
||||
gameprofilerfiller.push("blockEntities");
|
||||
@@ -909,7 +780,7 @@ index c5dac52a23d9df26cacb869fd841da9bf518c313..bd89e00f707b6ba297081c9aacb3c546
|
||||
// Spigot start
|
||||
// Iterator iterator = this.blockEntityTickers.iterator();
|
||||
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);
|
||||
|
||||
@@ -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
|
||||
index 6fbf26eb7da8df2f0a4158ff9f12022518ada8e3..ab024c5315c0a7cb2f80d5d7b251f6a3531879b3 100644
|
||||
index df2786516fe641edff7bbe9fe0665bf07502d830..b4460ed16ba30173ad4a5fe8e405e1c34251912f 100644
|
||||
--- a/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 {
|
||||
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(this.bukkitChunk, this.needsDecoration));
|
||||
@@ -927,7 +927,7 @@ public class LevelChunk extends ChunkAccess {
|
||||
this.chunkHolder.getEntityChunk().callEntitiesLoadEvent(); // Paper - rewrite chunk system
|
||||
|
||||
if (this.needsDecoration) {
|
||||
- try (co.aikar.timings.Timing ignored = this.level.timings.chunkLoadPopulate.startTiming()) { // Paper
|
||||
@@ -953,7 +824,7 @@ index 6fbf26eb7da8df2f0a4158ff9f12022518ada8e3..ab024c5315c0a7cb2f80d5d7b251f6a3
|
||||
this.needsDecoration = false;
|
||||
java.util.Random random = new java.util.Random();
|
||||
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));
|
||||
@@ -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();
|
||||
|
||||
gameprofilerfiller.push(this::getType);
|
||||
@@ -971,7 +842,7 @@ index 6fbf26eb7da8df2f0a4158ff9f12022518ada8e3..ab024c5315c0a7cb2f80d5d7b251f6a3
|
||||
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
|
||||
|
||||
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
|
||||
// Spigot start
|
||||
} finally {
|
||||
|
||||
@@ -39,7 +39,7 @@ index edd378813873ed367784379b0f1666d1ccf2194d..eb4dac2239592d680ef31edf47f1ab66
|
||||
|
||||
return b0;
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -328,13 +328,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -62,7 +62,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
this.status = new ServerStatus();
|
||||
this.random = RandomSource.create();
|
||||
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
|
||||
// CraftBukkit end
|
||||
@@ -74,7 +74,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
|
||||
MinecraftServer.LOGGER.info("Stopping server");
|
||||
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
|
||||
|
||||
@@ -98,7 +98,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
this.mayHaveDelayedTasks = true;
|
||||
// Purpur start - tps catchup
|
||||
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
|
||||
this.waitUntilNextTick();
|
||||
@@ -109,7 +109,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
this.isReady = true;
|
||||
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
|
||||
@@ -118,7 +118,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
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) {
|
||||
playerSaveInterval = autosavePeriod;
|
||||
}
|
||||
@@ -127,7 +127,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0;
|
||||
try {
|
||||
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 {
|
||||
this.isSaving = false;
|
||||
}
|
||||
@@ -136,7 +136,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
// Paper end
|
||||
io.papermc.paper.util.CachedLists.reset(); // Paper
|
||||
// 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;
|
||||
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
|
||||
// Paper end
|
||||
@@ -145,7 +145,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
long l = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i;
|
||||
|
||||
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
|
||||
|
||||
this.frameTimer.logFrameDuration(i1 - i);
|
||||
@@ -154,7 +154,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
org.spigotmc.WatchdogThread.tick(); // Spigot
|
||||
//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
|
||||
this.server.getScheduler().mainThreadHeartbeat(this.tickCount); // CraftBukkit
|
||||
//MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper // Purpur
|
||||
@@ -168,7 +168,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
//Iterator iterator = this.getAllLevels().iterator(); // Paper - moved down
|
||||
|
||||
// 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
|
||||
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 {
|
||||
//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);
|
||||
}
|
||||
|
||||
@@ -214,7 +214,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
|
||||
this.playerList.tick();
|
||||
//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();
|
||||
}
|
||||
|
||||
@@ -223,7 +223,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
|
||||
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
|
||||
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
|
||||
|
||||
@@ -232,7 +232,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
}
|
||||
|
||||
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() {
|
||||
@@ -241,7 +241,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
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
|
||||
|
||||
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.executeBlocking(() -> {
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -303,7 +303,7 @@ index d1987cfa0b1bd60cb6d3145d9522216d72f253cc..d7c77908ba7f0a0c00c06744d1ee0c1a
|
||||
}
|
||||
|
||||
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() {
|
||||
@@ -371,10 +371,10 @@ index 30093cd8bd35f0bbc8f26eca370622ee12a046b6..2986f110348b376bcdc64fa39b688855
|
||||
|
||||
++j;
|
||||
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
|
||||
+++ 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) {
|
||||
@@ -399,41 +399,11 @@ index 56ec684bac1c29c99bac117e38d82db2b4dc20e8..e4cec79dc5911e1f000c63fe333eea04
|
||||
}
|
||||
|
||||
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
|
||||
index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd83e07bbc1 100644
|
||||
index 157efbbc57f1b5d92f296a70823c75b6d01ac065..cd5533c3c53215c9cc4be0b9097d76efbf5bd0c1 100644
|
||||
--- a/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;
|
||||
}
|
||||
// Paper end
|
||||
@@ -445,33 +415,15 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
|
||||
long k = ChunkPos.asLong(x, z);
|
||||
|
||||
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"); // Purpur
|
||||
CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> completablefuture = this.getChunkFutureMainThread(x, z, leastStatus, create, true); // Paper
|
||||
ServerChunkCache.MainThreadExecutor chunkproviderserver_b = this.mainThreadProcessor;
|
||||
|
||||
@@ -569,13 +569,13 @@ 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 {
|
||||
@@ -627,24 +627,24 @@ public class ServerChunkCache extends ChunkSource {
|
||||
// CraftBukkit start - modelled on below
|
||||
public void purgeUnload() {
|
||||
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) {
|
||||
//this.level.timings.chunks.startTiming(); // Paper - timings // Purpur
|
||||
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
|
||||
@@ -514,7 +466,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
|
||||
this.clearCache();
|
||||
}
|
||||
|
||||
@@ -785,14 +785,14 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -702,14 +702,14 @@ public class ServerChunkCache extends ChunkSource {
|
||||
}
|
||||
// Paper end - optimize isOutisdeRange
|
||||
LevelData worlddata = this.level.getLevelData();
|
||||
@@ -532,7 +484,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
|
||||
//this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur
|
||||
int l = this.distanceManager.getNaturalSpawnChunkCount();
|
||||
// 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.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
|
||||
|
||||
// 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
|
||||
//this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur
|
||||
@@ -567,7 +519,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
|
||||
//this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur
|
||||
if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) {
|
||||
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
|
||||
@@ -576,7 +528,7 @@ index 9e796ab10152d630fe78ec247d6b0c2689ae00ab..7d8f7ecad22cdcd39270af79af8e0cd8
|
||||
// Paper end - use set of chunks requiring updates, rather than iterating every single one loaded
|
||||
// Paper start - controlled flush for entity tracker packets
|
||||
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
|
||||
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
|
||||
index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30defa47a6 100644
|
||||
index d3b93712cd999d61f66a8ffefd9122ffc1596ba1..9f8d89e45c9d15f07e9b5c27451816ae06819f68 100644
|
||||
--- a/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
|
||||
@@ -605,7 +557,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
this.advanceWeatherCycle();
|
||||
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
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.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
|
||||
|
||||
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) {
|
||||
@@ -662,7 +614,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
}
|
||||
|
||||
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
|
||||
entity.discard();
|
||||
} 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
|
||||
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();
|
||||
}
|
||||
|
||||
@@ -683,7 +635,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
// Pufferfish start - copied from this.guardEntityTick
|
||||
try {
|
||||
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
|
||||
}
|
||||
// Pufferfish end
|
||||
@@ -702,7 +654,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
|
||||
- gameprofilerfiller.push("entityManagement");
|
||||
+ //gameprofilerfiller.push("entityManagement"); // Purpur
|
||||
this.entityManager.tick();
|
||||
//this.entityManager.tick(); // Paper - rewrite chunk system
|
||||
- gameprofilerfiller.popPush("gameEvents");
|
||||
+ //gameprofilerfiller.popPush("gameEvents"); // Purpur
|
||||
this.sendGameEvents();
|
||||
@@ -711,7 +663,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
}
|
||||
|
||||
@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();
|
||||
int j = chunkcoordintpair.getMinBlockX();
|
||||
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
|
||||
|
||||
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
|
||||
// Paper start - optimise chunk ticking
|
||||
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
|
||||
@@ -741,7 +693,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
|
||||
if (randomTickSpeed > 0) {
|
||||
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
|
||||
//timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
|
||||
@@ -750,7 +702,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
}
|
||||
|
||||
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
|
||||
// Paper end - timings
|
||||
entity.setOldPosAndRot();
|
||||
@@ -775,7 +727,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
//} finally { timer.stopTiming(); } // Paper - timings // Purpur
|
||||
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
|
||||
passenger.setOldPosAndRot();
|
||||
++passenger.tickCount;
|
||||
@@ -792,7 +744,7 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
// Paper start - EAR 2
|
||||
if (isActive) {
|
||||
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);
|
||||
}
|
||||
// Paper end - EAR 2
|
||||
@@ -802,10 +754,10 @@ index 207f07dfd0d2fd0ff5fdb3952966d069ca184123..6859e2054e8eb4fc8ac005e0bf646a30
|
||||
|
||||
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
|
||||
index 3b5b040cf3cdbb3798972f73b75e8ab4753987db..18068e33014936fd5471aad6b673c16982bd38fc 100644
|
||||
index 4abac5e3ba5dcf27248bda31d95c85bb5e23c19d..6979305279996be59756d0424e5bc16a19fde6b0 100644
|
||||
--- a/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);
|
||||
|
||||
if (shapedetectorshape != null) {
|
||||
@@ -814,7 +766,7 @@ index 3b5b040cf3cdbb3798972f73b75e8ab4753987db..18068e33014936fd5471aad6b673c169
|
||||
worldserver = shapedetectorshape.world; // CraftBukkit
|
||||
if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event
|
||||
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();
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -825,7 +777,7 @@ index 3b5b040cf3cdbb3798972f73b75e8ab4753987db..18068e33014936fd5471aad6b673c169
|
||||
if (true) { // CraftBukkit
|
||||
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);
|
||||
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
|
||||
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
|
||||
index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f126630a968f5e 100644
|
||||
index 4f5c3c4285dd3b7ac901fb55e1ebbfec37ca601f..efd84a22bc063fe6266be876a38186c08296caa2 100644
|
||||
--- a/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;
|
||||
}
|
||||
// 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
|
||||
this.feetBlockState = null;
|
||||
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;
|
||||
@@ -1082,7 +1034,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
|
||||
}
|
||||
|
||||
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) {
|
||||
movement = movement.multiply(this.stuckSpeedMultiplier);
|
||||
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.
|
||||
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
|
||||
setDeltaMovement(Vec3.ZERO);
|
||||
@@ -1100,7 +1052,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
|
||||
return;
|
||||
}
|
||||
// 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);
|
||||
}
|
||||
|
||||
@@ -1111,7 +1063,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
|
||||
boolean flag = !Mth.equal(movement.x, vec3d1.x);
|
||||
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);
|
||||
if (this.isRemoved()) {
|
||||
@@ -1120,7 +1072,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
|
||||
} else {
|
||||
if (this.horizontalCollision) {
|
||||
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());
|
||||
}
|
||||
|
||||
@@ -1129,7 +1081,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
|
||||
}
|
||||
}
|
||||
// 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);
|
||||
|
||||
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
|
||||
@@ -1138,7 +1090,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
|
||||
this.portalTime = i;
|
||||
// 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);
|
||||
@@ -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
|
||||
// CraftBukkit end
|
||||
@@ -1147,7 +1099,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
|
||||
}
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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();
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -1173,7 +1125,7 @@ index cc355ddb74568717f28c74ab31566cd09c1209d7..2c7554a1dd092aca9dd1988b99f12663
|
||||
// Paper start - Change lead drop timing to prevent dupe
|
||||
if (this instanceof Mob) {
|
||||
((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();
|
||||
@@ -1456,10 +1408,10 @@ index 0cc0d719e95e108263683b7a40f4ce3a8ca9465b..872ec431ae6beb0ef603d833f38aedb9
|
||||
|
||||
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
|
||||
index cb4a162903207754be90ff8da0156f97791cccef..9e6c4c2935e0a2cadfbf3da73eb4fe1881078c5a 100644
|
||||
index c1781c92ff59f0c9eb47cbbef01e3252c5e1a1bf..c06057cf9609e001f4512c247f355ded0ff2e8ce 100644
|
||||
--- a/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
|
||||
@@ -1471,9 +1423,9 @@ index cb4a162903207754be90ff8da0156f97791cccef..9e6c4c2935e0a2cadfbf3da73eb4fe18
|
||||
Path path = this.pathFinder.findPath(pathNavigationRegion, this.mob, positions, followRange, distance, this.maxVisitedNodesMultiplier);
|
||||
- this.level.getProfiler().pop();
|
||||
+ //this.level.getProfiler().pop(); // Purpur
|
||||
|
||||
// Pufferfish start
|
||||
if (!gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncPathfinding) {
|
||||
if (path != null && path.getTarget() != null) {
|
||||
this.targetPos = path.getTarget();
|
||||
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
|
||||
index 288c6627906d07c0d223eacd84ae4eb31a349998..9babe636176da3c40598eb5bdac0919a1704eaa0 100644
|
||||
--- 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);
|
||||
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
@@ -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
|
||||
index bd89e00f707b6ba297081c9aacb3c5463e80063e..5e0fb02ccd1204a72b2d730a25e35844a07c5759 100644
|
||||
index 93711ef7df591ab0f50b8f0f7798f938eeb0f3b3..cf8693d02de53f1e02d55936f889c5724889e3f5 100644
|
||||
--- a/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);
|
||||
|
||||
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() {
|
||||
@@ -1757,7 +1709,7 @@ index bd89e00f707b6ba297081c9aacb3c5463e80063e..5e0fb02ccd1204a72b2d730a25e35844
|
||||
//timings.tileEntityPending.startTiming(); // Spigot // Purpur
|
||||
this.tickingBlockEntities = true;
|
||||
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
|
||||
this.tickingBlockEntities = false;
|
||||
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
|
||||
@@ -1766,16 +1718,16 @@ index bd89e00f707b6ba297081c9aacb3c5463e80063e..5e0fb02ccd1204a72b2d730a25e35844
|
||||
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
|
||||
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
|
||||
- this.getProfiler().incrementCounter("getEntities");
|
||||
+ //this.getProfiler().incrementCounter("getEntities"); // Purpur
|
||||
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;
|
||||
@@ -1208,7 +1208,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1207,7 +1207,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
@Override
|
||||
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();
|
||||
|
||||
// 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() {
|
||||
@@ -1816,10 +1768,10 @@ index 5c6fde4baf27e7d8f027c138d843da39a4a2ed36..4a8998a98987985e259b0a2a29ee7c94
|
||||
|
||||
// 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
|
||||
index ab024c5315c0a7cb2f80d5d7b251f6a3531879b3..12293740461b6cd965297543a1ae3bead83bd3a6 100644
|
||||
index b4460ed16ba30173ad4a5fe8e405e1c34251912f..6638a4fd77230ec9d5b5db097e9ee1a3cc92a726 100644
|
||||
--- a/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)) {
|
||||
try {
|
||||
@@ -1831,7 +1783,7 @@ index ab024c5315c0a7cb2f80d5d7b251f6a3531879b3..12293740461b6cd965297543a1ae3bea
|
||||
//this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur
|
||||
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});
|
||||
}
|
||||
|
||||
@@ -1841,20 +1793,20 @@ index ab024c5315c0a7cb2f80d5d7b251f6a3531879b3..12293740461b6cd965297543a1ae3bea
|
||||
if (throwable instanceof ThreadDeath) throw throwable; // Paper
|
||||
// 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
|
||||
index 0455c8a7da880da4f0b7ae9d57e83e281a55f0ae..23cb03d28c43729d5b5d450cd975456512477353 100644
|
||||
index d23481453717f715124156b5d83f6448f720d049..a8af51a25b0f99c3a64d9150fdfcd6b818aa7581 100644
|
||||
--- a/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
|
||||
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.markForCharting(MetricCategory.PATH_FINDING);
|
||||
+ //profiler.push("find_path"); // Purpur
|
||||
+ //profiler.markForCharting(MetricCategory.PATH_FINDING); // Purpur
|
||||
|
||||
try {
|
||||
return this.processPath(this.nodeEvaluator, startNode, positions, followRange, distance, rangeMultiplier);
|
||||
// Set<Target> set = positions.keySet();
|
||||
startNode.g = 0.0F;
|
||||
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
|
||||
index 7f1ac2cb29eb84833c0895442d611dfa0504527e..5dea8414964e0d2d1fb15a6baa27227e9722bfc7 100644
|
||||
--- a/src/main/java/net/minecraft/world/ticks/LevelTicks.java
|
||||
|
||||
@@ -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
|
||||
index 0b1f803fb6e23e4bcd015aacc63be864c87dca6b..3fffeff2f7e12c021ac4d1e6754583f58a03f12f 100644
|
||||
index 14a9e509b4da2b4ad1f67d8c5533c36ad437704b..e9c20441e37db68d500c230a4371610f98c69428 100644
|
||||
--- a/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 {
|
||||
@@ -52,10 +52,10 @@ index 0b1f803fb6e23e4bcd015aacc63be864c87dca6b..3fffeff2f7e12c021ac4d1e6754583f5
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ 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) {
|
||||
return getHandle().getCurrentDifficultyAt(net.minecraft.server.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
|
||||
}
|
||||
@@ -99,7 +99,7 @@ index 4b9d57a63a0eb922f77d34e4d2d7f3b0aa364337..42058ebca02f1ae7fdf970b9fdf36afc
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3019,5 +3019,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@@ -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
|
||||
index e077a43cf3f06207234cb445b58dff79eabcb9c6..852ed093488ae624960a7dd35f68d8cee39067e7 100644
|
||||
index 0d32a0bb4bbd34dbeffea95cf8403ae54ef8f227..88d1c75c51ffc2e5f334b0c9d12ca63ff463ff0a 100644
|
||||
--- a/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 int updates = 0;
|
||||
@@ -16,7 +16,7 @@ index e077a43cf3f06207234cb445b58dff79eabcb9c6..852ed093488ae624960a7dd35f68d8ce
|
||||
|
||||
private static ConfigurationSection convertToBukkit(org.simpleyaml.configuration.ConfigurationSection section) {
|
||||
ConfigurationSection newSection = new MemoryConfiguration();
|
||||
@@ -58,7 +59,7 @@ public class PufferfishConfig {
|
||||
@@ -50,7 +51,7 @@ public class PufferfishConfig {
|
||||
}
|
||||
|
||||
public static void load() throws IOException {
|
||||
@@ -26,7 +26,7 @@ index e077a43cf3f06207234cb445b58dff79eabcb9c6..852ed093488ae624960a7dd35f68d8ce
|
||||
if (configFile.exists()) {
|
||||
try {
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -235,6 +235,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
|
||||
Reference in New Issue
Block a user