Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@b4f04ff Add Plugin#getDataPath (#11080)
PaperMC/Paper@05e5865 Add ItemType#getItemRarity (#11049)
PaperMC/Paper@aa929d6 Call PlayerLaunchProjectileEvent for wind charge (#10911)
PaperMC/Paper@8b23018 Avoid collision shapes outside world border in findFreePosition
PaperMC/Paper@3b45454 Port random ticking optimisation from Moonrise
PaperMC/Paper@77fcb29 Apply incremental player/level saving patch
PaperMC/Paper@9fd7710 Apply automatic regionfile header recalculation patch
PaperMC/Paper@b57b24d Do not try to stop main thread during watchdog shutdown
PaperMC/Paper@2cd8c46 Add OMINOUS_ITEM_SPAWNER SpawnReason (#10897)
This commit is contained in:
granny
2024-07-15 17:14:04 -07:00
parent 87cf9f15dc
commit bf63cfab4d
39 changed files with 215 additions and 221 deletions

View File

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

View File

@@ -213,19 +213,6 @@ index b24265573fdef5d9a964bcd76146f34542c420cf..710477ae27ebc5afdf0012ef0867d05e
}
public SystemReport getSystemReport() {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 54e581db732c3a104142a2bbc228ecbe16aec0fc..f5b725dcd132bdc5bba73211d3891599eddc119b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1029,7 +1029,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
shutdownThread = Thread.currentThread();
org.spigotmc.WatchdogThread.doStop(); // Paper
if (!isSameThread()) {
- MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PAPER)");
+ MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PURPUR)"); // Purpur
while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop();
try {
diff --git a/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java
index 4e56018b64d11f76c8da43fd8f85c6de72204e36..9607675e6c5bff2183c4420d11fc63eeb5747fb6 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/CraftConsoleCommandSender.java

View File

@@ -92,7 +92,7 @@ index 7d82cc6b847124cf4225428ba310309544928148..04fd1172b47a74b16955cf93fc20f64f
this.setPvpAllowed(dedicatedserverproperties.pvp);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index b16c3beda0fc7d7d06cfc82f450165096a88bade..304e6c2f50d4424a2fb03fbc91df50a7f1516e70 100644
index bbb0d543197001fe8bb5179dde7201327fec4274..88cc7146c44746f93edc8e17151521806e2d6482 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -173,6 +173,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -103,7 +103,7 @@ index b16c3beda0fc7d7d06cfc82f450165096a88bade..304e6c2f50d4424a2fb03fbc91df50a7
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
@@ -645,6 +646,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -687,6 +688,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config & Anti-Xray
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 9d1e68c09fa7093cf0f6fa636f90cb15a44cbb38..c8f235df2cfe13458d2b259cdd4a4741db1839dd 100644
index 71882332ee61023d656a6de3955ca34fcef1f536..bc39f3193da9ce70d4266f96d53d3e158602f09a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -301,6 +301,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -302,6 +302,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent
public @Nullable String clientBrandName = null; // Paper - Brand support
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index c8f235df2cfe13458d2b259cdd4a4741db1839dd..3b55fcbbc442745bfae4b57b9c0029632d764183 100644
index bc39f3193da9ce70d4266f96d53d3e158602f09a..0b22219521ec0ecdcf7ed31eaf36ed541939e7fa 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2006,6 +2006,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -2007,6 +2007,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.lastSentExp = -1; // CraftBukkit - Added to reset
}
@@ -36,10 +36,10 @@ index c8f235df2cfe13458d2b259cdd4a4741db1839dd..3b55fcbbc442745bfae4b57b9c002963
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 5f20606cc2c79ad9a4c4d4d6c9e6a2a31a88b282..5263a5eb7860f3b0ae18dbb65f562593630e01ee 100644
index dfcaff15a145bf29e8a538d853bb04aec8c36179..939ddeb450e1f4a79fa3da69bcad44859fa826ee 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1016,6 +1016,20 @@ public abstract class PlayerList {
@@ -1017,6 +1017,20 @@ public abstract class PlayerList {
}
// CraftBukkit end

View File

@@ -22,10 +22,10 @@ index 2767d6f97e8b314d23a8e62f22dfd396f5660d31..a64e5997b94cc8173f0512d1e282355f
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 f5b725dcd132bdc5bba73211d3891599eddc119b..a56d7c5993e33456908c7cc876988fee71b3e17a 100644
index aeae4f8d4ead24db315631c3d2c0b930d0d51e02..31a8b1f07b7b479cd998e492406dcaae536ef6d9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1777,6 +1777,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1780,6 +1780,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
worldserver.updateLagCompensationTick(); // Paper - lag compensation
@@ -34,7 +34,7 @@ index f5b725dcd132bdc5bba73211d3891599eddc119b..a56d7c5993e33456908c7cc876988fee
this.profiler.push(() -> {
String s = String.valueOf(worldserver);
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 9456047974db6de9ed38265d5d1ab822225c484f..1d349c11a98977c84808c60124e58dfe5ea233e6 100644
index b3ca52c0a1c4c9c2f4d86b83ad2d6308e3ba9e7c..a36cf62aaa419dc79880798bec22b83b804aceb7 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -229,6 +229,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -46,10 +46,10 @@ index 9456047974db6de9ed38265d5d1ab822225c484f..1d349c11a98977c84808c60124e58dfe
public LevelChunk getChunkIfLoaded(int x, int z) {
return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 3b55fcbbc442745bfae4b57b9c0029632d764183..d21fd856d41f4047e449baaf910eaa9d37af5ca8 100644
index 0b22219521ec0ecdcf7ed31eaf36ed541939e7fa..371130f96703b854af1cf42ac693c7ae6d3a9cf4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -806,6 +806,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -807,6 +807,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.trackEnteredOrExitedLavaOnVehicle();
this.updatePlayerAttributes();
this.advancements.flushDirty(this);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 5263a5eb7860f3b0ae18dbb65f562593630e01ee..ce62bea3341dc7b653180da74b156a591b3088d1 100644
index 939ddeb450e1f4a79fa3da69bcad44859fa826ee..2738c73a5e0747fea711900a20d83b6c9fcfb90d 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1141,6 +1141,27 @@ public abstract class PlayerList {
@@ -1142,6 +1142,27 @@ public abstract class PlayerList {
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
this.server.getCommands().sendCommands(player);
} // Paper - Add sendOpLevel API

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index d21fd856d41f4047e449baaf910eaa9d37af5ca8..dd623a9059500b57bebf5e9f065f55647c6df403 100644
index 371130f96703b854af1cf42ac693c7ae6d3a9cf4..aabf6a05d433eb441fc2230a26186a3c5f187f80 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2369,8 +2369,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -2370,8 +2370,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public void resetLastActionTime() {
this.lastActionTime = Util.getMillis();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a56d7c5993e33456908c7cc876988fee71b3e17a..05a508c8bba7edd98a81a68cdee94ff5fc1aa6b6 100644
index 31a8b1f07b7b479cd998e492406dcaae536ef6d9..f57a3ae11fdffb5fcd13a1caaf65a480c934eca1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1935,7 +1935,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1938,7 +1938,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 05a508c8bba7edd98a81a68cdee94ff5fc1aa6b6..8b9d05e6c09913a96ca93c452ec4fa1289721f30 100644
index f57a3ae11fdffb5fcd13a1caaf65a480c934eca1..4f861e07fc15f43ddfb8d48499be8ec8f09c5480 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -319,6 +319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index 05a508c8bba7edd98a81a68cdee94ff5fc1aa6b6..8b9d05e6c09913a96ca93c452ec4fa12
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@@ -1289,6 +1290,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1280,6 +1281,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[0] = tps1.getAverage();
this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage();

View File

@@ -5,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 1d349c11a98977c84808c60124e58dfe5ea233e6..73e1f32dd8fa03c715b650eaffc971806fc9a119 100644
index a36cf62aaa419dc79880798bec22b83b804aceb7..2cabae54219b4921f9f01047236e8b86f3dd58a5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -848,10 +848,18 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -896,10 +896,18 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
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 - Configurable spawn chances for skeleton horses
if (flag1) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index dd623a9059500b57bebf5e9f065f55647c6df403..21de886c1b35d3b21fe14a46ac190ab6e94610cc 100644
index aabf6a05d433eb441fc2230a26186a3c5f187f80..b93bbe1443d1364940b1ab6e7bec4667859aa2ac 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1183,6 +1183,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1184,6 +1184,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
if (this.isInvulnerableTo(source)) {
return false;
} else {
@@ -136,7 +136,7 @@ index d524fcc191cb95d6ec7f12ae7fceeb8077bb08fc..4b8cebb321eddc852b4ec7def7f51d78
}
}
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 a768b07dae4bf75b68e3bc1d3de4b68fc7d23842..1b825b9012e24b12f83883f2056839c102802e4b 100644
index 0f289d8f9bda2fb2ca2cd2dfd667a975529b3e4c..7595e6d3e26c3ec08d77292d1fb273d4c0758964 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
@@ -93,7 +93,7 @@ public abstract class BlockBehaviour implements FeatureElement {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index ce62bea3341dc7b653180da74b156a591b3088d1..e60111517e9b04a39dcdb36a5f46d8fa868a5adc 100644
index 2738c73a5e0747fea711900a20d83b6c9fcfb90d..d79b644bbbe27e159cce554b22ee03d9a004b2df 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1133,6 +1133,7 @@ public abstract class PlayerList {
@@ -1134,6 +1134,7 @@ public abstract class PlayerList {
} else {
b0 = (byte) (24 + permissionLevel);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 8b9d05e6c09913a96ca93c452ec4fa1289721f30..6d44db61479c83099643d558e23f7a46c0a3b2d2 100644
index 4f861e07fc15f43ddfb8d48499be8ec8f09c5480..f0c88f64d4cd387fd32cce3fde5cff6a6bdae29f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1321,6 +1321,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1312,6 +1312,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.popPush("nextTickWait");
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);

View File

@@ -18,7 +18,7 @@ index 039a86034928a5eb7aaa2d7ca76a7bddcca346bd..308f67d0616e2d6bb135258f1fda53cc
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6d44db61479c83099643d558e23f7a46c0a3b2d2..4c29cebd0738956790d8a12cbf3337a090b359c3 100644
index f0c88f64d4cd387fd32cce3fde5cff6a6bdae29f..e1b0c35df3cc22762bdb5cb0fcb66fb9c61f1e59 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -314,7 +314,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -30,7 +30,7 @@ index 6d44db61479c83099643d558e23f7a46c0a3b2d2..4c29cebd0738956790d8a12cbf3337a0
// Spigot end
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
public static long currentTickLong = 0L; // Paper - track current tick as a long
@@ -1168,6 +1168,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1159,6 +1159,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;
@@ -38,7 +38,7 @@ index 6d44db61479c83099643d558e23f7a46c0a3b2d2..4c29cebd0738956790d8a12cbf3337a0
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1282,14 +1283,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1273,14 +1274,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
final long diff = currentTime - tickSection;
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);

View File

@@ -27,10 +27,10 @@ index 321188173918d0d60858a258400dfd682ccdb21c..af47074f3a61a8518697d7851e43d543
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 304e6c2f50d4424a2fb03fbc91df50a7f1516e70..df3a8b3e0f21fe6b8ec850c5ccd6a0d5a513b57b 100644
index 88cc7146c44746f93edc8e17151521806e2d6482..d931bde93f29b01e3743833a2520685e5e88dba9 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1984,4 +1984,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -2026,4 +2026,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
return null;
}
// Paper end - optimize redstone (Alternate Current)

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 21de886c1b35d3b21fe14a46ac190ab6e94610cc..a81b8f310a21208269368cedeb8bc03ba9030137 100644
index b93bbe1443d1364940b1ab6e7bec4667859aa2ac..5e0703f7ee4338f5cf5bcf3b9eec853f3a70bf32 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -3035,4 +3035,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -3036,4 +3036,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
return (CraftPlayer) super.getBukkitEntity();
}
// CraftBukkit end
@@ -36,7 +36,7 @@ index 21de886c1b35d3b21fe14a46ac190ab6e94610cc..a81b8f310a21208269368cedeb8bc03b
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index e503b9e82ab62652d959b2e0c7d7738706222468..bfb6f5b07ac201cd99eb39bcdbd02353dd4b810c 100644
index dc1bb55a84e1f1277c76dbdd30001080f6a0013e..1bb7f2aed9b23d5738140d236c140f9c508bc748 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -462,6 +462,7 @@ public abstract class LivingEntity extends Entity implements Attackable {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 73e1f32dd8fa03c715b650eaffc971806fc9a119..5d4c10299c595d01436c268564c8acfc6f356193 100644
index 2cabae54219b4921f9f01047236e8b86f3dd58a5..b1399c43711e9da0de7259196f3304fa29a17fe7 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -553,7 +553,24 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -544,7 +544,24 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.dragonParts = new Int2ObjectOpenHashMap();
this.tickTime = flag1;
this.server = minecraftserver;

View File

@@ -18,10 +18,10 @@ index 76ef195a5074006b009acd9cc1744667c6aecbb9..659577549e132754281df76a7a1bfd88
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4c29cebd0738956790d8a12cbf3337a090b359c3..28a7e0bd03921f4d885865c9eb01d5a203fc697a 100644
index e1b0c35df3cc22762bdb5cb0fcb66fb9c61f1e59..8e1e74889884ec2f957602fa669b842e3eef047d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1769,7 +1769,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1772,7 +1772,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = level.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : level.players()) {
@@ -31,7 +31,7 @@ index 4c29cebd0738956790d8a12cbf3337a090b359c3..28a7e0bd03921f4d885865c9eb01d5a2
}
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 5d4c10299c595d01436c268564c8acfc6f356193..a92212495e364faa4b4eb62737b201ccb6c1c28d 100644
index b1399c43711e9da0de7259196f3304fa29a17fe7..6301e0d2f3807e163a1a7267d893076a90351312 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -221,6 +221,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -43,7 +43,7 @@ index 5d4c10299c595d01436c268564c8acfc6f356193..a92212495e364faa4b4eb62737b201cc
private final RandomSequences randomSequences;
// CraftBukkit start
@@ -641,6 +643,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -632,6 +634,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.chunkTaskScheduler = new ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler((ServerLevel)(Object)this, ca.spottedleaf.moonrise.common.util.MoonriseCommon.WORKER_POOL);
// Paper end - rewrite chunk system
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
@@ -51,7 +51,7 @@ index 5d4c10299c595d01436c268564c8acfc6f356193..a92212495e364faa4b4eb62737b201cc
}
// Paper start
@@ -817,6 +820,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -808,6 +811,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.serverLevelData.setGameTime(i);
this.serverLevelData.getScheduledEvents().tick(this.server, i);
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
@@ -65,7 +65,7 @@ index 5d4c10299c595d01436c268564c8acfc6f356193..a92212495e364faa4b4eb62737b201cc
this.setDayTime(this.levelData.getDayTime() + 1L);
}
@@ -825,7 +835,21 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -816,7 +826,21 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
public void setDayTime(long timeOfDay) {
this.serverLevelData.setDayTime(timeOfDay);

View File

@@ -42,7 +42,7 @@ index 1808e1b01afa3041a54c9c9a7586d4d61960527a..5b523f3fa323378a8f96f58a9e252d2e
EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
if (entityBreedEvent.isCancelled()) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index df3a8b3e0f21fe6b8ec850c5ccd6a0d5a513b57b..d61634dba1024ece540d79b64e013259502f7ca2 100644
index d931bde93f29b01e3743833a2520685e5e88dba9..32cc7311559b2613269e347c73a1e000ff40f686 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -182,6 +182,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -95,7 +95,7 @@ index df3a8b3e0f21fe6b8ec850c5ccd6a0d5a513b57b..d61634dba1024ece540d79b64e013259
public CraftWorld getWorld() {
return this.world;
}
@@ -647,6 +690,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -689,6 +732,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index a81b8f310a21208269368cedeb8bc03ba9030137..8f0088dcca65a374351996a28198ba9706ab85e0 100644
index 5e0703f7ee4338f5cf5bcf3b9eec853f3a70bf32..44ae91271562cdbd4d4df706241accbd6e277ac3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1183,7 +1183,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1184,7 +1184,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
if (this.isInvulnerableTo(source)) {
return false;
} else {

View File

@@ -17,10 +17,10 @@ index 38a345901a743f5ddac18ba876d5245c5c11f111..c7b7cc0d9ce589b5a0600e9b8c46b2e5
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 28a7e0bd03921f4d885865c9eb01d5a203fc697a..850322fad6ba8ecb49f8acb61c34a120b5cbed5f 100644
index 8e1e74889884ec2f957602fa669b842e3eef047d..9ce17aed1c3eeba0acaaa9f12318536978612316 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1142,6 +1142,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1133,6 +1133,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.safeShutdown(waitForShutdown, false);
}
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
@@ -41,10 +41,10 @@ index 04fd1172b47a74b16955cf93fc20f64fd056b16e..34dfcdb3de191c08dffe22f624f4e968
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8f0088dcca65a374351996a28198ba9706ab85e0..1a8b28415c6f1f1c8f19c003d0f4c3a3e2d04479 100644
index 44ae91271562cdbd4d4df706241accbd6e277ac3..a10d08bdd18168beb822638e4405fc2fb322e7b8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -302,6 +302,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -303,6 +303,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public @Nullable String clientBrandName = null; // Paper - Brand support
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur
@@ -52,7 +52,7 @@ index 8f0088dcca65a374351996a28198ba9706ab85e0..1a8b28415c6f1f1c8f19c003d0f4c3a3
// Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -601,6 +602,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -602,6 +603,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
});
}
@@ -60,7 +60,7 @@ index 8f0088dcca65a374351996a28198ba9706ab85e0..1a8b28415c6f1f1c8f19c003d0f4c3a3
}
@Override
@@ -677,6 +679,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -678,6 +680,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
});
}
@@ -68,7 +68,7 @@ index 8f0088dcca65a374351996a28198ba9706ab85e0..1a8b28415c6f1f1c8f19c003d0f4c3a3
}
// CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -3065,5 +3068,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -3066,5 +3069,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.server.getPlayerList().respawn(this, true, RemovalReason.KILLED, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH, to);
}
}
@@ -83,7 +83,7 @@ index 8f0088dcca65a374351996a28198ba9706ab85e0..1a8b28415c6f1f1c8f19c003d0f4c3a3
// 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 e60111517e9b04a39dcdb36a5f46d8fa868a5adc..afbf8b6453c09a038cddd9a2ec368d121253b12f 100644
index d79b644bbbe27e159cce554b22ee03d9a004b2df..a1e8b2a00fdeeb26293e280a1443f99871faaa75 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -480,6 +480,7 @@ public abstract class PlayerList {
@@ -94,7 +94,7 @@ index e60111517e9b04a39dcdb36a5f46d8fa868a5adc..afbf8b6453c09a038cddd9a2ec368d12
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ());
}
@@ -590,6 +591,7 @@ public abstract class PlayerList {
@@ -591,6 +592,7 @@ public abstract class PlayerList {
}
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
// Paper end - Fix kick event leave message not being sent

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 1a8b28415c6f1f1c8f19c003d0f4c3a3e2d04479..83fe89b418947d2d9753006897c7d5be5881c4a1 100644
index a10d08bdd18168beb822638e4405fc2fb322e7b8..b2984876b936d1c3e28d92238888dbb4831c0a62 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1426,6 +1426,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1427,6 +1427,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
this.unsetRemoved();
// CraftBukkit end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 83fe89b418947d2d9753006897c7d5be5881c4a1..c9367faa95c091fab529afeb5011330baf9e7ac8 100644
index b2984876b936d1c3e28d92238888dbb4831c0a62..8a92924213f2503040145a915c5149a90b00e29c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1531,7 +1531,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1532,7 +1532,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
return entitymonster.isPreventingPlayerRest(this);
});

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index a92212495e364faa4b4eb62737b201ccb6c1c28d..5a02c0699673781ecff2c3774f36fa135b107d4b 100644
index 6301e0d2f3807e163a1a7267d893076a90351312..e94bd86c73eefd2302ae50e15ed063b6c60d4e37 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -694,7 +694,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -685,7 +685,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j;

View File

@@ -17,10 +17,10 @@ index b286b157bba78021efa18f01bc91b067b0bd5874..fc87e3cfff1221a6cbaf3463ce972870
// 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 c9367faa95c091fab529afeb5011330baf9e7ac8..f103848df48acdaca1c5182da11cae2ea4090e41 100644
index 8a92924213f2503040145a915c5149a90b00e29c..0ec864027caf87976d6bd1a2043fa10ce958bde6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1083,6 +1083,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1084,6 +1084,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
}));
PlayerTeam scoreboardteam = this.getTeam();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 5a02c0699673781ecff2c3774f36fa135b107d4b..9bf94975fb6fda3c4079015def602247a70f4390 100644
index e94bd86c73eefd2302ae50e15ed063b6c60d4e37..15df133593a4cd5cfb3da05e743e54689933cbf7 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1011,7 +1011,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1031,7 +1031,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
return holder.is(PoiTypes.LIGHTNING_ROD);
}, (blockposition1) -> {
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 9b52cb228de73df4fec47b18f1245b34f7ee8aef..7b215f334c75d0e8714c3a9b3efef46272fa1ceb 100644
index a1e8b2a00fdeeb26293e280a1443f99871faaa75..71f989f5349339c2481be03c81a41704ffbe42a9 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -747,7 +747,7 @@ public abstract class PlayerList {
@@ -748,7 +748,7 @@ public abstract class PlayerList {
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure
} else {
// return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 9bf94975fb6fda3c4079015def602247a70f4390..404d6708fbf9bb5ef67b24b13230309b8330bf29 100644
index 15df133593a4cd5cfb3da05e743e54689933cbf7..ab7e7df685d650c1e995c25f44a45a87771fc9a7 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1060,11 +1060,27 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1080,11 +1080,27 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
if (this.canSleepThroughNights()) {
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
@@ -38,10 +38,10 @@ index 9bf94975fb6fda3c4079015def602247a70f4390..404d6708fbf9bb5ef67b24b13230309b
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index f103848df48acdaca1c5182da11cae2ea4090e41..a18c1c598644c0682b21fd4a55aeb910a211e227 100644
index 0ec864027caf87976d6bd1a2043fa10ce958bde6..f0fbad78cb0796b29f352cad19cd2341a2cfcd03 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1572,7 +1572,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1573,7 +1573,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
});
if (!this.serverLevel().canSleepThroughNights()) {

View File

@@ -17,10 +17,10 @@ index 9f86a0397c0b64cb31dad245e2dc84d0fadd42d7..a66e2d78722847dec4e9d4aba8e6968e
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 a18c1c598644c0682b21fd4a55aeb910a211e227..1c5dd59300db47391981f7c7737c80c5d68bb3aa 100644
index f0fbad78cb0796b29f352cad19cd2341a2cfcd03..df157516c516140428d2014d392b596969cb0820 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -303,6 +303,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -304,6 +304,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur
private boolean tpsBar = false; // Purpur
@@ -28,7 +28,7 @@ index a18c1c598644c0682b21fd4a55aeb910a211e227..1c5dd59300db47391981f7c7737c80c5
// Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -603,6 +604,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -604,6 +605,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
}
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
@@ -36,7 +36,7 @@ index a18c1c598644c0682b21fd4a55aeb910a211e227..1c5dd59300db47391981f7c7737c80c5
}
@Override
@@ -680,6 +682,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -681,6 +683,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
}
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
@@ -44,7 +44,7 @@ index a18c1c598644c0682b21fd4a55aeb910a211e227..1c5dd59300db47391981f7c7737c80c5
}
// CraftBukkit start - World fallback code, either respawn location or global spawn
@@ -3090,5 +3093,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -3091,5 +3094,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public void tpsBar(boolean tpsBar) {
this.tpsBar = tpsBar;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 404d6708fbf9bb5ef67b24b13230309b8330bf29..dad0994ae305a9ae83e1e458d2cd2f536c0b496c 100644
index ab7e7df685d650c1e995c25f44a45a87771fc9a7..3972d26911f1f06eb2e73ecfd8d2a80cd6b521fe 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1220,6 +1220,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1240,6 +1240,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@VisibleForTesting
public void resetWeatherCycle() {
// CraftBukkit start
@@ -16,7 +16,7 @@ index 404d6708fbf9bb5ef67b24b13230309b8330bf29..dad0994ae305a9ae83e1e458d2cd2f53
this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents
// 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....
@@ -1227,6 +1228,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1247,6 +1248,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.serverLevelData.setRainTime(0);
}
// CraftBukkit end

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a1e490b644e0e5f1b7723d5fd76430368373c1fa..e4ce331d93111b60063b287d9b748eb6990f0cb4 100644
index fba7f3aed91af80a88054b624672c53be66f7adf..aee47b9dd5e728256211378518c7c4e1cddfe3c8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -321,6 +321,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index a1e490b644e0e5f1b7723d5fd76430368373c1fa..e4ce331d93111b60063b287d9b748eb6
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@@ -1048,6 +1049,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1039,6 +1040,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
MinecraftTimings.stopServer(); // Paper

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 1c5dd59300db47391981f7c7737c80c5d68bb3aa..14cdfe81c61c5c324f8b5c7687814274c091e205 100644
index df157516c516140428d2014d392b596969cb0820..2021e6db4864b5e20a6483605e6372de2efaba4d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1709,6 +1709,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1710,6 +1710,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@Override
public void openTextEdit(SignBlockEntity sign, boolean front) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e4ce331d93111b60063b287d9b748eb6990f0cb4..a83088548733c6475828301fe45c63bb840cc085 100644
index aee47b9dd5e728256211378518c7c4e1cddfe3c8..6ab6858dcaaadb87493597598af905a9c180d211 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1153,6 +1153,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1144,6 +1144,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index dad0994ae305a9ae83e1e458d2cd2f536c0b496c..19ca4094148cacedd878212adcf81766aff3171e 100644
index 3972d26911f1f06eb2e73ecfd8d2a80cd6b521fe..ff47ff94c84d05161cee5761d8a6ed0d8d32a3ac 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2640,7 +2640,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -2689,7 +2689,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
// Paper start - Fix merchant inventory not closing on entity removal

View File

@@ -42,10 +42,10 @@ index e2c24813f59c2fd075c740ac1842a38f20ed8554..01efbc507b3d58f13f78ee286f93df40
} catch (Exception exception) {
if (exception instanceof ReportedException) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a83088548733c6475828301fe45c63bb840cc085..22ed622f081a39bb4695e49b350e920848f288e7 100644
index 6ab6858dcaaadb87493597598af905a9c180d211..a7554d272d13747bed32ce4190b58151b106f7e4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1610,15 +1610,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1601,15 +1601,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void tickServer(BooleanSupplier shouldKeepTicking) {
@@ -64,8 +64,8 @@ index a83088548733c6475828301fe45c63bb840cc085..22ed622f081a39bb4695e49b350e9208
// Paper end
new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper - Server Tick Events
@@ -1643,9 +1643,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
@@ -1646,9 +1646,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Incremental chunk and player saving
io.papermc.paper.util.CachedLists.reset(); // Paper
// Paper start - move executeAll() into full server tick timing
- try (co.aikar.timings.Timing ignored = MinecraftTimings.processTasksTimer.startTiming()) {
@@ -76,7 +76,7 @@ index a83088548733c6475828301fe45c63bb840cc085..22ed622f081a39bb4695e49b350e9208
// Paper end
// Paper start - Server Tick Events
long endTime = System.nanoTime();
@@ -1668,7 +1668,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1671,7 +1671,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.logTickMethodTime(i);
this.profiler.pop();
org.spigotmc.WatchdogThread.tick(); // Spigot
@@ -85,7 +85,7 @@ index a83088548733c6475828301fe45c63bb840cc085..22ed622f081a39bb4695e49b350e9208
}
private void logTickMethodTime(long tickStartTime) {
@@ -1739,9 +1739,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1742,9 +1742,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getPlayerList().getPlayers().forEach((entityplayer) -> {
entityplayer.connection.suspendFlushing();
});
@@ -97,7 +97,7 @@ index a83088548733c6475828301fe45c63bb840cc085..22ed622f081a39bb4695e49b350e9208
// Paper start - Folia scheduler API
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
getAllLevels().forEach(level -> {
@@ -1758,21 +1758,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1761,21 +1761,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
this.profiler.push("commandFunctions");
@@ -124,7 +124,7 @@ index a83088548733c6475828301fe45c63bb840cc085..22ed622f081a39bb4695e49b350e9208
// Send time updates to everyone, it will get the right time from the world the player is in.
// Paper start - Perf: Optimize time updates
for (final ServerLevel level : this.getAllLevels()) {
@@ -1792,7 +1792,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1795,7 +1795,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// Paper end - Perf: Optimize time updates
@@ -133,7 +133,7 @@ index a83088548733c6475828301fe45c63bb840cc085..22ed622f081a39bb4695e49b350e9208
this.isIteratingOverLevels = true; // Paper - Throw exception on world create while being ticked
Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; move down
@@ -1820,9 +1820,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1823,9 +1823,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.push("tick");
try {
@@ -145,7 +145,7 @@ index a83088548733c6475828301fe45c63bb840cc085..22ed622f081a39bb4695e49b350e9208
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
@@ -1837,24 +1837,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1840,24 +1840,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
this.profiler.popPush("connection");
@@ -233,7 +233,7 @@ index 6df79aab2f0a75bbe347dc92e9ed5d62ceec7983..5d52df83c643845ffbeeba3bb640c9de
}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 36fbbf45ae064a345bf4aafbb9ac527197326eb9..b004e2e69598f2d6f3a9cd47aed3f4429c9702aa 100644
index 3575fe6f57457ab865a29d20836512f6f5a98115..bb7e02af46ecd313debcfb778d3390ad5f2c3991 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -357,9 +357,9 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -336,10 +336,10 @@ index 36fbbf45ae064a345bf4aafbb9ac527197326eb9..b004e2e69598f2d6f3a9cd47aed3f442
gameprofilerfiller.pop();
gameprofilerfiller.pop();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95 100644
index ff47ff94c84d05161cee5761d8a6ed0d8d32a3ac..17022327262157ad1520fb7d4fc187c8f1da00c2 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -720,7 +720,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -711,7 +711,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
gameprofilerfiller.popPush("tickPending");
@@ -348,7 +348,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
if (!this.isDebug() && flag) {
j = this.getGameTime();
gameprofilerfiller.push("blockTicks");
@@ -729,24 +729,24 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -720,24 +720,24 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.fluidTicks.tick(j, paperConfig().environment.maxFluidTicks, this::tickFluid); // Paper - configurable max fluid ticks
gameprofilerfiller.pop();
}
@@ -380,7 +380,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
}
this.handlingTick = false;
@@ -759,7 +759,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -750,7 +750,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
if (flag1 || this.emptyTime++ < 300) {
gameprofilerfiller.push("entities");
@@ -389,7 +389,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
if (this.dragonFight != null && flag) {
gameprofilerfiller.push("dragonFight");
this.dragonFight.tick();
@@ -767,7 +767,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -758,7 +758,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -398,7 +398,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
@@ -794,8 +794,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -785,8 +785,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
}
});
@@ -409,17 +409,14 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
gameprofilerfiller.pop();
this.tickBlockEntities();
}
@@ -928,7 +928,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -976,12 +976,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
} // Paper - Option to disable ice and snow
gameprofilerfiller.popPush("tickBlocks");
- timings.chunkTicksBlocks.startTiming(); // Paper
+ //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) {
LevelChunkSection[] achunksection = chunk.getSections();
@@ -961,7 +961,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
this.optimiseRandomTick(chunk, randomTickSpeed); // Paper - optimise random ticking
}
- timings.chunkTicksBlocks.stopTiming(); // Paper
@@ -427,7 +424,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
gameprofilerfiller.pop();
}
@@ -1304,8 +1304,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1324,8 +1324,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
// Spigot end
// Paper start- timings
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
@@ -438,7 +435,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
// Paper end - timings
entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = this.getProfiler();
@@ -1321,7 +1321,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1341,7 +1341,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
entity.postTick(); // CraftBukkit
} else { entity.inactiveTick(); } // Paper - EAR 2
this.getProfiler().pop();
@@ -447,7 +444,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
Iterator iterator = entity.getPassengers().iterator();
while (iterator.hasNext()) {
@@ -1344,8 +1344,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1364,8 +1364,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
// Paper - EAR 2
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger);
@@ -458,7 +455,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
// Paper end
passenger.setOldPosAndRot();
++passenger.tickCount;
@@ -1375,7 +1375,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1395,7 +1395,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.tickPassenger(passenger, entity2);
}
@@ -467,7 +464,25 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
}
} else {
passenger.stopRiding();
@@ -1397,7 +1397,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1415,7 +1415,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld()));
}
- try (co.aikar.timings.Timing ignored = this.timings.worldSave.startTiming()) {
+ //try (co.aikar.timings.Timing ignored = this.timings.worldSave.startTiming()) { // Purpur
if (doFull) {
this.saveLevelData(true);
}
@@ -1432,7 +1432,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.convertable.saveDataTag(this.server.registryAccess(), this.serverLevelData, this.server.getPlayerList().getSingleplayerData());
}
// CraftBukkit end
- }
+ //} // Purpur
}
// Paper end - Incremental chunk and player saving
@@ -1446,7 +1446,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
if (!savingDisabled) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(this.getWorld())); // CraftBukkit
@@ -476,7 +491,7 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
if (progressListener != null) {
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
}
@@ -1407,10 +1407,10 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1456,10 +1456,10 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
progressListener.progressStage(Component.translatable("menu.savingChunks"));
}
@@ -491,17 +506,21 @@ index c1c280ea396d0bef5e0eba79ecd19ee2b26f0f6a..ca3ee624904c9fe195d4eb0d8a7ea8de
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 3b3403e07023a70f9d53c22a288cb68925ed6f21..74c6f43a26ca1b36e7121dddd9f065b2a9254493 100644
index 71f989f5349339c2481be03c81a41704ffbe42a9..b14e56c6b117b28c604259ad179d10e79f7c4cdd 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1221,11 +1221,11 @@ public abstract class PlayerList {
@@ -1227,7 +1227,7 @@ public abstract class PlayerList {
public void saveAll() {
public void saveAll(int interval) {
io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main
- MinecraftTimings.savePlayers.startTiming(); // Paper
+ //MinecraftTimings.savePlayers.startTiming(); // Paper // Purpur
int numSaved = 0;
long now = MinecraftServer.currentTick;
for (int i = 0; i < this.players.size(); ++i) {
this.save(this.players.get(i));
@@ -1238,7 +1238,7 @@ public abstract class PlayerList {
}
// Paper end - Incremental chunk and player saving
}
- MinecraftTimings.savePlayers.stopTiming(); // Paper
+ //MinecraftTimings.savePlayers.stopTiming(); // Paper // Purpur
@@ -558,10 +577,10 @@ index 85b4b24361e785acf75571ff98f924c00ae80748..09a7b418ddf564c0be13297f7c216db2
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index d61634dba1024ece540d79b64e013259502f7ca2..63d1f787f5cd4af900d22e2abba32ba52b615737 100644
index 32cc7311559b2613269e347c73a1e000ff40f686..342c8a114b9063b2fa959aae22cdd2c0d412c50d 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1373,15 +1373,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1415,15 +1415,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
ProfilerFiller gameprofilerfiller = this.getProfiler();
gameprofilerfiller.push("blockEntities");
@@ -580,7 +599,7 @@ index d61634dba1024ece540d79b64e013259502f7ca2..63d1f787f5cd4af900d22e2abba32ba5
// Spigot start
// Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator();
boolean flag = this.tickRateManager().runsNormally();
@@ -1412,7 +1412,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1454,7 +1454,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075

View File

@@ -83,7 +83,7 @@ index e9775b4506909bee65a74964f0d5391a0513de1d..684f7f202305c09b1037c5d38a52a5ea
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9fd2eaf27 100644
index a7554d272d13747bed32ce4190b58151b106f7e4..0852e14cbb194bd524147ec443eb2791e9ecf3a6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -422,13 +422,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -106,8 +106,8 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
this.random = RandomSource.create();
this.port = -1;
this.levels = Maps.newLinkedHashMap();
@@ -1042,9 +1042,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
@@ -1033,9 +1033,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
org.spigotmc.WatchdogThread.doStop(); // Paper
// Paper end
// CraftBukkit end
- if (this.metricsRecorder.isRecording()) {
@@ -118,7 +118,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -1315,16 +1315,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1306,16 +1306,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
boolean flag = i == 0L;
@@ -139,7 +139,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
this.tickServer(flag ? () -> {
return false;
} : this::haveTime);
@@ -1335,7 +1335,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1326,7 +1326,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new RuntimeException("Chunk system crash propagated to tick()", crash);
}
// Paper end - rewrite chunk system
@@ -148,7 +148,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
// Purpur start
@@ -1351,9 +1351,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1342,9 +1342,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickRateManager.endTickWork();
}
@@ -161,7 +161,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
this.isReady = true;
JvmProfiler.INSTANCE.onServerTick(this.smoothedTickTimeMillis);
}
@@ -1563,7 +1563,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1554,7 +1554,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
@@ -170,19 +170,25 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
super.doRunTask(ticktask);
}
@@ -1636,9 +1636,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.ticksUntilAutosave = this.autosavePeriod;
// CraftBukkit end
MinecraftServer.LOGGER.debug("Autosave started");
- this.profiler.push("save");
+ //this.profiler.push("save"); // Purpur
this.saveEverything(true, false, false);
- this.profiler.pop();
+ //this.profiler.pop(); // Purpur
MinecraftServer.LOGGER.debug("Autosave finished");
@@ -1627,7 +1627,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (playerSaveInterval < 0) {
playerSaveInterval = autosavePeriod;
}
- this.profiler.push("save");
+ //this.profiler.push("save"); // Purpur
final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0;
try {
this.isSaving = true;
@@ -1642,7 +1642,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} finally {
this.isSaving = false;
}
- this.profiler.pop();
+ //this.profiler.pop(); // Purpur
// Paper end - Incremental chunk and player saving
io.papermc.paper.util.CachedLists.reset(); // Paper
@@ -1652,7 +1652,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper start - move executeAll() into full server tick timing
@@ -1655,7 +1655,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
// Paper end - Server Tick Events
@@ -191,7 +197,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
long j = Util.getNanos() - i;
int k = this.tickCount % 100;
@@ -1666,7 +1666,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1669,7 +1669,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickTimes60s.add(this.tickCount, j);
// Paper end - Add tick times API and /mspt command
this.logTickMethodTime(i);
@@ -200,7 +206,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
org.spigotmc.WatchdogThread.tick(); // Spigot
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
}
@@ -1757,11 +1757,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1760,11 +1760,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
@@ -214,7 +220,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
//Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down
// CraftBukkit start
@@ -1804,20 +1804,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1807,20 +1807,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.updateLagCompensationTick(); // Paper - lag compensation
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@@ -240,7 +246,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1830,17 +1830,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1833,17 +1833,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
@@ -262,7 +268,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1848,7 +1848,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1851,7 +1851,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick();
}
@@ -271,7 +277,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1856,7 +1856,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1859,7 +1859,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -280,7 +286,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) {
@@ -1866,7 +1866,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1869,7 +1869,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.resumeFlushing();
}
@@ -289,7 +295,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
}
private void synchronizeTime(ServerLevel world) {
@@ -1874,7 +1874,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1877,7 +1877,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void forceTimeSynchronization() {
@@ -298,7 +304,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) {
@@ -1883,7 +1883,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1886,7 +1886,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver);
}
@@ -307,7 +313,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
}
public boolean isLevelEnabled(Level world) {
@@ -2595,6 +2595,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2598,6 +2598,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@@ -315,7 +321,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
return this.profiler;
}
@@ -2841,7 +2842,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2844,7 +2845,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
private void startMetricsRecordingTick() {
@@ -324,7 +330,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
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"));
@@ -2851,40 +2852,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2854,40 +2855,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false;
}
@@ -377,7 +383,7 @@ index 22ed622f081a39bb4695e49b350e920848f288e7..67f4d022628029d777e0d8185d1e75b9
}
public Path getWorldPath(LevelResource worldSavePath) {
@@ -2937,15 +2938,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2940,15 +2941,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public boolean isTimeProfilerRunning() {
@@ -468,7 +474,7 @@ index 5d52df83c643845ffbeeba3bb640c9deeae11139..4f02f8b6003580fc178991cbece8ad43
public boolean hasWork() {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index b004e2e69598f2d6f3a9cd47aed3f4429c9702aa..efe15505342e10baacadb61275c8f8d270f2de2c 100644
index bb7e02af46ecd313debcfb778d3390ad5f2c3991..01683897aa15cd280f28a26057237e82db46df15 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -381,26 +381,26 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -585,10 +591,10 @@ index b004e2e69598f2d6f3a9cd47aed3f4429c9702aa..efe15505342e10baacadb61275c8f8d2
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c38777de6e 100644
index 17022327262157ad1520fb7d4fc187c8f1da00c2..665d45ba1129a72a1fb393d524bfa845b7a8189d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -678,16 +678,16 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -669,16 +669,16 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
public void tick(BooleanSupplier shouldKeepTicking) {
@@ -608,7 +614,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
this.advanceWeatherCycle();
}
@@ -719,30 +719,30 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -710,30 +710,30 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.tickTime();
}
@@ -646,7 +652,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
if (flag) {
// this.timings.doSounds.startTiming(); // Spigot // Purpur
this.runBlockEvents();
@@ -750,7 +750,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -741,7 +741,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
this.handlingTick = false;
@@ -655,7 +661,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
boolean flag1 = !paperConfig().unsupportedSettings.disableWorldTickingWhenEmpty || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players // Paper - restore this
if (flag1) {
@@ -758,12 +758,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -749,12 +749,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
if (flag1 || this.emptyTime++ < 300) {
@@ -671,7 +677,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -773,9 +773,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -764,9 +764,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard();
} else if (!tickratemanager.isEntityFrozen(entity)) {
@@ -683,7 +689,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - rewrite chunk system
Entity entity1 = entity.getVehicle();
@@ -787,22 +787,22 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -778,22 +778,22 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
entity.stopRiding();
}
@@ -711,7 +717,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
}
@Override
@@ -878,9 +878,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -926,9 +926,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX();
int k = chunkcoordintpair.getMinBlockZ();
@@ -723,7 +729,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - Option to disable thunder
BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15));
@@ -917,7 +917,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -965,7 +965,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
}
@@ -732,7 +738,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
if (!this.paperConfig().environment.disableIceAndSnow) { // Paper - Option to disable ice and snow
for (int l = 0; l < randomTickSpeed; ++l) {
@@ -927,7 +927,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -975,14 +975,14 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
} // Paper - Option to disable ice and snow
@@ -740,25 +746,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
+ //gameprofilerfiller.popPush("tickBlocks"); // Purpur
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) {
LevelChunkSection[] achunksection = chunk.getSections();
@@ -942,7 +942,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
for (int l1 = 0; l1 < randomTickSpeed; ++l1) {
BlockPos blockposition1 = this.getBlockRandomPos(j, k1, k, 15);
- gameprofilerfiller.push("randomTick");
+ //gameprofilerfiller.push("randomTick"); // Purpur
BlockState iblockdata = chunksection.getBlockState(blockposition1.getX() - j, blockposition1.getY() - k1, blockposition1.getZ() - k);
if (iblockdata.isRandomlyTicking()) {
@@ -955,14 +955,14 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
fluid.randomTick(this, blockposition1, this.random);
}
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
}
}
this.optimiseRandomTick(chunk, randomTickSpeed); // Paper - optimise random ticking
}
//timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
@@ -767,7 +755,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
}
@VisibleForTesting
@@ -1308,19 +1308,19 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1328,19 +1328,19 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
//try { // Purpur
// Paper end - timings
entity.setOldPosAndRot();
@@ -792,7 +780,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
//} finally { timer.stopTiming(); } // Paper - timings // Purpur
Iterator iterator = entity.getPassengers().iterator();
@@ -1349,12 +1349,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1369,12 +1369,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
// Paper end
passenger.setOldPosAndRot();
++passenger.tickCount;
@@ -809,7 +797,7 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
// Paper start - EAR 2
if (isActive) {
passenger.rideTick();
@@ -1366,7 +1366,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1386,7 +1386,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
vehicle.positionRider(passenger);
}
// Paper end - EAR 2
@@ -819,10 +807,10 @@ index ca3ee624904c9fe195d4eb0d8a7ea8dee6656e95..0f28eabc50366f35b3804b16db8cc4c3
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 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922995a999d 100644
index 2021e6db4864b5e20a6483605e6372de2efaba4d..7c7124f6b5911d4fa63af03f018323b6032a06a4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1400,7 +1400,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1401,7 +1401,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.unsetRemoved();
*/
// CraftBukkit end
@@ -831,7 +819,7 @@ index 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922
if (worldserver != null && resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit - empty to fall through to null to event
this.enteredNetherPosition = this.position();
}
@@ -1416,8 +1416,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1417,8 +1417,8 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
worldserver = ((CraftWorld) exit.getWorld()).getHandle();
// CraftBukkit end
@@ -842,7 +830,7 @@ index 14cdfe81c61c5c324f8b5c7687814274c091e205..45bfe47a0bd2d9e3f36cd44e964a8922
// CraftBukkit start
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
LevelData worlddata = worldserver.getLevelData();
@@ -1435,7 +1435,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1436,7 +1436,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
worldserver.addDuringTeleport(this);
@@ -1806,7 +1794,7 @@ index a248d859cbce48f4a34c4771a7acffc17d7edc84..4ce32603dcd691e018a3e1962311d2ac
if (this.fire) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181d967bac6 100644
index 342c8a114b9063b2fa959aae22cdd2c0d412c50d..ba2254ef7688177eff2ed8115726b7b551620560 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -269,7 +269,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1827,7 +1815,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
final List<Entity> ret = new java.util.ArrayList<>();
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getHardCollidingEntities(entity, box, ret, predicate);
@@ -1370,9 +1370,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1412,9 +1412,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
protected void tickBlockEntities() {
@@ -1839,7 +1827,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
//this.timings.tileEntityPending.startTiming(); // Spigot // Purpur
this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) {
@@ -1415,7 +1415,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1457,7 +1457,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
//this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur
this.tickingBlockEntities = false;
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
@@ -1848,7 +1836,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
this.spigotConfig.currentPrimedTnt = 0; // Spigot
}
@@ -1627,7 +1627,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1669,7 +1669,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@Override
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
@@ -1857,7 +1845,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
// Paper start - rewrite chunk system
final List<Entity> ret = new java.util.ArrayList<>();
@@ -1653,7 +1653,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1695,7 +1695,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest,
final AABB boundingBox, final Predicate<? super T> predicate,
final List<? super T> into, final int maxCount) {
@@ -1866,7 +1854,7 @@ index 63d1f787f5cd4af900d22e2abba32ba52b615737..5ab33a2531cd7853d4a33fa1569d0181
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
if (maxCount != Integer.MAX_VALUE) {
@@ -1948,6 +1948,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1990,6 +1990,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
public ProfilerFiller getProfiler() {

View File

@@ -18,10 +18,10 @@ index 24cb04cd33cfe578286c85a892b20bbf3fc843e6..8468452ff61f226b65be1dad21b627f2
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 45bfe47a0bd2d9e3f36cd44e964a8922995a999d..c8ccf4b847ba3803b48c26ad6e6acecb327c76c5 100644
index 7c7124f6b5911d4fa63af03f018323b6032a06a4..4b5d0ccd37534bd987d997338033e363a7a56b76 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -304,6 +304,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -305,6 +305,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public boolean purpurClient = false; // Purpur
private boolean tpsBar = false; // Purpur
private boolean compassBar = false; // Purpur
@@ -29,7 +29,7 @@ index 45bfe47a0bd2d9e3f36cd44e964a8922995a999d..c8ccf4b847ba3803b48c26ad6e6acecb
// Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -605,6 +606,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -606,6 +607,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur
@@ -37,7 +37,7 @@ index 45bfe47a0bd2d9e3f36cd44e964a8922995a999d..c8ccf4b847ba3803b48c26ad6e6acecb
}
@Override
@@ -681,6 +683,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -682,6 +684,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
});
}
@@ -45,7 +45,7 @@ index 45bfe47a0bd2d9e3f36cd44e964a8922995a999d..c8ccf4b847ba3803b48c26ad6e6acecb
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur
}
@@ -3102,5 +3105,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -3103,5 +3106,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public void compassBar(boolean compassBar) {
this.compassBar = compassBar;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] config for startup commands
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 67f4d022628029d777e0d8185d1e75b9fd2eaf27..7115c04cacfd373b2d9ce0e34460aa695bb65bcd 100644
index 0852e14cbb194bd524147ec443eb2791e9ecf3a6..b8628e9ab434feaae40c65f0fa016f6d57352f38 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1268,6 +1268,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1259,6 +1259,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Paper end - Add onboarding message for initial server start