Updated Upstream (Purpur)

This commit is contained in:
Dreeam
2022-10-24 15:09:03 -04:00
parent d2a00b0e10
commit eefac632ee
6 changed files with 46 additions and 46 deletions

View File

@@ -1,7 +1,7 @@
group = cc.keyimc.keyi
version = 1.19.2-R0.1-SNAPSHOT
purpurCommit = e40b49855c3e2c9859929e5cabfb418909010871
purpurCommit = 74b72a5f42f2e579c268b8c0411d0f78b9e38c4f
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -1083,11 +1083,11 @@ index 6c27b22dd1d497687c0f4d3835e34149bcf952c1..445f21c3764d148de937f558e3f087ae
public static Direction getNearest(double x, double y, double z) {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 571a1cbee376032b6b9f36c9fe3f9199a3ad3197..df014d5b1b2d3b1d0e7a0b9eedb3c19ee693b836 100644
index d418144bc7471b2c00ad272652b035d79974ef75..7672e7b8f162dfc173f2c6b94a0e339751969a0c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -227,6 +227,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
return new Throwable(entity + " Added to world at " + new java.util.Date());
@@ -229,6 +229,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
return thr;
}
+ // Mirai start

View File

@@ -278,7 +278,7 @@ index b759f82b265542f42821e35ead56a5c073625d36..f93cbf0812801bb503db26e623d988e4
@Override
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
index e1563410e0711de5cf9363978125e637929392da..948e988cdcf3edb0ceb0bd397d0579a1784d9ae1 100644
index 40fd77b18425f093ddc69d21856f4e9548f8f9ca..3ed75fe9f712c0e777b0ec9152705390a17f2bd0 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -355,7 +355,11 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -312,7 +312,7 @@ index e1563410e0711de5cf9363978125e637929392da..948e988cdcf3edb0ceb0bd397d0579a1
ConnectionProtocol enumprotocol = ConnectionProtocol.getProtocolForPacket(packet);
ConnectionProtocol enumprotocol1 = this.getCurrentProtocol();
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
index 07b0b0993c01763b39d1c9a387447ec76b5de190..72e700a775403eec2d1a32859279401351b836b1 100644
index 0d995a13114e718016518f41d7fcff3042674847..bd7c4f5056470dead6aece51777ebc0e5bbdd06b 100644
--- a/src/main/java/net/minecraft/server/MCUtil.java
+++ b/src/main/java/net/minecraft/server/MCUtil.java
@@ -55,8 +55,8 @@ import java.util.function.Supplier;
@@ -327,10 +327,10 @@ index 07b0b0993c01763b39d1c9a387447ec76b5de190..72e700a775403eec2d1a328592794013
.setNameFormat("Paper Async Task Handler Thread - %1$d")
.setUncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(MinecraftServer.LOGGER))
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
index 5962f7a2b185d7d54a0f9e341a4fdf6e6f1c1ec5..8c80520396bc7e34bac25354c1fcdb38b71000c7 100644
index 88ef769abfa163f923258d1f83d47b28c491eaca..9ae43d359deee3172f8f059adc94dffee1ec303f 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -318,7 +318,7 @@ public class Main {
@@ -327,7 +327,7 @@ public class Main {
// Paper start - fix and optimise world upgrading
public static void convertWorldButItWorks(net.minecraft.resources.ResourceKey<net.minecraft.world.level.dimension.LevelStem> dimensionType, net.minecraft.world.level.storage.LevelStorageSource.LevelStorageAccess worldSession,
DataFixer dataFixer, Optional<net.minecraft.resources.ResourceKey<com.mojang.serialization.Codec<? extends net.minecraft.world.level.chunk.ChunkGenerator>>> generatorKey, boolean removeCaches) {
@@ -444,10 +444,10 @@ index 01ca7156d86243a80cd343a2a66be9ebedcc3b7c..852ec490e2a53803ca72a3ec0d994cbe
private WorldGenSettings worldGenSettings;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index df014d5b1b2d3b1d0e7a0b9eedb3c19ee693b836..2461aadffa36e1e193fa32ddb5955c9946ad1450 100644
index 7672e7b8f162dfc173f2c6b94a0e339751969a0c..e2e04925016a7c1ddcc39adf235b31e67ed6be97 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -533,7 +533,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -535,7 +535,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
// Holder holder = worlddimension.typeHolder(); // CraftBukkit - decompile error
// Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error

View File

@@ -22,7 +22,7 @@ index 54ec7955ba394e82663b08972dd89f69a23593ac..8dc1d2d15d571d1603a41dee13681a87
private static final ThreadLocal<List<ChunkProgressionTask>> CURRENT_TICKET_UPDATE_SCHEDULING = new ThreadLocal<>();
diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
index e3fcbdbbf1972c382cbfe69a86eddff3dee4fba2..f20faaec3f1fe311b3ac989be5a9148e2e3c59ad 100644
index cfc355829df3e5b51c2ff524bb3730360fee15a2..4ce6df7082d4f7ed3651e3d57e379f95dd05715e 100644
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/NewChunkHolder.java
@@ -1748,7 +1748,7 @@ public final class NewChunkHolder {
@@ -44,7 +44,7 @@ index e3fcbdbbf1972c382cbfe69a86eddff3dee4fba2..f20faaec3f1fe311b3ac989be5a9148e
return executedUnloadTask | canSaveChunk | canSaveEntities | canSavePOI;
}
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
index a7f4b791894c5d8b7af4b0c067cf167b29272a27..54bca103347e89f116fb7fbf37449a32ac094286 100644
index 04ca6d27a13706fbddc708df0fcca42b4098bcba..d03551e81e3ef37935cb1d963aba3df316f48ef5 100644
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
@@ -67,14 +67,14 @@ public class GlobalConfiguration extends ConfigurationPart {
@@ -510,7 +510,7 @@ index 3e7dd41555263e8361db08d1380c767fe0ba8886..d6c3db7234fa9b52e945cb004d8ae843
@Override
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 3203b953709ca7cb9172f5912a922131ad7ec9eb..a2a4965aec45f3ff83703b636e46f5c545cfb48e 100644
index 5258688cf1c980b95308b6d105dbf104b0276932..9976630fad886392057f642e84f919f0b95cc040 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -606,20 +606,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -542,7 +542,7 @@ index 3203b953709ca7cb9172f5912a922131ad7ec9eb..a2a4965aec45f3ff83703b636e46f5c5
}
public boolean hasWork() {
@@ -1239,24 +1239,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1238,24 +1238,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper start - optimised tracker
private final void processTrackQueue() {
@@ -571,7 +571,7 @@ index 3203b953709ca7cb9172f5912a922131ad7ec9eb..a2a4965aec45f3ff83703b636e46f5c5
}
}
// Paper end - optimised tracker
@@ -1271,7 +1271,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1270,7 +1270,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
List<ServerPlayer> list = Lists.newArrayList();
List<ServerPlayer> list1 = this.level.players();
ObjectIterator objectiterator = this.entityMap.values().iterator();
@@ -580,7 +580,7 @@ index 3203b953709ca7cb9172f5912a922131ad7ec9eb..a2a4965aec45f3ff83703b636e46f5c5
ChunkMap.TrackedEntity playerchunkmap_entitytracker;
@@ -1296,17 +1296,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1295,17 +1295,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
playerchunkmap_entitytracker.serverEntity.sendChanges();
}
}
@@ -797,11 +797,11 @@ index cd5533c3c53215c9cc4be0b9097d76efbf5bd0c1..7266e6703d5cd0fea90ec88c74a7d456
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506e5a2128b 100644
index e2e04925016a7c1ddcc39adf235b31e67ed6be97..26316eae266a0e19b3cacc39ed1c9263f1cd58ea 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -227,13 +227,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
return new Throwable(entity + " Added to world at " + new java.util.Date());
@@ -229,13 +229,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
return thr;
}
- // Mirai start
@@ -814,7 +814,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
@Override public LevelChunk getChunkIfLoaded(int x, int z) { // Paper - this was added in world too but keeping here for NMS ABI
return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper
}
@@ -658,12 +651,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -660,12 +653,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
// Paper end - optimise checkDespawn
@@ -830,7 +830,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
this.advanceWeatherCycle();
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j;
@@ -690,32 +683,32 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -692,32 +685,32 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.updateSkyBrightness();
this.tickTime();
@@ -879,7 +879,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
if (flag) {
@@ -723,24 +716,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -725,24 +718,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
if (flag || this.emptyTime++ < 300) {
@@ -911,7 +911,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list
Entity entity1 = entity.getVehicle();
@@ -752,7 +745,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -754,7 +747,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
entity.stopRiding();
}
@@ -920,7 +920,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
// Pufferfish start - copied from this.guardEntityTick
try {
this.tickNonPassenger(entity); // Pufferfish - changed
@@ -767,22 +760,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -769,22 +762,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Paper end
}
// Pufferfish end
@@ -950,7 +950,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
}
@Override
@@ -864,9 +857,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -866,9 +859,9 @@ public class ServerLevel extends Level implements WorldGenLevel {
boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX();
int k = chunkcoordintpair.getMinBlockZ();
@@ -962,7 +962,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && /*this.random.nextInt(this.spigotConfig.thunderChance) == 0 &&*/ chunk.shouldDoLightning(this.random)) { // Spigot // Paper - disable thunder // Pufferfish - replace random with shouldDoLightning
@@ -898,7 +891,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -900,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
@@ -971,7 +971,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
if (!this.paperConfig().environment.disableIceAndSnow && (this.currentIceAndSnowTick++ & 15) == 0) { // Paper - Disable ice and snow // Paper - optimise random ticking // Pufferfish - optimize further random ticking
// Paper start - optimise chunk ticking
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
@@ -934,8 +927,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -936,8 +929,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
// Paper start - optimise random block ticking
@@ -982,7 +982,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
if (randomTickSpeed > 0) {
LevelChunkSection[] sections = chunk.getSections();
int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this);
@@ -969,8 +962,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -971,8 +964,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
}
}
// Paper end - optimise random block ticking
@@ -993,7 +993,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
}
public Optional<BlockPos> findLightningRod(BlockPos pos) {
@@ -1262,24 +1255,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1264,24 +1257,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot end
// Paper start- timings
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
@@ -1026,7 +1026,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
Iterator iterator = entity.getPassengers().iterator();
while (iterator.hasNext()) {
@@ -1302,17 +1295,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1304,17 +1297,17 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
// Paper - EAR 2
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger);
@@ -1050,7 +1050,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
// Paper start - EAR 2
if (isActive) {
passenger.rideTick();
@@ -1324,7 +1317,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1326,7 +1319,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
vehicle.positionRider(passenger);
}
// Paper end - EAR 2
@@ -1059,7 +1059,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
Iterator iterator = passenger.getPassengers().iterator();
while (iterator.hasNext()) {
@@ -1333,7 +1326,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1335,7 +1328,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.tickPassenger(passenger, entity2);
}
@@ -1068,7 +1068,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
}
} else {
passenger.stopRiding();
@@ -1353,14 +1346,14 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1355,14 +1348,14 @@ public class ServerLevel extends Level implements WorldGenLevel {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld()));
}
@@ -1086,7 +1086,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
// Copied from save()
// CraftBukkit start - moved from MinecraftServer.saveChunks
@@ -1372,7 +1365,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1374,7 +1367,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.convertable.saveDataTag(this.server.registryHolder, this.serverLevelData, this.server.getPlayerList().getSingleplayerData());
}
// CraftBukkit end
@@ -1095,7 +1095,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
}
// Paper end
@@ -1386,7 +1379,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1388,7 +1381,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (!savingDisabled) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
@@ -1104,7 +1104,7 @@ index 2461aadffa36e1e193fa32ddb5955c9946ad1450..3ffa7b3440b65ba3a4af4488f6ca9506
if (progressListener != null) {
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
}
@@ -1396,11 +1389,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1398,11 +1391,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
progressListener.progressStage(Component.translatable("menu.savingChunks"));
}
@@ -1349,7 +1349,7 @@ index bca69d595ef0f18a5910cbd6f7e6f742830a0800..386ed2c102aaa3ec68e828e20fff6bfe
if (entityhuman != null) {
double d2 = entityhuman.distanceToSqr(d0, (double) i, d1);
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 1ef5f03a332e832817be132bbbf3ac1021f085d1..636c98d04eb4e14eab1fa208d9cb097e2ab7eef7 100644
index d3d2b554f0313b73442f25cc2bd6ab21fa34e2bf..b89dad36bf09fdab340efc83d09992b707cd321a 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -53,10 +53,6 @@ import net.minecraft.world.level.material.Fluids;

View File

@@ -205,10 +205,10 @@ index f597d65d56964297eeeed6c7e77703764178fee0..665c377e2d0d342f4dcc89c4cbdfcc9e
public ChunkHolder.FullChunkStatus status;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index a2a4965aec45f3ff83703b636e46f5c545cfb48e..a693c4cbcaf9720ac9549edab32f02063607820a 100644
index 9976630fad886392057f642e84f919f0b95cc040..c4284894258df0b0bcc2d86c5a6da0047b994191 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1237,9 +1237,38 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1236,9 +1236,38 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
entity.tracker = null; // Paper - We're no longer tracked
}
@@ -247,7 +247,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..a693c4cbcaf9720ac9549edab32f0206
try {
for (TrackedEntity tracker : this.entityMap.values()) {
// update tracker entry
@@ -1462,11 +1491,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1461,11 +1490,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
public class TrackedEntity {
@@ -262,7 +262,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..a693c4cbcaf9720ac9549edab32f0206
public TrackedEntity(Entity entity, int i, int j, boolean flag) {
this.serverEntity = new ServerEntity(ChunkMap.this.level, entity, j, flag, this::broadcast, this.seenBy); // CraftBukkit
@@ -1478,7 +1507,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1477,7 +1506,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper start - use distance map to optimise tracker
com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> lastTrackerCandidates;
@@ -271,7 +271,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..a693c4cbcaf9720ac9549edab32f0206
com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> oldTrackerCandidates = this.lastTrackerCandidates;
this.lastTrackerCandidates = newTrackerCandidates;
@@ -1550,7 +1579,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1549,7 +1578,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public void removePlayer(ServerPlayer player) {
@@ -280,7 +280,7 @@ index a2a4965aec45f3ff83703b636e46f5c545cfb48e..a693c4cbcaf9720ac9549edab32f0206
if (this.seenBy.remove(player.connection)) {
this.serverEntity.removePairing(player);
}
@@ -1558,7 +1587,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1557,7 +1586,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public void updatePlayer(ServerPlayer player) {

View File

@@ -11,10 +11,10 @@ You can find the original code on https://github.com/Bloom-host/Petal
2. euclideangameeventdispatcher is not used concurrently so we ban that usage for improved performance with allays
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 3ffa7b3440b65ba3a4af4488f6ca9506e5a2128b..eb5f39b572c2a53c78aa0324ed194428e75a30a7 100644
index 26316eae266a0e19b3cacc39ed1c9263f1cd58ea..446a08355cfcb380280b102ae0b367ffa7334005 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1703,6 +1703,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1705,6 +1705,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
if (chunk != null) {
for (int j2 = k; j2 <= j1; ++j2) {
flag |= chunk.getEventDispatcher(j2).walkListeners(event, emitterPos, emitter, (gameeventlistener, vec3d1) -> {
@@ -41,7 +41,7 @@ index 22c309343299e60ed8028229b7f134109001ff35..d5947d29295ddc93ba8ac1c0fc61f7ba
org.bukkit.craftbukkit.event.CraftEventFactory.sourceBlockOverride = blockEntity.getBlockPos(); // CraftBukkit - SPIGOT-7068: Add source block override, not the most elegant way but better than passing down a BlockPosition up to five methods deep.
blockEntity.sculkSpreader.updateCursors(world, pos, world.getRandom(), true);
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 636c98d04eb4e14eab1fa208d9cb097e2ab7eef7..2ea38464a92d626127aecc41c3fc58d1cfb37e29 100644
index b89dad36bf09fdab340efc83d09992b707cd321a..71e84572fff4d78e3872b3ccc4767d973bfb9a6e 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -84,7 +84,18 @@ public class LevelChunk extends ChunkAccess {