9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-19 15:09:25 +00:00

Updated Upstream (Paper/Gale)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@09e9afd2 Avoid off-main mutations of state

Gale Changes:
Dreeam-qwq/Gale@84684276 Updated Upstream (Paper)
This commit is contained in:
Dreeam
2025-05-21 18:57:34 +08:00
parent efc2a39479
commit 0a26ea4078
7 changed files with 31 additions and 31 deletions

View File

@@ -2,7 +2,7 @@ group=cn.dreeam.leaf
mcVersion=1.21.4
version=1.21.4-R0.1-SNAPSHOT
galeCommit=00ce862b14008ecbe816606c0843b95d6b227b0d
galeCommit=8468427637dc4f8cc50b03ea117aad3d9cad3e73
org.gradle.configuration-cache=true
org.gradle.caching=true

View File

@@ -1316,7 +1316,7 @@ index 060becd4c0b7aa399496ad70ba28cb3449cfaea3..921ad69b699f693e3dfc8d912b0f1a05
this.player.clientBrandName = new net.minecraft.network.FriendlyByteBuf(io.netty.buffer.Unpooled.wrappedBuffer(data)).readUtf(256);
}
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9abc1db6b2 100644
index d9473190cfe8930df28ae847a6e7a55b97db58dd..166454f24b46c6d0e9b1e52cf9f88212859476d2 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -328,6 +328,20 @@ public class ServerGamePacketListenerImpl
@@ -1370,7 +1370,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
return;
}
@@ -1184,6 +1207,10 @@ public class ServerGamePacketListenerImpl
@@ -1185,6 +1208,10 @@ public class ServerGamePacketListenerImpl
final int maxBookPageSize = pageMax.intValue();
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
long byteAllowed = maxBookPageSize;
@@ -1381,7 +1381,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
for (final String page : pageList) {
final int byteLength = page.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
byteTotal += byteLength;
@@ -1208,7 +1235,8 @@ public class ServerGamePacketListenerImpl
@@ -1209,7 +1236,8 @@ public class ServerGamePacketListenerImpl
}
if (byteTotal > byteAllowed) {
@@ -1391,7 +1391,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
this.disconnectAsync(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause // Paper - add proper async disconnect
return;
}
@@ -1227,31 +1255,45 @@ public class ServerGamePacketListenerImpl
@@ -1228,31 +1256,45 @@ public class ServerGamePacketListenerImpl
Optional<String> optional = packet.title();
optional.ifPresent(list::add);
list.addAll(packet.pages());
@@ -1441,7 +1441,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
itemStack.set(
DataComponents.WRITTEN_BOOK_CONTENT,
new WrittenBookContent(this.filterableFromOutgoing(title), this.player.getName().getString(), 0, list, true)
@@ -1265,6 +1307,16 @@ public class ServerGamePacketListenerImpl
@@ -1266,6 +1308,16 @@ public class ServerGamePacketListenerImpl
return this.player.isTextFilteringEnabled() ? Filterable.passThrough(filteredText.filteredOrEmpty()) : Filterable.from(filteredText);
}
@@ -1458,7 +1458,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
@Override
public void handleEntityTagQuery(ServerboundEntityTagQueryPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
@@ -1300,7 +1352,15 @@ public class ServerGamePacketListenerImpl
@@ -1301,7 +1353,15 @@ public class ServerGamePacketListenerImpl
@Override
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
@@ -1475,7 +1475,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
} else {
ServerLevel serverLevel = this.player.serverLevel();
@@ -1475,7 +1535,7 @@ public class ServerGamePacketListenerImpl
@@ -1476,7 +1536,7 @@ public class ServerGamePacketListenerImpl
movedWrongly = true;
if (event.getLogWarning())
// Paper end
@@ -1484,7 +1484,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
} // Paper
}
@@ -1541,6 +1601,8 @@ public class ServerGamePacketListenerImpl
@@ -1542,6 +1602,8 @@ public class ServerGamePacketListenerImpl
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -1493,7 +1493,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
Location oldTo = to.clone();
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
this.cserver.getPluginManager().callEvent(event);
@@ -1597,6 +1659,13 @@ public class ServerGamePacketListenerImpl
@@ -1598,6 +1660,13 @@ public class ServerGamePacketListenerImpl
this.player.tryResetCurrentImpulseContext();
}
@@ -1507,7 +1507,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
this.player.checkMovementStatistics(this.player.getX() - x, this.player.getY() - y, this.player.getZ() - z);
this.lastGoodX = this.player.getX();
this.lastGoodY = this.player.getY();
@@ -1645,6 +1714,17 @@ public class ServerGamePacketListenerImpl
@@ -1646,6 +1715,17 @@ public class ServerGamePacketListenerImpl
}
}
@@ -1525,7 +1525,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
// Paper start - optimise out extra getCubes
private boolean hasNewCollision(final ServerLevel level, final Entity entity, final AABB oldBox, final AABB newBox) {
final List<AABB> collisionsBB = new java.util.ArrayList<>();
@@ -2015,6 +2095,7 @@ public class ServerGamePacketListenerImpl
@@ -2016,6 +2096,7 @@ public class ServerGamePacketListenerImpl
boolean cancelled;
if (hitResult == null || hitResult.getType() != HitResult.Type.BLOCK) {
@@ -1533,7 +1533,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
org.bukkit.event.player.PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemInHand, hand);
cancelled = event.useItemInHand() == Event.Result.DENY;
} else {
@@ -2758,6 +2839,7 @@ public class ServerGamePacketListenerImpl
@@ -2759,6 +2840,7 @@ public class ServerGamePacketListenerImpl
AABB boundingBox = target.getBoundingBox();
if (this.player.canInteractWithEntity(boundingBox, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0))) { // Paper - configurable lenience value for interact range
@@ -1541,7 +1541,7 @@ index a3d0d331d367b8ddfd0ac450acd143ce7d3f7a9a..5fcd389b5483c4c11e7a007b2b6abb9a
packet.dispatch(
new ServerboundInteractPacket.Handler() {
private void performInteraction(InteractionHand hand, ServerGamePacketListenerImpl.EntityInteraction entityInteraction, PlayerInteractEntityEvent event) { // CraftBukkit
@@ -2770,6 +2852,8 @@ public class ServerGamePacketListenerImpl
@@ -2771,6 +2853,8 @@ public class ServerGamePacketListenerImpl
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);

View File

@@ -78,10 +78,10 @@ index 55f708438e5d71cf14f4e632fc20a65b4bfb7d25..54895ed9ad9b9b2c4c12cfcce89af453
// Gale end - MultiPaper - skip unnecessary mob spawning computations
int _int = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 1ba275fd76970774922bcd91bea6bf779bab32b7..a96f4f45d465b6f0e5b061877bd11f3caeeb1625 100644
index 166454f24b46c6d0e9b1e52cf9f88212859476d2..cd9793763c9e804b25bf9bcf19bc9a401258166f 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1235,7 +1235,7 @@ public class ServerGamePacketListenerImpl
@@ -1236,7 +1236,7 @@ public class ServerGamePacketListenerImpl
}
if (byteTotal > byteAllowed) {
@@ -142,7 +142,7 @@ index a5a8bdecddadac3de1b5a0c1a9849ce1cd52a530..f500f4e32e676712fcd0c877498acc27
public Entity(EntityType<?> entityType, Level level) {
this.type = entityType;
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index ac006d8738592bc5cb77033adc8c442ce302a476..ce2a9b6c4b903e5285e77f7ee64defd8e81029ae 100644
index e66ad09280d8fb448953a6204d9fd81913227219..9124ba3ea2fca0ffa105147db1377a0dd7b818e0 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -1024,13 +1024,13 @@ public abstract class LivingEntity extends Entity implements Attackable {

View File

@@ -7,10 +7,10 @@ This Check is added in 1.17.x -> 1.18.x that updated by Mojang.
By removing this check, it gives ability for hackers to use some modules of hack clients.
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a96f4f45d465b6f0e5b061877bd11f3caeeb1625..61bf3bfb41392d38c7e796f56cc0cce870e12631 100644
index cd9793763c9e804b25bf9bcf19bc9a401258166f..6fbed156d25a068e8085934328ffab961ffd08d3 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2013,8 +2013,13 @@ public class ServerGamePacketListenerImpl
@@ -2014,8 +2014,13 @@ public class ServerGamePacketListenerImpl
BlockPos blockPos = hitResult.getBlockPos();
if (this.player.canInteractWithBlock(blockPos, 1.0)) {
Vec3 vec3 = location.subtract(Vec3.atCenterOf(blockPos));

View File

@@ -53,10 +53,10 @@ index 16a6aba187fa00fd7c3f739e46bc632987c1378f..8a9c2489730dd47cc776493695393e78
} else {
getBukkitEntity().setPlayerListName(prefix + scoreboardName + suffix, true);
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 594ff2cf2a1f9eea2fb99997383af6d78dc424fb..ddd8a7a9b33618979ff0b69a95ce8041053082e8 100644
index a902fd7c663ce588065d4b23ca4b1d48163e8977..4c39a5d0ee3bf532fd536884232df542154e8a48 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2272,6 +2272,7 @@ public class ServerGamePacketListenerImpl
@@ -2273,6 +2273,7 @@ public class ServerGamePacketListenerImpl
@Override
public void handleChatCommand(ServerboundChatCommandPacket packet) {
@@ -64,7 +64,7 @@ index 594ff2cf2a1f9eea2fb99997383af6d78dc424fb..ddd8a7a9b33618979ff0b69a95ce8041
this.tryHandleChat(packet.command(), () -> {
// CraftBukkit start - SPIGOT-7346: Prevent disconnected players from executing commands
if (this.player.hasDisconnected()) {
@@ -2280,7 +2281,7 @@ public class ServerGamePacketListenerImpl
@@ -2281,7 +2282,7 @@ public class ServerGamePacketListenerImpl
// CraftBukkit end
this.performUnsignedChatCommand(packet.command());
this.detectRateSpam("/" + packet.command()); // Spigot
@@ -73,7 +73,7 @@ index 594ff2cf2a1f9eea2fb99997383af6d78dc424fb..ddd8a7a9b33618979ff0b69a95ce8041
}
private void performUnsignedChatCommand(String command) {
@@ -2313,6 +2314,7 @@ public class ServerGamePacketListenerImpl
@@ -2314,6 +2315,7 @@ public class ServerGamePacketListenerImpl
public void handleSignedChatCommand(ServerboundChatCommandSignedPacket packet) {
Optional<LastSeenMessages> optional = this.unpackAndApplyLastSeen(packet.lastSeenMessages());
if (!optional.isEmpty()) {
@@ -81,7 +81,7 @@ index 594ff2cf2a1f9eea2fb99997383af6d78dc424fb..ddd8a7a9b33618979ff0b69a95ce8041
this.tryHandleChat(packet.command(), () -> {
// CraftBukkit start - SPIGOT-7346: Prevent disconnected players from executing commands
if (this.player.hasDisconnected()) {
@@ -2321,7 +2323,7 @@ public class ServerGamePacketListenerImpl
@@ -2322,7 +2324,7 @@ public class ServerGamePacketListenerImpl
// CraftBukkit end
this.performSignedChatCommand(packet, optional.get());
this.detectRateSpam("/" + packet.command()); // Spigot
@@ -90,7 +90,7 @@ index 594ff2cf2a1f9eea2fb99997383af6d78dc424fb..ddd8a7a9b33618979ff0b69a95ce8041
}
}
@@ -2426,12 +2428,17 @@ public class ServerGamePacketListenerImpl
@@ -2427,12 +2429,17 @@ public class ServerGamePacketListenerImpl
return dispatcher.parse(command, this.player.createCommandSourceStack());
}
@@ -110,7 +110,7 @@ index 594ff2cf2a1f9eea2fb99997383af6d78dc424fb..ddd8a7a9b33618979ff0b69a95ce8041
this.player.resetLastActionTime();
// CraftBukkit start
if (sync) {
@@ -2443,6 +2450,40 @@ public class ServerGamePacketListenerImpl
@@ -2444,6 +2451,40 @@ public class ServerGamePacketListenerImpl
}
}

View File

@@ -373,10 +373,10 @@ index 275b640f4536366152f59acf071dd4eba15696c8..a669a59a42f814480879a52d2da5e04c
}
}
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 04bf8bba0d8c0d5459605253dcc3f135bf43fd95..abe79d07196de0a10a382d4c37161c7eb4a604ae 100644
index 327b3bc89920c4ab02c1126dc63bca05ce3abefe..1415043bee5fbbfcf9dab9184a9418d52f531f62 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1819,7 +1819,7 @@ public class ServerGamePacketListenerImpl
@@ -1820,7 +1820,7 @@ public class ServerGamePacketListenerImpl
}
public void internalTeleport(PositionMoveRotation posMoveRotation, Set<Relative> relatives) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Reduce PlayerChunk Updates
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index abe79d07196de0a10a382d4c37161c7eb4a604ae..51079419496900b86ff5e9ed41150831681e6d0b 100644
index 1415043bee5fbbfcf9dab9184a9418d52f531f62..1a09ea1953169b72d67126283b5f581c2797506a 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1367,6 +1367,8 @@ public class ServerGamePacketListenerImpl
@@ -1368,6 +1368,8 @@ public class ServerGamePacketListenerImpl
this.resetPosition();
}
@@ -17,7 +17,7 @@ index abe79d07196de0a10a382d4c37161c7eb4a604ae..51079419496900b86ff5e9ed41150831
if (!this.updateAwaitingTeleport() && this.player.hasClientLoaded()) {
double d = clampHorizontal(packet.getX(this.player.getX())); final double toX = d; // Paper - OBFHELPER
double d1 = clampVertical(packet.getY(this.player.getY())); final double toY = d1; // Paper - OBFHELPER
@@ -1638,7 +1640,7 @@ public class ServerGamePacketListenerImpl
@@ -1639,7 +1641,7 @@ public class ServerGamePacketListenerImpl
&& !isFallFlying
&& !isAutoSpinAttack
&& this.noBlocksAround(this.player);