papermc/patches/api/0393-Add-custom-destroyerIdentity-to-sendBlockDamage.patch
willkroboth 4d52f1d247
Add method isTickingWorlds to Bukkit (#8316)
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>

Also, restores un/loading worlds mid tick. This will not be officially supported API contract that such a routine is safe, and these restrictions may be restored in the future.
2022-09-24 06:19:05 +01:00

38 lines
2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: TheFruxz <cedricspitzer@outlook.de>
Date: Sat, 2 Apr 2022 13:03:39 +0200
Subject: [PATCH] Add custom destroyerIdentity to sendBlockDamage
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index cde9dfaba913e18d2efc6003d5209ba3cfb02945..1d98abff1ad0116f7a2599f078aa730cb84843c1 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -616,7 +616,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Send block damage. This fakes block break progress for a user at a
* certain location. This will not actually change the block's break
- * progress in any way.
+ * progress in any way. The destroying entity will be this player.
*
* @param loc the location of the damaged block
* @param progress the progress from 0.0 - 1.0 where 0 is no damage and
@@ -625,6 +625,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendBlockDamage(@NotNull Location loc, float progress);
// Paper start
+
+ /**
+ * Send block damage. This fakes block break progress for a user at a certain location.
+ * This will not actually change the block's break progress in any way.
+ * The destroying entity is defined via the destroyerIdentity parameter.
+ *
+ * @param loc the location of the damaged block
+ * @param progress the progress from 0.0 - 1.0 where 0 is no damage and 1.0 is the most damaged
+ * @param destroyerIdentity the entity id of the destroyer
+ */
+ public void sendBlockDamage(@NotNull Location loc, float progress, int destroyerIdentity);
+
/**
* 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.