mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-26 12:36:07 +01:00
Remove "Implement-Chunk-Priority-Urgency-System-for-Chunks" (Fixes #5980)
Mojang made some changes to priorities in 1.17 and it seems that these changes conflict with the changes made in this patch, which in some cases appears to cause excessive rescheduling of tasks. This, however, is not confirmed as such but seems to be the behavior that we're seeing to cause this issue, if mojang has adopted the changes we suggested, then a good chunk of this patch may be unneeded, but, this needs a much better look than I'm currently able to do
This commit is contained in:
parent
565cd3306c
commit
aa52bf9e33
@ -36,10 +36,10 @@ scenario / path:
|
||||
Previously would have hopped to SERVER around 12+ times there extra.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java
|
||||
index 3364ff7e8a829771a84c6f2e61d37bb4c099af87..52fc256c0d4de63ba94625218661db397b6e704e 100644
|
||||
index 8245e07f6ecfd9dd997c8525b52c6eadd392e6f1..52ae149d22e8b0f3c2321f383351a4244c517b5e 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkHolder.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java
|
||||
@@ -242,6 +242,13 @@ public class ChunkHolder {
|
||||
@@ -113,6 +113,20 @@ public class ChunkHolder {
|
||||
// Paper end - optimise isOutsideOfRange
|
||||
long lastAutoSaveTime; // Paper - incremental autosave
|
||||
long inactiveTimeStart; // Paper - incremental autosave
|
||||
@ -49,15 +49,22 @@ index 3364ff7e8a829771a84c6f2e61d37bb4c099af87..52fc256c0d4de63ba94625218661db39
|
||||
+ ChunkAccess chunk = getAvailableChunkNow();
|
||||
+ return chunk != null && (status == null || chunk.getStatus().isOrAfter(getNextStatus(status)));
|
||||
+ }
|
||||
+ // Yanked from chunk priotisation patch - remove?
|
||||
+ public static ChunkStatus getNextStatus(ChunkStatus status) {
|
||||
+ if (status == ChunkStatus.FULL) {
|
||||
+ return status;
|
||||
+ }
|
||||
+ return CHUNK_STATUSES.get(status.getIndex() + 1);
|
||||
+ }
|
||||
+ // Paper end
|
||||
|
||||
public ChunkHolder(ChunkPos pos, int level, LevelHeightAccessor world, LevelLightEngine lightingProvider, ChunkHolder.LevelChangeListener levelUpdateListener, ChunkHolder.PlayerProvider playersWatchingChunkProvider) {
|
||||
this.futures = new AtomicReferenceArray(ChunkHolder.CHUNK_STATUSES.size());
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index dd0f9ab476735e0a61533bdfed5868fa5f523b68..017ed8e1db45d49de67b17b5979721cfd57fb9c7 100644
|
||||
index f518fc7a39a807bff2e141fd238ab1bfc34ce890..cd76029f2dc3ecfa52bae127ae261a028fa8839a 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -841,7 +841,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -702,7 +702,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
return either.mapLeft((list) -> {
|
||||
return (LevelChunk) list.get(list.size() / 2);
|
||||
});
|
||||
@ -66,7 +73,7 @@ index dd0f9ab476735e0a61533bdfed5868fa5f523b68..017ed8e1db45d49de67b17b5979721cf
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -1282,6 +1282,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -1133,6 +1133,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
return "chunkGenerate " + requiredStatus.getName();
|
||||
});
|
||||
Executor executor = (runnable) -> {
|
@ -5,10 +5,10 @@ Subject: [PATCH] Move range check for block placing up
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 91df850e66aa14b13a679357e02e2f74dc653628..03ad0c0365f85a1536fb35bfdf08d6d44240df80 100644
|
||||
index ae3465cd5be426f3bddc3552b6aad6cad8c8ee25..e307f8695643360289b998a8d2ad244d966f1180 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1673,17 +1673,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1672,17 +1672,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
BlockPos blockposition = movingobjectpositionblock.getBlockPos();
|
||||
Direction enumdirection = movingobjectpositionblock.getDirection();
|
||||
|
@ -25,19 +25,20 @@ Massive update to light to improve performance and chunk loading/generation.
|
||||
8) Fix NPE risk that crashes server in getting nibble data
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java
|
||||
index 52fc256c0d4de63ba94625218661db397b6e704e..e3c8e7692e8ca005e98d4158de0c961087dfb199 100644
|
||||
index 52ae149d22e8b0f3c2321f383351a4244c517b5e..72dd0141cb360c346690ecdb1e14d2c94ae6de90 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkHolder.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java
|
||||
@@ -773,6 +773,7 @@ public class ChunkHolder {
|
||||
ioPriority = com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGH_PRIORITY;
|
||||
}
|
||||
chunkMap.level.asyncChunkTaskManager.raisePriority(pos.x, pos.z, ioPriority);
|
||||
+ chunkMap.level.getChunkSource().getLightEngine().queue.changePriority(pos.toLong(), this.queueLevel, priority); // Paper
|
||||
@@ -639,7 +639,7 @@ public class ChunkHolder {
|
||||
}
|
||||
if (this.queueLevel != priority) {
|
||||
this.onLevelChange.onLevelChange(this.pos, () -> this.queueLevel, priority, p -> this.queueLevel = p); // use preferred priority
|
||||
|
||||
this.onLevelChange.onLevelChange(this.pos, this::getQueueLevel, this.ticketLevel, this::setQueueLevel);
|
||||
- this.oldTicketLevel = this.ticketLevel;
|
||||
+ //chunkMap.level.getChunkSource().getLightEngine().queue.changePriority(pos.toLong(), this.queueLevel, priority); // Paper // Restore this in chunk priority later?
|
||||
// CraftBukkit start
|
||||
// ChunkLoadEvent: Called after the chunk is loaded: isChunkLoaded returns true and chunk is ready to be modified by plugins.
|
||||
if (!playerchunk_state.isOrAfter(ChunkHolder.FullChunkStatus.BORDER) && playerchunk_state1.isOrAfter(ChunkHolder.FullChunkStatus.BORDER)) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 017ed8e1db45d49de67b17b5979721cfd57fb9c7..42fd259f4492e539112b5bcb310aaaadab58a443 100644
|
||||
index cd76029f2dc3ecfa52bae127ae261a028fa8839a..c42f564ecac75f7947c580e7514795c26097761e 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -97,6 +97,7 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructureMana
|
||||
@ -48,7 +49,7 @@ index 017ed8e1db45d49de67b17b5979721cfd57fb9c7..42fd259f4492e539112b5bcb310aaaad
|
||||
import it.unimi.dsi.fastutil.objects.ObjectRBTreeSet; // Paper
|
||||
import org.apache.commons.lang3.mutable.MutableBoolean;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@@ -338,6 +339,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -335,6 +336,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@ -56,7 +57,7 @@ index 017ed8e1db45d49de67b17b5979721cfd57fb9c7..42fd259f4492e539112b5bcb310aaaad
|
||||
public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureManager structureManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) {
|
||||
super(new File(session.getDimensionPath(world.dimension()), "region"), dataFixer, dsync);
|
||||
//this.visibleChunks = this.updatingChunks.clone(); // Paper - no more cloning
|
||||
@@ -372,7 +374,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -360,7 +362,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
|
||||
this.progressListener = worldGenerationProgressListener;
|
||||
this.chunkStatusListener = chunkStatusChangeListener;
|
||||
@ -73,7 +74,7 @@ index 017ed8e1db45d49de67b17b5979721cfd57fb9c7..42fd259f4492e539112b5bcb310aaaad
|
||||
|
||||
this.queueSorter = new ChunkTaskPriorityQueueSorter(ImmutableList.of(threadedmailbox, mailbox, threadedmailbox1), executor, Integer.MAX_VALUE);
|
||||
this.worldgenMailbox = this.queueSorter.getProcessor(threadedmailbox, false);
|
||||
@@ -881,6 +891,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -742,6 +752,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
try {
|
||||
@ -126,10 +127,10 @@ index d3d6651eb51c852ed1d1eeb5689569d5308b246d..c2d36600a0081c78425868154bdcf7f4
|
||||
m = Long.MAX_VALUE;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
index c63cbb6da6f734c3a93c63af2b28a6e588f22bf2..ddf28939d8037bcea456350093d077c503a3b66e 100644
|
||||
index ffe700489cb2d507421abfb48939808de0adc8be..5a2b3c150ceaaae651c3ec6aeff3bb894dd5f94d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -1076,7 +1076,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -1044,7 +1044,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||
if (ServerChunkCache.this.runDistanceManagerUpdates()) {
|
||||
return true;
|
||||
} else {
|
@ -10,7 +10,7 @@ This fixes that by checking if the modified spawn location is
|
||||
still at a respawn anchor.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 4918f89401cdf6a85d8b71f3e3a6608239a388bd..83df832b1fe5be1c1114ce3ae10c1985bf564a0c 100644
|
||||
index e0c9857a922d8a3f421d7df0f056b82c4775390e..82a646365b5b0619825995c722cf773bf23b64ae 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -79,6 +79,7 @@ import net.minecraft.world.level.GameRules;
|
||||
@ -21,7 +21,7 @@ index 4918f89401cdf6a85d8b71f3e3a6608239a388bd..83df832b1fe5be1c1114ce3ae10c1985
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.border.BorderChangeListener;
|
||||
import net.minecraft.world.level.border.WorldBorder;
|
||||
@@ -830,6 +831,7 @@ public abstract class PlayerList {
|
||||
@@ -829,6 +830,7 @@ public abstract class PlayerList {
|
||||
// Paper start
|
||||
boolean isBedSpawn = false;
|
||||
boolean isRespawn = false;
|
||||
@ -29,7 +29,7 @@ index 4918f89401cdf6a85d8b71f3e3a6608239a388bd..83df832b1fe5be1c1114ce3ae10c1985
|
||||
// Paper end
|
||||
|
||||
// CraftBukkit start - fire PlayerRespawnEvent
|
||||
@@ -840,7 +842,7 @@ public abstract class PlayerList {
|
||||
@@ -839,7 +841,7 @@ public abstract class PlayerList {
|
||||
Optional optional;
|
||||
|
||||
if (blockposition != null) {
|
||||
@ -38,7 +38,7 @@ index 4918f89401cdf6a85d8b71f3e3a6608239a388bd..83df832b1fe5be1c1114ce3ae10c1985
|
||||
} else {
|
||||
optional = Optional.empty();
|
||||
}
|
||||
@@ -883,7 +885,12 @@ public abstract class PlayerList {
|
||||
@@ -882,7 +884,12 @@ public abstract class PlayerList {
|
||||
}
|
||||
// Spigot End
|
||||
|
||||
@ -52,7 +52,7 @@ index 4918f89401cdf6a85d8b71f3e3a6608239a388bd..83df832b1fe5be1c1114ce3ae10c1985
|
||||
if (!flag) entityplayer.reset(); // SPIGOT-4785
|
||||
isRespawn = true; // Paper
|
||||
} else {
|
||||
@@ -921,8 +928,12 @@ public abstract class PlayerList {
|
||||
@@ -919,8 +926,12 @@ public abstract class PlayerList {
|
||||
}
|
||||
// entityplayer1.syncInventory();
|
||||
entityplayer1.setHealth(entityplayer1.getHealth());
|
@ -6,10 +6,10 @@ Subject: [PATCH] Add missing strikeLighting call to
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 08b4589c3b565db70e89aea0715e53c7c0529460..7bb0f720d3acd9b0b443446ed639b5c645aa373c 100644
|
||||
index 32c24f9e37262f2a854556787f61cd7b7336da11..6bcc1a7ddfcdd0da157a65d2d866b28c390e3b41 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -2675,6 +2675,7 @@ public class CraftWorld implements World {
|
||||
@@ -2669,6 +2669,7 @@ public class CraftWorld implements World {
|
||||
lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() );
|
||||
lightning.visualOnly = true;
|
||||
lightning.isSilent = isSilent;
|
@ -55,7 +55,7 @@ index 3ac5ab881913a90d5b59610e81d598e121320930..2c0b2bb254e9f4d39b526f170c11f481
|
||||
} // Paper start
|
||||
for (ServerLevel level : this.getAllLevels()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 6cf83d9b1e43ade17cb67843dbdc11937eda1e08..f3e4b9f302fbc4b615a5e735d5aab0f403e16903 100644
|
||||
index cf09bd17b9d2be04f79edef6debdd815b5f7f86c..7c05dd7489e686af3ce9c0d63cff30827467c263 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -175,6 +175,7 @@ public class ServerPlayer extends Player {
|
||||
@ -67,7 +67,7 @@ index 6cf83d9b1e43ade17cb67843dbdc11937eda1e08..f3e4b9f302fbc4b615a5e735d5aab0f4
|
||||
private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10;
|
||||
public ServerGamePacketListenerImpl connection;
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 83df832b1fe5be1c1114ce3ae10c1985bf564a0c..13f1b62e6f3adce54f82d6d131dd60976dc6f548 100644
|
||||
index 82a646365b5b0619825995c722cf773bf23b64ae..e990c9d936b9b2b510dd9c7f5a507b4ba9e79965 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -569,6 +569,7 @@ public abstract class PlayerList {
|
||||
@ -78,7 +78,7 @@ index 83df832b1fe5be1c1114ce3ae10c1985bf564a0c..13f1b62e6f3adce54f82d6d131dd6097
|
||||
this.playerIo.save(player);
|
||||
ServerStatsCounter serverstatisticmanager = (ServerStatsCounter) player.getStats(); // CraftBukkit
|
||||
|
||||
@@ -1208,10 +1209,21 @@ public abstract class PlayerList {
|
||||
@@ -1206,10 +1207,21 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void saveAll() {
|
@ -5,7 +5,7 @@ Subject: [PATCH] Brand support
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348ccc04c705b 100644
|
||||
index e307f8695643360289b998a8d2ad244d966f1180..b7454592b9cee09f41631db6664cb18e2f890479 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
|
||||
@ -33,7 +33,7 @@ index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348cc
|
||||
public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) {
|
||||
this.server = server;
|
||||
this.connection = connection;
|
||||
@@ -2981,6 +2985,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -2980,6 +2984,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
private static final ResourceLocation CUSTOM_REGISTER = new ResourceLocation("register");
|
||||
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
|
||||
|
||||
@ -42,7 +42,7 @@ index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348cc
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||
@@ -3008,6 +3014,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3007,6 +3013,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
try {
|
||||
byte[] data = new byte[packet.data.readableBytes()];
|
||||
packet.data.readBytes(data);
|
||||
@ -58,7 +58,7 @@ index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348cc
|
||||
this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data);
|
||||
} catch (Exception ex) {
|
||||
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
|
||||
@@ -3017,6 +3032,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3016,6 +3031,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
}
|
||||
|
||||
@ -72,10 +72,10 @@ index 03ad0c0365f85a1536fb35bfdf08d6d44240df80..27fc9ec7183b100dcfc755d41b3348cc
|
||||
return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 9ce4ebc9a0ddeefdc9fb3a7bd91be77aeb075011..7257c8fedb6937d925dea592a69fd56ddd05c50d 100644
|
||||
index a3951039eeb1f5d3529213ca02d11c97d499be38..e87a08d93abd507785ac5c79f97c02236aa6f43d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2441,6 +2441,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2431,6 +2431,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
// Paper end
|
||||
};
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Add #setMaxPlayers API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 13f1b62e6f3adce54f82d6d131dd60976dc6f548..f2b139d565662fca1bbad46e50b5ccb0d08c4e37 100644
|
||||
index e990c9d936b9b2b510dd9c7f5a507b4ba9e79965..518c93b7aa7a77c19d0256f3d9c24e3b21ac44de 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -145,7 +145,7 @@ public abstract class PlayerList {
|
@ -17,7 +17,7 @@ index ac9020467cef648c72ccb350d26f90545f5afb56..e60d2ef3482c002b082ee84f34b9e681
|
||||
// if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add
|
||||
this.removeTicketsForSpawn(this.paperConfig.keepLoadedRange, prevSpawn);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index d53918ec0911ef2becccb4dc6e11a9b1c8b8bf34..44cec5c379f1c15a323a44cf6721ed2cc043bb2a 100644
|
||||
index 6bcc1a7ddfcdd0da157a65d2d866b28c390e3b41..bf7ba6d7f1527d4bf8533c655316865f81cde75f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -387,11 +387,13 @@ public class CraftWorld implements World {
|
@ -5,7 +5,7 @@ Subject: [PATCH] Add moon phase API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 44cec5c379f1c15a323a44cf6721ed2cc043bb2a..6fc9b8a3daf9ecf3d4231ea872d62025d04a394e 100644
|
||||
index bf7ba6d7f1527d4bf8533c655316865f81cde75f..2bef1c8524944e0327260542a9ebed2d8aa854e0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -326,6 +326,11 @@ public class CraftWorld implements World {
|
@ -9,7 +9,7 @@ as this is how Vanilla teleports entities.
|
||||
Cancel any pending motion when teleported.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 27fc9ec7183b100dcfc755d41b3348ccc04c705b..a6a14c6d3eb6d77997e1763e2dd451e0718511ea 100644
|
||||
index b7454592b9cee09f41631db6664cb18e2f890479..5e90c722405f9e00bfaf9e2fed523552d9755c8d 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -681,7 +681,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@ -21,17 +21,16 @@ index 27fc9ec7183b100dcfc755d41b3348ccc04c705b..a6a14c6d3eb6d77997e1763e2dd451e0
|
||||
this.lastGoodX = this.awaitingPositionFromClient.x;
|
||||
this.lastGoodY = this.awaitingPositionFromClient.y;
|
||||
this.lastGoodZ = this.awaitingPositionFromClient.z;
|
||||
@@ -1548,7 +1548,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
// CraftBukkit end
|
||||
@@ -1549,6 +1549,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
this.awaitingTeleportTime = this.tickCount;
|
||||
- this.player.absMoveTo(d0, d1, d2, f, f1);
|
||||
this.player.absMoveTo(d0, d1, d2, f, f1);
|
||||
+ this.player.moveTo(d0, d1, d2, f, f1); // Paper - use proper setPositionRotation for teleportation
|
||||
this.player.forceCheckHighPriority(); // Paper
|
||||
this.player.connection.send(new ClientboundPlayerPositionPacket(d0 - d3, d1 - d4, d2 - d5, f - f2, f1 - f3, set, this.awaitingTeleport, flag));
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index cc4b48f6c62aaccddaf81576865b56f8ece4d040..94a8dabc3dc63e426e093adb4336691161f55d68 100644
|
||||
index 3e951522169fcb071cc578e8bd9a78baa10f4e4d..c94cbd22e465e22cfd66f24c2b0c3858a630f5a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -152,6 +152,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
@ -5,10 +5,10 @@ Subject: [PATCH] Don't mark dirty in invalid locations (SPIGOT-6086)
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java
|
||||
index e3c8e7692e8ca005e98d4158de0c961087dfb199..574434760cb91234b994f101a5ddef595337b42e 100644
|
||||
index 72dd0141cb360c346690ecdb1e14d2c94ae6de90..ed9588e4f0e9da2c6bdf2b34357d8de46131f84c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkHolder.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java
|
||||
@@ -379,6 +379,7 @@ public class ChunkHolder {
|
||||
@@ -257,6 +257,7 @@ public class ChunkHolder {
|
||||
}
|
||||
|
||||
public void blockChanged(BlockPos pos) {
|
@ -6,7 +6,7 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 94a8dabc3dc63e426e093adb4336691161f55d68..dc89e1ed7fa19e5d9f80bb31377b634c83caecdf 100644
|
||||
index c94cbd22e465e22cfd66f24c2b0c3858a630f5a4..1183406a0c69bb79a51d31480cc5ed17ca317444 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3932,4 +3932,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
@ -5,7 +5,7 @@ Subject: [PATCH] Entity#isTicking
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index dc89e1ed7fa19e5d9f80bb31377b634c83caecdf..c9a4598f9856b82f852d79c7c1e33767bc590c21 100644
|
||||
index 1183406a0c69bb79a51d31480cc5ed17ca317444..60acf347cb5f4fc2e0cab18c5d9b5f4c2dd5121d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -52,6 +52,7 @@ import net.minecraft.resources.ResourceKey;
|
@ -6,7 +6,7 @@ Subject: [PATCH] Fix for large move vectors crashing server
|
||||
Check movement distance also based on current position.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index a6a14c6d3eb6d77997e1763e2dd451e0718511ea..2ec517663ede99f76172376f6a37ce13c6260127 100644
|
||||
index 5e90c722405f9e00bfaf9e2fed523552d9755c8d..4c958e44f2e4627d848cef197167b7f8b0f5e965 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -506,19 +506,24 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
@ -5,7 +5,7 @@ Subject: [PATCH] Player elytra boost API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 7257c8fedb6937d925dea592a69fd56ddd05c50d..2b24575e19cd1b24c259711bfd4e6cae6492f927 100644
|
||||
index e87a08d93abd507785ac5c79f97c02236aa6f43d..65f44c7747eea49fffff678fcbfdc32195a4db5d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -539,6 +539,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@ -25,10 +25,10 @@ index 7f6405ac44fef423dc8b21f3dbeaae26a1005077..bdd4f4db9849d9107b5c62d5e83b1277
|
||||
Connection.LOGGER.debug("Failed to sent packet", throwable);
|
||||
ConnectionProtocol enumprotocol = this.getCurrentProtocol();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index f3e4b9f302fbc4b615a5e735d5aab0f403e16903..84ef1c60223d421cf515c07342d2296e477dd4b7 100644
|
||||
index 7c05dd7489e686af3ce9c0d63cff30827467c263..0e08ae0414fc5f19aecccef559976bf56216841e 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -262,6 +262,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -254,6 +254,7 @@ public class ServerPlayer extends Player {
|
||||
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
boolean needsChunkCenterUpdate; // Paper - no-tick view distance
|
||||
@ -37,7 +37,7 @@ index f3e4b9f302fbc4b615a5e735d5aab0f403e16903..84ef1c60223d421cf515c07342d2296e
|
||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 2ec517663ede99f76172376f6a37ce13c6260127..174ad1120c02ae465117a8fd93094c69589844c0 100644
|
||||
index 4c958e44f2e4627d848cef197167b7f8b0f5e965..dee3c1d24a1b4a67c79d13106fdab54200023cb9 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -443,6 +443,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@ -49,7 +49,7 @@ index 2ec517663ede99f76172376f6a37ce13c6260127..174ad1120c02ae465117a8fd93094c69
|
||||
this.connection.disconnect(ichatbasecomponent);
|
||||
});
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index f2b139d565662fca1bbad46e50b5ccb0d08c4e37..b9f6f8441cafeb3e64ce7943bfd1e92fe983a5c5 100644
|
||||
index 518c93b7aa7a77c19d0256f3d9c24e3b21ac44de..5188f62a581276847695cc457f6fe86d47ec2af5 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -596,7 +596,7 @@ public abstract class PlayerList {
|
@ -5,10 +5,10 @@ Subject: [PATCH] Expose world spawn angle
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index b9f6f8441cafeb3e64ce7943bfd1e92fe983a5c5..f8b917b2d1a1744f7a6c3b9cf60be41764ed2815 100644
|
||||
index 5188f62a581276847695cc457f6fe86d47ec2af5..523a6163c9ac3eadebdd185d291aad21c33caae8 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -874,7 +874,7 @@ public abstract class PlayerList {
|
||||
@@ -873,7 +873,7 @@ public abstract class PlayerList {
|
||||
if (location == null) {
|
||||
worldserver1 = this.server.getLevel(Level.OVERWORLD);
|
||||
blockposition = entityplayer1.getSpawnPoint(worldserver1);
|
||||
@ -18,7 +18,7 @@ index b9f6f8441cafeb3e64ce7943bfd1e92fe983a5c5..f8b917b2d1a1744f7a6c3b9cf60be417
|
||||
|
||||
Player respawnPlayer = entityplayer1.getBukkitEntity();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 4ed31e1aae61bdcc498dc7c536f8a3353e20c7d4..ae396e3ec6c5506ed49b5e80cf236d7d2128cee1 100644
|
||||
index 2bef1c8524944e0327260542a9ebed2d8aa854e0..fb82c861a457c07dfef0365fa56b4e2a8d2e1650 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -378,7 +378,7 @@ public class CraftWorld implements World {
|
@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 2b24575e19cd1b24c259711bfd4e6cae6492f927..77a74b47ffe9c9d02daae74a770427ec1da450a8 100644
|
||||
index 65f44c7747eea49fffff678fcbfdc32195a4db5d..ca479c2de83b94e30f62cfaf573e108452908930 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2067,7 +2067,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2057,7 +2057,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
if (data != null && !particle.getDataType().isInstance(data)) {
|
||||
throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass());
|
||||
}
|
@ -21,7 +21,7 @@ index 935bb237f8ecd63ca4cec64a7c7a341c9d3358e5..208690ceca2485b54acde5123ba494d7
|
||||
private void keepLoadedRange() {
|
||||
keepLoadedRange = (short) (getInt("keep-spawn-loaded-range", Math.min(spigotConfig.viewDistance, 10)) * 16);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index c9a4598f9856b82f852d79c7c1e33767bc590c21..e72477c55f6dd932bdd1b692470ddc701da9caaa 100644
|
||||
index 60acf347cb5f4fc2e0cab18c5d9b5f4c2dd5121d..41ee12693e87383a0fc1c95b3d68daf22e3545cf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1723,6 +1723,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
@ -23,7 +23,7 @@ index 22027cdebcde2157b119f37cb1471f7a69c2a31a..ec8afe1bb9881c87c4ee0f15dcfcb4b8
|
||||
public static boolean velocityOnlineMode;
|
||||
public static byte[] velocitySecretKey;
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 174ad1120c02ae465117a8fd93094c69589844c0..7b26b84307effac2805415dce080ec362a621b7a 100644
|
||||
index dee3c1d24a1b4a67c79d13106fdab54200023cb9..f7aecda113cb12b6b392b26f861c8cd55b7f3ddd 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -231,6 +231,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
@ -41,7 +41,7 @@ index b30c08bfb8c55161543a4ef09f2e462e0a1fe4ae..ec93f5300cc7d423ec0d292f0f8443f9
|
||||
|
||||
public Vec3 updateEntityPosition(Vec3 orig) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index e72477c55f6dd932bdd1b692470ddc701da9caaa..f618490fe7eb56389e86e3c6dca1d223d38c0bb0 100644
|
||||
index 41ee12693e87383a0fc1c95b3d68daf22e3545cf..37589ece33e787720e9f6bd4c403ac6366893d2d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3759,6 +3759,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
@ -5,10 +5,10 @@ Subject: [PATCH] Player Chunk Load/Unload Events
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 84ef1c60223d421cf515c07342d2296e477dd4b7..82b4805b417b130be3ce9ab6ed886c85e811ba98 100644
|
||||
index 0e08ae0414fc5f19aecccef559976bf56216841e..192cc28464aaa88a8f03dad0e4da7ef7948e83ce 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2096,11 +2096,21 @@ public class ServerPlayer extends Player {
|
||||
@@ -2072,11 +2072,21 @@ public class ServerPlayer extends Player {
|
||||
public void trackChunk(ChunkPos chunkPos, Packet<?> chunkDataPacket, Packet<?> lightUpdatePacket) {
|
||||
this.connection.send(lightUpdatePacket);
|
||||
this.connection.send(chunkDataPacket);
|
@ -6,7 +6,7 @@ Subject: [PATCH] Fix interact event not being called in adventure
|
||||
Call PlayerInteractEvent when left-clicking on a block in adventure mode
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 7b26b84307effac2805415dce080ec362a621b7a..30220613e260760d71cfe751356ec1b75d0abe96 100644
|
||||
index f7aecda113cb12b6b392b26f861c8cd55b7f3ddd..08a0d92187c55dbd9d414e8e6232d0af3c865319 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1713,7 +1713,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user