From 2109ba025d61b6b2408a36e26d0e5f2d6b2c8dac Mon Sep 17 00:00:00 2001 From: Luna <90072930+LunaWasFlaggedAgain@users.noreply.github.com> Date: Tue, 4 Jul 2023 13:49:28 -0300 Subject: [PATCH] Fix unused patches (#115) * Remove patch that is now in Paper * Redirect Paper's safe component method to ours --- ...d-items-in-HoverEvent-and-ItemFrame.patch} | 0 ...ates-before-attempting-to-get-block-.patch | 60 ------------------- ... 0012-Change-version-fetcher-to-AMG.patch} | 0 ...handling-of-invalid-JSON-components.patch} | 51 +++++++--------- ...=> 0014-Block-server-side-chunkbans.patch} | 0 ...-oversized-components-from-updating.patch} | 0 ...Scissors-configuration-file-command.patch} | 0 ...s-with-invalid-namespaces-from-bein.patch} | 0 ...ry-player-data-in-the-nbt-component.patch} | 0 ...tring-tag-visitors-to-1024-elements.patch} | 0 ...lling-potion-effects-and-certain-po.patch} | 0 ...ch => 0021-Fix-negative-death-times.patch} | 0 ...ehicle-collision-checks-to-3-and-di.patch} | 0 ...Add-custom-classes-used-by-Scissors.patch} | 0 ...tags.patch => 0024-Reset-large-tags.patch} | 0 ...-Don-t-log-invalid-teams-to-console.patch} | 0 ...-bounds-HangingEntity-crash-exploit.patch} | 0 ...ch => 0027-Add-MasterBlockFireEvent.patch} | 2 +- ...> 0028-Add-spectator-teleport-event.patch} | 4 +- ...29-Prevent-invalid-container-events.patch} | 4 +- ...unning-commands-in-books-by-default.patch} | 0 ...k-entity-entity-tag-query-positions.patch} | 6 +- ...ents-on-Signs-bypassing-permissions.patch} | 0 ...-legacy-messages-over-1k-characters.patch} | 0 ...tch => 0034-Prevent-velocity-freeze.patch} | 0 ...n-option-to-disable-chat-signatures.patch} | 8 +-- ...ch-invalid-entity-rotation-log-spam.patch} | 2 +- ...Patch-large-selector-distance-crash.patch} | 0 ...mit-sculk-catalyst-cursor-positions.patch} | 0 ...patch => 0039-Limit-map-decorations.patch} | 0 ...layer-banning-using-duplicate-UUIDs.patch} | 0 ...on-t-warn-on-duplicate-entity-UUIDs.patch} | 0 ...component-extra-empty-array-exploit.patch} | 0 ...pth-limit-to-Component-deserializer.patch} | 0 ...0044-Implement-command-block-events.patch} | 2 +- ...tch => 0045-Add-depth-limit-to-SNBT.patch} | 0 ...ch => 0046-Limit-beacon-effectRange.patch} | 0 ...0047-Fix-invalid-armor-trim-exploit.patch} | 0 ...ove-validation-of-ResourceLocations.patch} | 0 ...n-t-log-on-too-many-chained-updates.patch} | 0 40 files changed, 36 insertions(+), 103 deletions(-) rename patches/server/{0012-Do-not-log-invalid-items-in-HoverEvent-and-ItemFrame.patch => 0011-Do-not-log-invalid-items-in-HoverEvent-and-ItemFrame.patch} (100%) delete mode 100644 patches/server/0011-Validate-coordinates-before-attempting-to-get-block-.patch rename patches/server/{0013-Change-version-fetcher-to-AMG.patch => 0012-Change-version-fetcher-to-AMG.patch} (100%) rename patches/server/{0014-Better-handling-of-invalid-JSON-components.patch => 0013-Better-handling-of-invalid-JSON-components.patch} (82%) rename patches/server/{0015-Block-server-side-chunkbans.patch => 0014-Block-server-side-chunkbans.patch} (100%) rename patches/server/{0016-Reject-oversized-components-from-updating.patch => 0015-Reject-oversized-components-from-updating.patch} (100%) rename patches/server/{0017-Add-Scissors-configuration-file-command.patch => 0016-Add-Scissors-configuration-file-command.patch} (100%) rename patches/server/{0018-Prevent-attributes-with-invalid-namespaces-from-bein.patch => 0017-Prevent-attributes-with-invalid-namespaces-from-bein.patch} (100%) rename patches/server/{0019-Don-t-query-player-data-in-the-nbt-component.patch => 0018-Don-t-query-player-data-in-the-nbt-component.patch} (100%) rename patches/server/{0020-Limit-string-tag-visitors-to-1024-elements.patch => 0019-Limit-string-tag-visitors-to-1024-elements.patch} (100%) rename patches/server/{0021-Fixes-creative-killing-potion-effects-and-certain-po.patch => 0020-Fixes-creative-killing-potion-effects-and-certain-po.patch} (100%) rename patches/server/{0022-Fix-negative-death-times.patch => 0021-Fix-negative-death-times.patch} (100%) rename patches/server/{0023-Limit-amount-of-vehicle-collision-checks-to-3-and-di.patch => 0022-Limit-amount-of-vehicle-collision-checks-to-3-and-di.patch} (100%) rename patches/server/{0024-Add-custom-classes-used-by-Scissors.patch => 0023-Add-custom-classes-used-by-Scissors.patch} (100%) rename patches/server/{0025-Reset-large-tags.patch => 0024-Reset-large-tags.patch} (100%) rename patches/server/{0026-Don-t-log-invalid-teams-to-console.patch => 0025-Don-t-log-invalid-teams-to-console.patch} (100%) rename patches/server/{0027-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch => 0026-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch} (100%) rename patches/server/{0028-Add-MasterBlockFireEvent.patch => 0027-Add-MasterBlockFireEvent.patch} (98%) rename patches/server/{0029-Add-spectator-teleport-event.patch => 0028-Add-spectator-teleport-event.patch} (90%) rename patches/server/{0030-Prevent-invalid-container-events.patch => 0029-Prevent-invalid-container-events.patch} (91%) rename patches/server/{0031-Disable-running-commands-in-books-by-default.patch => 0030-Disable-running-commands-in-books-by-default.patch} (100%) rename patches/server/{0032-Validate-block-entity-entity-tag-query-positions.patch => 0031-Validate-block-entity-entity-tag-query-positions.patch} (81%) rename patches/server/{0033-Fix-ClickEvents-on-Signs-bypassing-permissions.patch => 0032-Fix-ClickEvents-on-Signs-bypassing-permissions.patch} (100%) rename patches/server/{0034-Refuse-to-convert-legacy-messages-over-1k-characters.patch => 0033-Refuse-to-convert-legacy-messages-over-1k-characters.patch} (100%) rename patches/server/{0035-Prevent-velocity-freeze.patch => 0034-Prevent-velocity-freeze.patch} (100%) rename patches/server/{0036-Add-configuration-option-to-disable-chat-signatures.patch => 0035-Add-configuration-option-to-disable-chat-signatures.patch} (95%) rename patches/server/{0037-Patch-invalid-entity-rotation-log-spam.patch => 0036-Patch-invalid-entity-rotation-log-spam.patch} (89%) rename patches/server/{0038-Patch-large-selector-distance-crash.patch => 0037-Patch-large-selector-distance-crash.patch} (100%) rename patches/server/{0039-Limit-sculk-catalyst-cursor-positions.patch => 0038-Limit-sculk-catalyst-cursor-positions.patch} (100%) rename patches/server/{0040-Limit-map-decorations.patch => 0039-Limit-map-decorations.patch} (100%) rename patches/server/{0041-Prevent-player-banning-using-duplicate-UUIDs.patch => 0040-Prevent-player-banning-using-duplicate-UUIDs.patch} (100%) rename patches/server/{0042-Don-t-warn-on-duplicate-entity-UUIDs.patch => 0041-Don-t-warn-on-duplicate-entity-UUIDs.patch} (100%) rename patches/server/{0043-Fix-component-extra-empty-array-exploit.patch => 0042-Fix-component-extra-empty-array-exploit.patch} (100%) rename patches/server/{0044-Add-depth-limit-to-Component-deserializer.patch => 0043-Add-depth-limit-to-Component-deserializer.patch} (100%) rename patches/server/{0045-Implement-command-block-events.patch => 0044-Implement-command-block-events.patch} (98%) rename patches/server/{0046-Add-depth-limit-to-SNBT.patch => 0045-Add-depth-limit-to-SNBT.patch} (100%) rename patches/server/{0047-Limit-beacon-effectRange.patch => 0046-Limit-beacon-effectRange.patch} (100%) rename patches/server/{0048-Fix-invalid-armor-trim-exploit.patch => 0047-Fix-invalid-armor-trim-exploit.patch} (100%) rename patches/server/{0049-Improve-validation-of-ResourceLocations.patch => 0048-Improve-validation-of-ResourceLocations.patch} (100%) rename patches/server/{0050-Don-t-log-on-too-many-chained-updates.patch => 0049-Don-t-log-on-too-many-chained-updates.patch} (100%) diff --git a/patches/server/0012-Do-not-log-invalid-items-in-HoverEvent-and-ItemFrame.patch b/patches/server/0011-Do-not-log-invalid-items-in-HoverEvent-and-ItemFrame.patch similarity index 100% rename from patches/server/0012-Do-not-log-invalid-items-in-HoverEvent-and-ItemFrame.patch rename to patches/server/0011-Do-not-log-invalid-items-in-HoverEvent-and-ItemFrame.patch diff --git a/patches/server/0011-Validate-coordinates-before-attempting-to-get-block-.patch b/patches/server/0011-Validate-coordinates-before-attempting-to-get-block-.patch deleted file mode 100644 index 77818a8..0000000 --- a/patches/server/0011-Validate-coordinates-before-attempting-to-get-block-.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Video -Date: Sun, 20 Mar 2022 07:46:37 -0600 -Subject: [PATCH] Validate coordinates before attempting to get block entities - when handling Creative Inventory packets - - -diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2a609e43370e68943c580083f7f7d8c9b0972955..9d9bcf537ba9ae67cdcfec33f983c0983aaf889e 100644 ---- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1923,6 +1923,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic - } - // Spigot end - -+ // Scissors start - Readd the following Paper code -+ // Paper start -+ private static final int SURVIVAL_PLACE_DISTANCE_SQUARED = 6 * 6; -+ private static final int CREATIVE_PLACE_DISTANCE_SQUARED = 7 * 7; -+ private boolean isOutsideOfReach(double x, double y, double z) { -+ Location eyeLoc = this.getCraftPlayer().getEyeLocation(); -+ double reachDistance = org.bukkit.util.NumberConversions.square(eyeLoc.getX() - x) + org.bukkit.util.NumberConversions.square(eyeLoc.getY() - y) + org.bukkit.util.NumberConversions.square(eyeLoc.getZ() - z); -+ return reachDistance > (this.getCraftPlayer().getGameMode() == org.bukkit.GameMode.CREATIVE ? CREATIVE_PLACE_DISTANCE_SQUARED : SURVIVAL_PLACE_DISTANCE_SQUARED); -+ } -+ // Paper end -+ // Scissors end -+ - @Override - public void handleUseItemOn(ServerboundUseItemOnPacket packet) { - PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); -@@ -3349,16 +3361,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic - BlockPos blockposition = BlockEntity.getPosFromTag(nbttagcompound); - - if (this.player.level().isLoaded(blockposition)) { -- // Paper start -- BlockEntity tileentity = null; -- if (this.player.distanceToSqr(blockposition.getX(), blockposition.getY(), blockposition.getZ()) < 32 * 32 && this.player.serverLevel().isLoadedAndInBounds(blockposition)) { -- tileentity = this.player.level().getBlockEntity(blockposition); -- } -- // Paper end -+ // Scissors start - Validate coordinates and whether the player can reach them -+ if (Level.isInSpawnableBounds(blockposition) && !isOutsideOfReach(blockposition.getX(), blockposition.getY(), blockposition.getZ())) -+ { -+ BlockEntity tileentity = null; -+ if (this.player.distanceToSqr(blockposition.getX(), blockposition.getY(), blockposition.getZ()) < 32 * 32 && this.player.serverLevel().isLoadedAndInBounds(blockposition)) -+ { -+ tileentity = this.player.level().getBlockEntity(blockposition); -+ } -+ // Paper end - -- if (tileentity != null) { -- tileentity.saveToItem(itemstack); -+ if (tileentity != null) { -+ tileentity.saveToItem(itemstack); -+ } - } -+ // Scissors end - } - } - diff --git a/patches/server/0013-Change-version-fetcher-to-AMG.patch b/patches/server/0012-Change-version-fetcher-to-AMG.patch similarity index 100% rename from patches/server/0013-Change-version-fetcher-to-AMG.patch rename to patches/server/0012-Change-version-fetcher-to-AMG.patch diff --git a/patches/server/0014-Better-handling-of-invalid-JSON-components.patch b/patches/server/0013-Better-handling-of-invalid-JSON-components.patch similarity index 82% rename from patches/server/0014-Better-handling-of-invalid-JSON-components.patch rename to patches/server/0013-Better-handling-of-invalid-JSON-components.patch index 6fec113..1b04f31 100644 --- a/patches/server/0014-Better-handling-of-invalid-JSON-components.patch +++ b/patches/server/0013-Better-handling-of-invalid-JSON-components.patch @@ -4,6 +4,25 @@ Date: Mon, 28 Mar 2022 13:19:43 -0600 Subject: [PATCH] Better handling of invalid JSON components +diff --git a/src/main/java/io/papermc/paper/util/MCUtil.java b/src/main/java/io/papermc/paper/util/MCUtil.java +index 2d11a67bdc82088abf0b3ca134f352f155c8eb1f..e61b0a84a14f7454db3400a1e687b41d2d9d578a 100644 +--- a/src/main/java/io/papermc/paper/util/MCUtil.java ++++ b/src/main/java/io/papermc/paper/util/MCUtil.java +@@ -542,13 +542,7 @@ public final class MCUtil { + return null; + } + String string = compound.getString(key); +- try { +- return Component.Serializer.fromJson(string); +- } catch (com.google.gson.JsonParseException e) { +- org.bukkit.Bukkit.getLogger().warning("Unable to parse " + key + " from " + compound +": " + e.getMessage()); +- } +- +- return null; ++ return Component.Serializer.fromJsonSafe(string); + } + + public static ChunkStatus getChunkStatus(ChunkHolder chunk) { diff --git a/src/main/java/net/minecraft/network/chat/Component.java b/src/main/java/net/minecraft/network/chat/Component.java index 37fc353c3e59dd5af2fd6c58ac084fb0e6e155d7..2873ed7c443ed8c8c57a8b1d3e444d229f10f07b 100644 --- a/src/main/java/net/minecraft/network/chat/Component.java @@ -84,14 +103,14 @@ index 7449a024265c42f28a6c9a1ed8d8f4b9e3096aac..487c68abc3eb5c18dc7fee762b216400 // Scissors start UUID uUID; diff --git a/src/main/java/net/minecraft/network/chat/contents/NbtContents.java b/src/main/java/net/minecraft/network/chat/contents/NbtContents.java -index 97a2657bc98d41c3c1e376b266d2c85f685acc88..a55cae0724cd92c80a4f79a3babb91d0802f0860 100644 +index 97a2657bc98d41c3c1e376b266d2c85f685acc88..9d20f3f1af8e663a8c13714c8928d4a91653daa4 100644 --- a/src/main/java/net/minecraft/network/chat/contents/NbtContents.java +++ b/src/main/java/net/minecraft/network/chat/contents/NbtContents.java @@ -8,6 +8,7 @@ import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.Nullable; -+import net.kyori.adventure.text.TextComponent; ++import net.kyori.adventure.text.TextComponent; // Scissors import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.arguments.NbtPathArgument; import net.minecraft.nbt.Tag; @@ -109,7 +128,7 @@ index 97a2657bc98d41c3c1e376b266d2c85f685acc88..a55cae0724cd92c80a4f79a3babb91d0 } }).reduce((accumulator, current) -> { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 513c34aa02d63f7e3c178eade818e156af4541db..c19ea0dd30c39b1e7a30ab5bcc32820a5ee3d16a 100644 +index 6abaf7ef99800a238b29dbbb85de8c970c0806a7..8ac82a6e81f77edbebcf073d34ee3c246a3f424c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2486,12 +2486,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -126,32 +145,6 @@ index 513c34aa02d63f7e3c178eade818e156af4541db..c19ea0dd30c39b1e7a30ab5bcc32820a } this.setCustomNameVisible(nbt.getBoolean("CustomNameVisible")); -diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java -index 59246e24558569f7f50b4d4d508616798091c888..5005a0ad5f703727ea9c618ae4b769a77d5655b5 100644 ---- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java -+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java -@@ -410,7 +410,7 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name - this.levels = nbt.getInt("Levels"); // SPIGOT-5053, use where available - // CraftBukkit end - if (nbt.contains("CustomName", 8)) { -- this.name = io.papermc.paper.util.MCUtil.getBaseComponentFromNbt("CustomName", nbt); // Paper - Catch ParseException -+ this.name = Component.Serializer.fromJsonSafe(nbt.getString("CustomName")); // Scissors - Use safer method for getting Components from JSON - } - - this.lockKey = LockCode.fromTag(nbt); -diff --git a/src/main/java/net/minecraft/world/level/block/entity/EnchantmentTableBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/EnchantmentTableBlockEntity.java -index 65e1381bb2d10bd212463feb602c60f8fdb9ade1..3e23451066894ebd88cad7022970cb2c0e9b75db 100644 ---- a/src/main/java/net/minecraft/world/level/block/entity/EnchantmentTableBlockEntity.java -+++ b/src/main/java/net/minecraft/world/level/block/entity/EnchantmentTableBlockEntity.java -@@ -42,7 +42,7 @@ public class EnchantmentTableBlockEntity extends BlockEntity implements Nameable - public void load(CompoundTag nbt) { - super.load(nbt); - if (nbt.contains("CustomName", 8)) { -- this.name = io.papermc.paper.util.MCUtil.getBaseComponentFromNbt("CustomName", nbt); // Paper - Catch ParseException -+ this.name = Component.Serializer.fromJsonSafe(nbt.getString("CustomName")); // Scissors - Use safer method for getting Components from JSON - } - - } diff --git a/src/main/java/net/minecraft/world/scores/ScoreboardSaveData.java b/src/main/java/net/minecraft/world/scores/ScoreboardSaveData.java index 2be7a697f08045b974579e6942b38571e744efac..84ec21c38bb44db1e9ff26c01d5c8af1a2417616 100644 --- a/src/main/java/net/minecraft/world/scores/ScoreboardSaveData.java diff --git a/patches/server/0015-Block-server-side-chunkbans.patch b/patches/server/0014-Block-server-side-chunkbans.patch similarity index 100% rename from patches/server/0015-Block-server-side-chunkbans.patch rename to patches/server/0014-Block-server-side-chunkbans.patch diff --git a/patches/server/0016-Reject-oversized-components-from-updating.patch b/patches/server/0015-Reject-oversized-components-from-updating.patch similarity index 100% rename from patches/server/0016-Reject-oversized-components-from-updating.patch rename to patches/server/0015-Reject-oversized-components-from-updating.patch diff --git a/patches/server/0017-Add-Scissors-configuration-file-command.patch b/patches/server/0016-Add-Scissors-configuration-file-command.patch similarity index 100% rename from patches/server/0017-Add-Scissors-configuration-file-command.patch rename to patches/server/0016-Add-Scissors-configuration-file-command.patch diff --git a/patches/server/0018-Prevent-attributes-with-invalid-namespaces-from-bein.patch b/patches/server/0017-Prevent-attributes-with-invalid-namespaces-from-bein.patch similarity index 100% rename from patches/server/0018-Prevent-attributes-with-invalid-namespaces-from-bein.patch rename to patches/server/0017-Prevent-attributes-with-invalid-namespaces-from-bein.patch diff --git a/patches/server/0019-Don-t-query-player-data-in-the-nbt-component.patch b/patches/server/0018-Don-t-query-player-data-in-the-nbt-component.patch similarity index 100% rename from patches/server/0019-Don-t-query-player-data-in-the-nbt-component.patch rename to patches/server/0018-Don-t-query-player-data-in-the-nbt-component.patch diff --git a/patches/server/0020-Limit-string-tag-visitors-to-1024-elements.patch b/patches/server/0019-Limit-string-tag-visitors-to-1024-elements.patch similarity index 100% rename from patches/server/0020-Limit-string-tag-visitors-to-1024-elements.patch rename to patches/server/0019-Limit-string-tag-visitors-to-1024-elements.patch diff --git a/patches/server/0021-Fixes-creative-killing-potion-effects-and-certain-po.patch b/patches/server/0020-Fixes-creative-killing-potion-effects-and-certain-po.patch similarity index 100% rename from patches/server/0021-Fixes-creative-killing-potion-effects-and-certain-po.patch rename to patches/server/0020-Fixes-creative-killing-potion-effects-and-certain-po.patch diff --git a/patches/server/0022-Fix-negative-death-times.patch b/patches/server/0021-Fix-negative-death-times.patch similarity index 100% rename from patches/server/0022-Fix-negative-death-times.patch rename to patches/server/0021-Fix-negative-death-times.patch diff --git a/patches/server/0023-Limit-amount-of-vehicle-collision-checks-to-3-and-di.patch b/patches/server/0022-Limit-amount-of-vehicle-collision-checks-to-3-and-di.patch similarity index 100% rename from patches/server/0023-Limit-amount-of-vehicle-collision-checks-to-3-and-di.patch rename to patches/server/0022-Limit-amount-of-vehicle-collision-checks-to-3-and-di.patch diff --git a/patches/server/0024-Add-custom-classes-used-by-Scissors.patch b/patches/server/0023-Add-custom-classes-used-by-Scissors.patch similarity index 100% rename from patches/server/0024-Add-custom-classes-used-by-Scissors.patch rename to patches/server/0023-Add-custom-classes-used-by-Scissors.patch diff --git a/patches/server/0025-Reset-large-tags.patch b/patches/server/0024-Reset-large-tags.patch similarity index 100% rename from patches/server/0025-Reset-large-tags.patch rename to patches/server/0024-Reset-large-tags.patch diff --git a/patches/server/0026-Don-t-log-invalid-teams-to-console.patch b/patches/server/0025-Don-t-log-invalid-teams-to-console.patch similarity index 100% rename from patches/server/0026-Don-t-log-invalid-teams-to-console.patch rename to patches/server/0025-Don-t-log-invalid-teams-to-console.patch diff --git a/patches/server/0027-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch b/patches/server/0026-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch similarity index 100% rename from patches/server/0027-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch rename to patches/server/0026-Fixes-out-of-bounds-HangingEntity-crash-exploit.patch diff --git a/patches/server/0028-Add-MasterBlockFireEvent.patch b/patches/server/0027-Add-MasterBlockFireEvent.patch similarity index 98% rename from patches/server/0028-Add-MasterBlockFireEvent.patch rename to patches/server/0027-Add-MasterBlockFireEvent.patch index 0b737b2..02eb901 100644 --- a/patches/server/0028-Add-MasterBlockFireEvent.patch +++ b/patches/server/0027-Add-MasterBlockFireEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add MasterBlockFireEvent diff --git a/src/main/java/net/minecraft/world/level/block/CommandBlock.java b/src/main/java/net/minecraft/world/level/block/CommandBlock.java -index 2e7c03b00bc941b86df6a7f1b2b188c9f0aede22..6d4defceae65290a60a84561293d5b4095c4dcaa 100644 +index 2e7c03b00bc941b86df6a7f1b2b188c9f0aede22..0ae03d3934ad7b2b38afa45a65c7753dcbe796d2 100644 --- a/src/main/java/net/minecraft/world/level/block/CommandBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CommandBlock.java @@ -1,5 +1,6 @@ diff --git a/patches/server/0029-Add-spectator-teleport-event.patch b/patches/server/0028-Add-spectator-teleport-event.patch similarity index 90% rename from patches/server/0029-Add-spectator-teleport-event.patch rename to patches/server/0028-Add-spectator-teleport-event.patch index 20ac68a..332e1dc 100644 --- a/patches/server/0029-Add-spectator-teleport-event.patch +++ b/patches/server/0028-Add-spectator-teleport-event.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add spectator teleport event diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a38c677b01dc4a18ac63d2e5f63cd40d07cc02d9..871f060682a7ff9772d09c0a6afbd55c8360e296 100644 +index 2a609e43370e68943c580083f7f7d8c9b0972955..af4bbfea9ec461ffddd359b0d39843882cea40eb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1,5 +1,6 @@ @@ -15,7 +15,7 @@ index a38c677b01dc4a18ac63d2e5f63cd40d07cc02d9..871f060682a7ff9772d09c0a6afbd55c import com.google.common.collect.Lists; import com.google.common.primitives.Floats; import com.mojang.brigadier.ParseResults; -@@ -2070,6 +2071,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2058,6 +2059,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Entity entity = packet.getEntity(worldserver); if (entity != null) { diff --git a/patches/server/0030-Prevent-invalid-container-events.patch b/patches/server/0029-Prevent-invalid-container-events.patch similarity index 91% rename from patches/server/0030-Prevent-invalid-container-events.patch rename to patches/server/0029-Prevent-invalid-container-events.patch index 19b92fe..21dbcd1 100644 --- a/patches/server/0030-Prevent-invalid-container-events.patch +++ b/patches/server/0029-Prevent-invalid-container-events.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent invalid container events diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 871f060682a7ff9772d09c0a6afbd55c8360e296..aaaa55f8574694e4b83824773a99461b2f36542a 100644 +index af4bbfea9ec461ffddd359b0d39843882cea40eb..26a92bcb1c6577b6982fe723fc65f64adddbce4f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -30,6 +30,7 @@ import java.util.function.UnaryOperator; @@ -16,7 +16,7 @@ index 871f060682a7ff9772d09c0a6afbd55c8360e296..aaaa55f8574694e4b83824773a99461b import net.minecraft.ChatFormatting; import net.minecraft.CrashReport; import net.minecraft.CrashReportCategory; -@@ -3010,6 +3011,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2998,6 +2999,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return; } diff --git a/patches/server/0031-Disable-running-commands-in-books-by-default.patch b/patches/server/0030-Disable-running-commands-in-books-by-default.patch similarity index 100% rename from patches/server/0031-Disable-running-commands-in-books-by-default.patch rename to patches/server/0030-Disable-running-commands-in-books-by-default.patch diff --git a/patches/server/0032-Validate-block-entity-entity-tag-query-positions.patch b/patches/server/0031-Validate-block-entity-entity-tag-query-positions.patch similarity index 81% rename from patches/server/0032-Validate-block-entity-entity-tag-query-positions.patch rename to patches/server/0031-Validate-block-entity-entity-tag-query-positions.patch index e59cf4b..c009fe5 100644 --- a/patches/server/0032-Validate-block-entity-entity-tag-query-positions.patch +++ b/patches/server/0031-Validate-block-entity-entity-tag-query-positions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Validate block entity/entity tag query positions diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 682f3940659b48fd04e5ec65d5557a679eb8b267..f13b3e0a44b7a3f69fa7cc2e51ccb68c9d81082f 100644 +index 26a92bcb1c6577b6982fe723fc65f64adddbce4f..52fb4163e8d7e0b9d859ac5d2827f8695f6b867f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1362,7 +1362,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -13,7 +13,7 @@ index 682f3940659b48fd04e5ec65d5557a679eb8b267..f13b3e0a44b7a3f69fa7cc2e51ccb68c Entity entity = this.player.level().getEntity(packet.getEntityId()); - if (entity != null) { -+ if (entity != null && !isOutsideOfReach(entity.position().x, entity.position().y, entity.position().z)) { // Scissors - Validate block entity tag query positions ++ if (entity != null && this.player.distanceToSqr(entity.position().x, entity.position().y, entity.position().z) < 32 * 32) { // Scissors - Validate entity tag query positions CompoundTag nbttagcompound = entity.saveWithoutId(new CompoundTag()); this.player.connection.send(new ClientboundTagQueryPacket(packet.getTransactionId(), nbttagcompound)); @@ -24,7 +24,7 @@ index 682f3940659b48fd04e5ec65d5557a679eb8b267..f13b3e0a44b7a3f69fa7cc2e51ccb68c - if (this.player.hasPermissions(2)) { + // Scissors start - Validate block entity tag query positions + if (this.player.hasPermissions(2) && this.player.level().isLoadedAndInBounds(packet.getPos()) -+ && !isOutsideOfReach(packet.getPos().getX(), packet.getPos().getY(), packet.getPos().getZ())) { ++ && this.player.distanceToSqr(packet.getPos().getX(), packet.getPos().getY(), packet.getPos().getZ()) < 32 * 32) { + // Scissors end BlockEntity tileentity = this.player.level().getBlockEntity(packet.getPos()); CompoundTag nbttagcompound = tileentity != null ? tileentity.saveWithoutMetadata() : null; diff --git a/patches/server/0033-Fix-ClickEvents-on-Signs-bypassing-permissions.patch b/patches/server/0032-Fix-ClickEvents-on-Signs-bypassing-permissions.patch similarity index 100% rename from patches/server/0033-Fix-ClickEvents-on-Signs-bypassing-permissions.patch rename to patches/server/0032-Fix-ClickEvents-on-Signs-bypassing-permissions.patch diff --git a/patches/server/0034-Refuse-to-convert-legacy-messages-over-1k-characters.patch b/patches/server/0033-Refuse-to-convert-legacy-messages-over-1k-characters.patch similarity index 100% rename from patches/server/0034-Refuse-to-convert-legacy-messages-over-1k-characters.patch rename to patches/server/0033-Refuse-to-convert-legacy-messages-over-1k-characters.patch diff --git a/patches/server/0035-Prevent-velocity-freeze.patch b/patches/server/0034-Prevent-velocity-freeze.patch similarity index 100% rename from patches/server/0035-Prevent-velocity-freeze.patch rename to patches/server/0034-Prevent-velocity-freeze.patch diff --git a/patches/server/0036-Add-configuration-option-to-disable-chat-signatures.patch b/patches/server/0035-Add-configuration-option-to-disable-chat-signatures.patch similarity index 95% rename from patches/server/0036-Add-configuration-option-to-disable-chat-signatures.patch rename to patches/server/0035-Add-configuration-option-to-disable-chat-signatures.patch index 6f4bb51..8d2f645 100644 --- a/patches/server/0036-Add-configuration-option-to-disable-chat-signatures.patch +++ b/patches/server/0035-Add-configuration-option-to-disable-chat-signatures.patch @@ -64,7 +64,7 @@ index c0a80824a0307ea673805015119cc834b268f0dc..9f28f86b1b56ea55ab39f6ac988c1f47 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f13b3e0a44b7a3f69fa7cc2e51ccb68c9d81082f..dabcf5d58b88df32b2540cd8474e80dd392a3ebc 100644 +index 52fb4163e8d7e0b9d859ac5d2827f8695f6b867f..3c798443b7eb52dd0b66bdb27422f6e198d48c2c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1,5 +1,6 @@ @@ -74,7 +74,7 @@ index f13b3e0a44b7a3f69fa7cc2e51ccb68c9d81082f..dabcf5d58b88df32b2540cd8474e80dd import me.totalfreedom.scissors.event.player.SpectatorTeleportEvent; // Scissors import com.google.common.collect.Lists; import com.google.common.primitives.Floats; -@@ -2325,7 +2326,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2313,7 +2314,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private void handleMessageDecodeFailure(SignedMessageChain.DecodeException exception) { @@ -83,7 +83,7 @@ index f13b3e0a44b7a3f69fa7cc2e51ccb68c9d81082f..dabcf5d58b88df32b2540cd8474e80dd this.disconnect(exception.getComponent(), exception.kickCause); // Paper - kick event causes } else { this.player.sendSystemMessage(exception.getComponent().copy().withStyle(ChatFormatting.RED)); -@@ -2381,6 +2382,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2369,6 +2370,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Optional optional = this.lastSeenMessages.applyUpdate(acknowledgment); if (optional.isEmpty()) { @@ -91,7 +91,7 @@ index f13b3e0a44b7a3f69fa7cc2e51ccb68c9d81082f..dabcf5d58b88df32b2540cd8474e80dd ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); this.disconnect(ServerGamePacketListenerImpl.CHAT_VALIDATION_FAILED, org.bukkit.event.player.PlayerKickEvent.Cause.CHAT_VALIDATION_FAILED); // Paper - kick event causes } -@@ -2616,6 +2618,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2604,6 +2606,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic synchronized (this.lastSeenMessages) { if (!this.lastSeenMessages.applyOffset(packet.offset())) { diff --git a/patches/server/0037-Patch-invalid-entity-rotation-log-spam.patch b/patches/server/0036-Patch-invalid-entity-rotation-log-spam.patch similarity index 89% rename from patches/server/0037-Patch-invalid-entity-rotation-log-spam.patch rename to patches/server/0036-Patch-invalid-entity-rotation-log-spam.patch index 254d0fc..58a7da2 100644 --- a/patches/server/0037-Patch-invalid-entity-rotation-log-spam.patch +++ b/patches/server/0036-Patch-invalid-entity-rotation-log-spam.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Patch invalid entity rotation log spam diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c19ea0dd30c39b1e7a30ab5bcc32820a5ee3d16a..dd1e22aa7c7195201ee09cc9d3529ca64a1e6509 100644 +index 8ac82a6e81f77edbebcf073d34ee3c246a3f424c..7256f7a5f178ac3a8e153f0491bcac7fd48186fa 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4640,7 +4640,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0038-Patch-large-selector-distance-crash.patch b/patches/server/0037-Patch-large-selector-distance-crash.patch similarity index 100% rename from patches/server/0038-Patch-large-selector-distance-crash.patch rename to patches/server/0037-Patch-large-selector-distance-crash.patch diff --git a/patches/server/0039-Limit-sculk-catalyst-cursor-positions.patch b/patches/server/0038-Limit-sculk-catalyst-cursor-positions.patch similarity index 100% rename from patches/server/0039-Limit-sculk-catalyst-cursor-positions.patch rename to patches/server/0038-Limit-sculk-catalyst-cursor-positions.patch diff --git a/patches/server/0040-Limit-map-decorations.patch b/patches/server/0039-Limit-map-decorations.patch similarity index 100% rename from patches/server/0040-Limit-map-decorations.patch rename to patches/server/0039-Limit-map-decorations.patch diff --git a/patches/server/0041-Prevent-player-banning-using-duplicate-UUIDs.patch b/patches/server/0040-Prevent-player-banning-using-duplicate-UUIDs.patch similarity index 100% rename from patches/server/0041-Prevent-player-banning-using-duplicate-UUIDs.patch rename to patches/server/0040-Prevent-player-banning-using-duplicate-UUIDs.patch diff --git a/patches/server/0042-Don-t-warn-on-duplicate-entity-UUIDs.patch b/patches/server/0041-Don-t-warn-on-duplicate-entity-UUIDs.patch similarity index 100% rename from patches/server/0042-Don-t-warn-on-duplicate-entity-UUIDs.patch rename to patches/server/0041-Don-t-warn-on-duplicate-entity-UUIDs.patch diff --git a/patches/server/0043-Fix-component-extra-empty-array-exploit.patch b/patches/server/0042-Fix-component-extra-empty-array-exploit.patch similarity index 100% rename from patches/server/0043-Fix-component-extra-empty-array-exploit.patch rename to patches/server/0042-Fix-component-extra-empty-array-exploit.patch diff --git a/patches/server/0044-Add-depth-limit-to-Component-deserializer.patch b/patches/server/0043-Add-depth-limit-to-Component-deserializer.patch similarity index 100% rename from patches/server/0044-Add-depth-limit-to-Component-deserializer.patch rename to patches/server/0043-Add-depth-limit-to-Component-deserializer.patch diff --git a/patches/server/0045-Implement-command-block-events.patch b/patches/server/0044-Implement-command-block-events.patch similarity index 98% rename from patches/server/0045-Implement-command-block-events.patch rename to patches/server/0044-Implement-command-block-events.patch index e46fab4..9ed5684 100644 --- a/patches/server/0045-Implement-command-block-events.patch +++ b/patches/server/0044-Implement-command-block-events.patch @@ -18,7 +18,7 @@ index c99fc118013cb3d4043638e2001a8297e79ddf9c..cdaa81e1f2167b29ec01cc25e51a8400 private final boolean trackOutput; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f59b2ed4c3f8a4049223985e41537d5fa8bb2f0b..bc7ada4d20ff006a709d72d7002510b637c5244f 100644 +index 3c798443b7eb52dd0b66bdb27422f6e198d48c2c..fbc247d364d3cdee94b04b1108c99d2909b1773a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1,6 +1,8 @@ diff --git a/patches/server/0046-Add-depth-limit-to-SNBT.patch b/patches/server/0045-Add-depth-limit-to-SNBT.patch similarity index 100% rename from patches/server/0046-Add-depth-limit-to-SNBT.patch rename to patches/server/0045-Add-depth-limit-to-SNBT.patch diff --git a/patches/server/0047-Limit-beacon-effectRange.patch b/patches/server/0046-Limit-beacon-effectRange.patch similarity index 100% rename from patches/server/0047-Limit-beacon-effectRange.patch rename to patches/server/0046-Limit-beacon-effectRange.patch diff --git a/patches/server/0048-Fix-invalid-armor-trim-exploit.patch b/patches/server/0047-Fix-invalid-armor-trim-exploit.patch similarity index 100% rename from patches/server/0048-Fix-invalid-armor-trim-exploit.patch rename to patches/server/0047-Fix-invalid-armor-trim-exploit.patch diff --git a/patches/server/0049-Improve-validation-of-ResourceLocations.patch b/patches/server/0048-Improve-validation-of-ResourceLocations.patch similarity index 100% rename from patches/server/0049-Improve-validation-of-ResourceLocations.patch rename to patches/server/0048-Improve-validation-of-ResourceLocations.patch diff --git a/patches/server/0050-Don-t-log-on-too-many-chained-updates.patch b/patches/server/0049-Don-t-log-on-too-many-chained-updates.patch similarity index 100% rename from patches/server/0050-Don-t-log-on-too-many-chained-updates.patch rename to patches/server/0049-Don-t-log-on-too-many-chained-updates.patch