mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-21 10:27:44 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@8fd3a67 [ci skip] Clean up book limits patch (#11297) PaperMC/Paper@dae906b Add getWorld method that uses adventure Key (#11199) PaperMC/Paper@ba1b016 Allow server administrators to disable book size checks (#10457) PaperMC/Paper@a8cb8e6 [ci skip] Fix JavaDocs for HeightMap#MOTION_BLOCKING_NO_LEAVES (#11291) PaperMC/Paper@e4b38b4 Fixup config parsing
This commit is contained in:
@@ -1413,7 +1413,7 @@ index 2fe9d9b38c01d04416843fdd48d3e33899b7de63..5a9712de8abe3c3ccd08c5699f89e3ce
|
||||
|
||||
if (this.isRainingAt(blockposition)) {
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 238114d295df0508be6b47b94f478b9906384be0..879cec7a0c8e519c3c192c03be34f0012ec21790 100644
|
||||
index b13057c0792067cc6b0abdf0d64a9be2cc9389a4..427ac2a5e90ad80328a07af27552b6b380c8f3f1 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1157,6 +1157,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1422,8 +1422,8 @@ index 238114d295df0508be6b47b94f478b9906384be0..879cec7a0c8e519c3c192c03be34f001
|
||||
public void handleEditBook(ServerboundEditBookPacket packet) {
|
||||
+ if (!gg.pufferfish.pufferfish.PufferfishConfig.enableBooks && !this.player.getBukkitEntity().hasPermission("pufferfish.usebooks")) return; // Pufferfish
|
||||
// Paper start - Book size limits
|
||||
if (!this.cserver.isPrimaryThread()) {
|
||||
List<String> pageList = packet.pages();
|
||||
final io.papermc.paper.configuration.type.number.IntOr.Disabled pageMax = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax;
|
||||
if (!this.cserver.isPrimaryThread() && pageMax.enabled()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 490ee48346395fcbaf2eb0151e9248f18974fea6..3f7812c55dae82433336d6e091aa83434615fa04 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
|
||||
@@ -66,10 +66,10 @@ index ffc7f4f4544df21b713b780eded8aeba4090db52..6cad742f0141ac0e4b4b5a1dd07874eb
|
||||
|
||||
private void updatePlayerAttributes() {
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 879cec7a0c8e519c3c192c03be34f0012ec21790..fad9abfa335c84cb0afca429eb052e57eca7ed4f 100644
|
||||
index 427ac2a5e90ad80328a07af27552b6b380c8f3f1..8345c9b767d9dabbaeb8bcc09cefd3a298759399 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2785,6 +2785,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2789,6 +2789,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ index 6cad742f0141ac0e4b4b5a1dd07874eb7588e70f..fe0bbaec0a47305da244bbca7b9ce640
|
||||
return this.stats;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index b958bfbe87b559417ec6241c14a91e09e0b583d4..0ec1a50485ce0107fe1983fd079be850b2341d46 100644
|
||||
index 8345c9b767d9dabbaeb8bcc09cefd3a298759399..ba98e98a09e141d45bda8a663d5e4354e3afbc1e 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -332,6 +332,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -124,7 +124,7 @@ index b958bfbe87b559417ec6241c14a91e09e0b583d4..0ec1a50485ce0107fe1983fd079be850
|
||||
Location oldTo = to.clone();
|
||||
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
||||
this.cserver.getPluginManager().callEvent(event);
|
||||
@@ -1485,7 +1507,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1489,7 +1511,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
movedWrongly = true;
|
||||
if (event.getLogWarning())
|
||||
// Paper end
|
||||
@@ -133,7 +133,7 @@ index b958bfbe87b559417ec6241c14a91e09e0b583d4..0ec1a50485ce0107fe1983fd079be850
|
||||
} // Paper
|
||||
}
|
||||
|
||||
@@ -1553,6 +1575,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1557,6 +1579,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 0ec1a50485ce0107fe1983fd079be850b2341d46..efaa369dc1a01e4e40bec8a6a5562e7c1822b1ac 100644
|
||||
index ba98e98a09e141d45bda8a663d5e4354e3afbc1e..24507ece498ccaa2bed7b4ab53ae9c90e734ad54 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1233,10 +1233,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1237,10 +1237,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
Objects.requireNonNull(list);
|
||||
stream.forEach(list::add);
|
||||
@@ -25,7 +25,7 @@ index 0ec1a50485ce0107fe1983fd079be850b2341d46..efaa369dc1a01e4e40bec8a6a5562e7c
|
||||
};
|
||||
|
||||
this.filterTextPacket((List) list).thenAcceptAsync(consumer, this.server);
|
||||
@@ -1244,13 +1248,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1248,13 +1252,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
}
|
||||
|
||||
private void updateBookContents(List<FilteredText> pages, int slotId) {
|
||||
@@ -45,7 +45,7 @@ index 0ec1a50485ce0107fe1983fd079be850b2341d46..efaa369dc1a01e4e40bec8a6a5562e7c
|
||||
|
||||
itemstack.set(DataComponents.WRITABLE_BOOK_CONTENT, new WritableBookContent(list1));
|
||||
this.player.getInventory().setItem(slotId, CraftEventFactory.handleEditBookEvent(this.player, slotId, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
|
||||
@@ -1258,6 +1267,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1262,6 +1271,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
}
|
||||
|
||||
private void signBook(FilteredText title, List<FilteredText> pages, int slotId) {
|
||||
@@ -57,7 +57,7 @@ index 0ec1a50485ce0107fe1983fd079be850b2341d46..efaa369dc1a01e4e40bec8a6a5562e7c
|
||||
ItemStack itemstack = this.player.getInventory().getItem(slotId);
|
||||
|
||||
if (itemstack.is(Items.WRITABLE_BOOK)) {
|
||||
@@ -1265,10 +1279,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1269,10 +1283,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
itemstack1.remove(DataComponents.WRITABLE_BOOK_CONTENT);
|
||||
List<Filterable<Component>> list1 = (List<Filterable<Component>>) (List) pages.stream().map((filteredtext1) -> { // CraftBukkit - decompile error
|
||||
@@ -70,7 +70,7 @@ index 0ec1a50485ce0107fe1983fd079be850b2341d46..efaa369dc1a01e4e40bec8a6a5562e7c
|
||||
CraftEventFactory.handleEditBookEvent(this.player, slotId, itemstack, itemstack1); // CraftBukkit
|
||||
this.player.getInventory().setItem(slotId, itemstack); // CraftBukkit - event factory updates the hand book
|
||||
}
|
||||
@@ -1278,6 +1292,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1282,6 +1296,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
return this.player.isTextFilteringEnabled() ? Filterable.passThrough(message.filteredOrEmpty()) : Filterable.from(message);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index dffb1f179e4b0526fc7223c8c6a356ce32ed6448..1d49dc7fa0bed6a001ea29c051025b3b24d13c04 100644
|
||||
index 24507ece498ccaa2bed7b4ab53ae9c90e734ad54..cc770ba7f87fcb1e9027b4f120210809ea5233c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2820,6 +2820,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2824,6 +2824,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
AABB axisalignedbb = entity.getBoundingBox();
|
||||
|
||||
if (this.player.canInteractWithEntity(axisalignedbb, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(1.0D))) { // Paper - configurable lenience value for interact range
|
||||
|
||||
@@ -5,21 +5,21 @@ Subject: [PATCH] PlayerBookTooLargeEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 1121011d188db81be723e12fa734c3659d993176..1662892485ec26e191dd21c14b8e8aae87afac41 100644
|
||||
index cc770ba7f87fcb1e9027b4f120210809ea5233c0..11044fe9adb311c423e570af50cb02aa43990106 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1187,6 +1187,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
int maxBookPageSize = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax;
|
||||
double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
|
||||
@@ -1188,6 +1188,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
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;
|
||||
+ // Purpur start
|
||||
+ int slot = packet.slot();
|
||||
+ ItemStack itemstack = Inventory.isHotbarSlot(slot) || slot == Inventory.SLOT_OFFHAND ? this.player.getInventory().getItem(slot) : ItemStack.EMPTY;
|
||||
+ // Purpur end
|
||||
for (String testString : pageList) {
|
||||
int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
||||
for (final String page : pageList) {
|
||||
final int byteLength = page.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
||||
byteTotal += byteLength;
|
||||
@@ -1208,7 +1212,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1212,7 +1216,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
}
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Dont run with scissors!
|
||||
inspired by https://modrinth.com/mod/dont-run-with-scissors
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 1662892485ec26e191dd21c14b8e8aae87afac41..65cac2fa564071f5dc3d67b320825b24f6976626 100644
|
||||
index 11044fe9adb311c423e570af50cb02aa43990106..747da684de2611e56c58617c2cf42547796c9660 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1650,6 +1650,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1654,6 +1654,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.player.tryResetCurrentImpulseContext();
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ index 1662892485ec26e191dd21c14b8e8aae87afac41..65cac2fa564071f5dc3d67b320825b24
|
||||
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
|
||||
this.lastGoodX = this.player.getX();
|
||||
this.lastGoodY = this.player.getY();
|
||||
@@ -1677,6 +1684,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1681,6 +1688,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,10 +36,10 @@ index fe734df8b4521101c3e55c042957a531b3bdf945..7c06b284a6cc74c0b31f8921706c7796
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 65cac2fa564071f5dc3d67b320825b24f6976626..8a0994bdc31b2a328a18a1d62cb99d1708976f65 100644
|
||||
index 747da684de2611e56c58617c2cf42547796c9660..0dadf75aa1b9c245127d00ea90144e54f8700ff1 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2071,6 +2071,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2075,6 +2075,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
boolean cancelled;
|
||||
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add more logger output for invalid movement kicks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 8a0994bdc31b2a328a18a1d62cb99d1708976f65..b29b9d95a191205f612fe798b4617081bf2fde01 100644
|
||||
index 0dadf75aa1b9c245127d00ea90144e54f8700ff1..50b4e3fb244b8bac1a6a6d90aaf3b4be075b2500 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -755,6 +755,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -16,7 +16,7 @@ index 8a0994bdc31b2a328a18a1d62cb99d1708976f65..b29b9d95a191205f612fe798b4617081
|
||||
this.disconnect((Component) Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||
return;
|
||||
}
|
||||
@@ -1356,7 +1357,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1360,7 +1361,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@Override
|
||||
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||
|
||||
Reference in New Issue
Block a user