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