aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0337-Multi-Block-Change-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0337-Multi-Block-Change-API.patch')
-rw-r--r--patches/api/0337-Multi-Block-Change-API.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/patches/api/0337-Multi-Block-Change-API.patch b/patches/api/0337-Multi-Block-Change-API.patch
new file mode 100644
index 0000000000..45664f22b3
--- /dev/null
+++ b/patches/api/0337-Multi-Block-Change-API.patch
@@ -0,0 +1,40 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Brody Beckwith <[email protected]>
+Date: Fri, 14 Jan 2022 00:40:42 -0500
+Subject: [PATCH] Multi Block Change API
+
+
+diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
+index 793df7533096efb0f60bddcb3e4e1575cbcc1069..c8a50647d34c70bc927c33c602f938a01bf6e7a9 100644
+--- a/src/main/java/org/bukkit/entity/Player.java
++++ b/src/main/java/org/bukkit/entity/Player.java
+@@ -895,6 +895,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ */
+ public void sendBlockDamage(@NotNull Location loc, float progress);
+
++ // Paper start
++ /**
++ * Send multiple block changes. This fakes a multi block change packet for each
++ * chunk section that a block change occurs. This will not actually change the world in any way.
++ *
++ * @param blockChanges A map of the positions you want to change to their new block data
++ */
++ void sendMultiBlockChange(@NotNull Map<? extends io.papermc.paper.math.Position, BlockData> blockChanges);
++
++ /**
++ * Send multiple block changes. This fakes a multi block change packet for each
++ * chunk section that a block change occurs. This will not actually change the world in any way.
++ *
++ * @param blockChanges A map of the positions you want to change to their new block data
++ * @param suppressLightUpdates Whether to suppress light updates or not
++ * @deprecated suppressLightUpdates is no longer available in 1.20+, use {@link #sendMultiBlockChange(Map)}
++ */
++ @Deprecated
++ default void sendMultiBlockChange(@NotNull Map<? extends io.papermc.paper.math.Position, BlockData> blockChanges, boolean suppressLightUpdates) {
++ this.sendMultiBlockChange(blockChanges);
++ }
++ // Paper end
++
+ /**
+ * Send block damage. This fakes block break progress at a certain location
+ * sourced by the provided entity. This will not actually change the block's