diff --git a/gradle.properties b/gradle.properties index e84dd0b..343bedc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=org.galemc.gale version=1.20.6-R0.1-SNAPSHOT mcVersion=1.20.6 -paperRef=5729b294eef2ffde690f73c5b14a64a31f301084 +paperRef=cdb6ba8ef1fc609289e813fa1dcbe62ac610ed0d org.gradle.caching=true org.gradle.parallel=true diff --git a/patches/api/0011-Last-tick-time-API.patch b/patches/api/0011-Last-tick-time-API.patch index 24a158e..2412846 100644 --- a/patches/api/0011-Last-tick-time-API.patch +++ b/patches/api/0011-Last-tick-time-API.patch @@ -48,10 +48,10 @@ index acf927a97b140fb131efe3abfbf67d7c664c7ffc..8dfb22c3cf06c8037ca709ebd486a37c public static Server.Spigot spigot() { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 3784896dd6bc799dc6af4fcb40c8bb1b50662c9c..359dcc9e25a49df5b79e568bfbf7a03e79b6d645 100644 +index 7b31498b03f1ea44d7533cfc8c8afdac9d2898b6..2f02355788d94891d95dd8aecf99009196b262fb 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2593,4 +2593,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2595,4 +2595,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean isOwnedByCurrentRegion(@NotNull Entity entity); // Paper end - Folia region threading API diff --git a/patches/server/0034-Better-checking-for-useless-move-packets.patch b/patches/server/0034-Better-checking-for-useless-move-packets.patch index d7807b8..eefed3d 100644 --- a/patches/server/0034-Better-checking-for-useless-move-packets.patch +++ b/patches/server/0034-Better-checking-for-useless-move-packets.patch @@ -31,18 +31,18 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 529ab44baaf573b97cf7e89560c548642733188f..733ff850468c8a6474a15a455e89bf1195dd7e65 100644 +index f16a69775332a08ed0e87d27acd0fc959359694c..4a5dc0c552bbd48cb79e29016ea455882cf13744 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java -@@ -184,6 +184,7 @@ public class ServerEntity { +@@ -191,6 +191,7 @@ public class ServerEntity { boolean flag6 = k < -32768L || k > 32767L || l < -32768L || l > 32767L || i1 < -32768L || i1 > 32767L; - if (!flag6 && this.teleportDelay <= 400 && !this.wasRiding && this.wasOnGround == this.entity.onGround()&& !(io.papermc.paper.configuration.GlobalConfiguration.get().collisions.sendFullPosForHardCollidingEntities && this.entity.hardCollides())) { // Paper - send full pos for hard colliding entities to prevent collision problems due to desync + if (!this.forceStateResync && !flag6 && this.teleportDelay <= 400 && !this.wasRiding && this.wasOnGround == this.entity.onGround()&& !(io.papermc.paper.configuration.GlobalConfiguration.get().collisions.sendFullPosForHardCollidingEntities && this.entity.hardCollides())) { // Paper - send full pos for hard colliding entities to prevent collision problems due to desync + if (flag2 || flag3 || this.entity instanceof AbstractArrow) { // Gale - Airplane - better checking for useless move packets if ((!flag2 || !flag3) && !(this.entity instanceof AbstractArrow)) { if (flag2) { packet1 = new ClientboundMoveEntityPacket.Pos(this.entity.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), this.entity.onGround()); -@@ -197,6 +198,7 @@ public class ServerEntity { +@@ -204,6 +205,7 @@ public class ServerEntity { flag4 = true; flag5 = true; } diff --git a/patches/server/0038-Remove-streams-and-iterators-from-range-check.patch b/patches/server/0038-Remove-streams-and-iterators-from-range-check.patch index 2bef820..d18d2fe 100644 --- a/patches/server/0038-Remove-streams-and-iterators-from-range-check.patch +++ b/patches/server/0038-Remove-streams-and-iterators-from-range-check.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index e1e4f32852351dbc122e53fc56e2359f835a938f..aaff62e2706b67772684193a9d05ebda1ff9e343 100644 +index 278c90341e1a3c47a584c6520ef8c108f7014c7a..8249ddaef0ad20ac5c3482159be24066230e6563 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -1455,8 +1455,30 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1456,8 +1456,30 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance); } @@ -65,7 +65,7 @@ index e1e4f32852351dbc122e53fc56e2359f835a938f..aaff62e2706b67772684193a9d05ebda Iterator iterator = this.entity.getIndirectPassengers().iterator(); while (iterator.hasNext()) { -@@ -1468,6 +1490,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1469,6 +1491,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider i = j; } } diff --git a/patches/server/0078-Reduce-array-allocations.patch b/patches/server/0078-Reduce-array-allocations.patch index efeb09e..adc321d 100644 --- a/patches/server/0078-Reduce-array-allocations.patch +++ b/patches/server/0078-Reduce-array-allocations.patch @@ -405,10 +405,10 @@ index 5443013060b62e3bfcc51cddca96d1c0bc59fe72..76a1b31a55b1838dc80b796f997edadd OptionSpec optionspec11 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1, new Integer[0]); OptionSpec optionspec12 = optionparser.accepts("serverId").withRequiredArg(); diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 949d8c167d8f2b8fa2cb16d489c1cacffcaa78e5..a9f97783ff2a62041f6fc16a2e64112b42a4188d 100644 +index 4a5dc0c552bbd48cb79e29016ea455882cf13744..db3c9d0d1428549ca6955120661cae38e40f7f8a 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java -@@ -342,7 +342,7 @@ public class ServerEntity { +@@ -350,7 +350,7 @@ public class ServerEntity { if (this.entity instanceof LivingEntity) { List> list = Lists.newArrayList(); @@ -418,7 +418,7 @@ index 949d8c167d8f2b8fa2cb16d489c1cacffcaa78e5..a9f97783ff2a62041f6fc16a2e64112b for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 92a53e55e6431a2748e5a489ca0375930087c3cf..44424717623aa45c00dc69b23fc9741117650de3 100644 +index 4bb9e099b647a6a524395d9e5393ef6f2fdc9153..5ec5ed9ac62fda568fd011dd62b1c5a23f485e40 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -38,6 +38,8 @@ import java.util.stream.Collectors; diff --git a/patches/server/0107-Send-multiple-keep-alive-packets.patch b/patches/server/0107-Send-multiple-keep-alive-packets.patch index c4661f9..be74a39 100644 --- a/patches/server/0107-Send-multiple-keep-alive-packets.patch +++ b/patches/server/0107-Send-multiple-keep-alive-packets.patch @@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index aeb1db18e864e419bb30e75d24715794d52c40d1..83196467cf7152ba756f5f6d179ee17c00a4325f 100644 +index 652ae75254d78fff02d68cbb747eaee4c3f35a1a..c3a1969e7d3e42b2f0fd0dd0a3d6a5f1dc9b1a1e 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java @@ -4,6 +4,9 @@ import com.mojang.authlib.GameProfile; @@ -117,8 +117,8 @@ index aeb1db18e864e419bb30e75d24715794d52c40d1..83196467cf7152ba756f5f6d179ee17c + } + } else { + // Gale end - Purpur - send multiple keep-alive packets - if (!this.isSingleplayerOwner() && elapsedTime >= KEEPALIVE_LIMIT) { // Paper - check keepalive limit, don't fire if already disconnected - if (this.keepAlivePending && !this.processedDisconnect) { // Paper + if (!this.isSingleplayerOwner() && elapsedTime >= 15000L) { // Paper - use vanilla's 15000L between keep alive packets + if (this.keepAlivePending && !this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // Paper - check keepalive limit, don't fire if already disconnected this.disconnect(ServerCommonPacketListenerImpl.TIMEOUT_DISCONNECTION_MESSAGE, org.bukkit.event.player.PlayerKickEvent.Cause.TIMEOUT); // Paper - kick event cause @@ -261,6 +294,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack this.send(new ClientboundKeepAlivePacket(this.keepAliveChallenge));