mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 15:30:19 +01:00
bd38e0318a
Updated Upstream (Bukkit/CraftBukkit) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: f02baa38 PR-988: Add World#getIntersectingChunks(BoundingBox) 9321d665 Move getItemInUse up to LivingEntity 819eef73 PR-959: Add access to current item's remaining ticks c4fdadb0 SPIGOT-7601: Add AbstractArrow#getItem be8261ca Add support for Java 22 26119676 PR-979: Add more translation keys 66753362 PR-985: Correct book maximum pages and characters per page documentation c8be92fa PR-980: Improve getArmorContents() documentation f1120ee2 PR-983: Expose riptide velocity to PlayerRiptideEvent CraftBukkit Changes: dfaa89bbe PR-1369: Add World#getIntersectingChunks(BoundingBox) 51bbab2b9 Move getItemInUse up to LivingEntity 668e09602 PR-1331: Add access to current item's remaining ticks a639406d1 SPIGOT-7601: Add AbstractArrow#getItem 0398930fc SPIGOT-7602: Allow opening in-world horse and related inventories ffd15611c SPIGOT-7608: Allow empty lists to morph to any PDT list 2188dcfa9 Add support for Java 22 45d6a609f SPIGOT-7604: Revert "SPIGOT-7365: DamageCause blocked by shield should trigger invulnerableTime" 06d915943 SPIGOT-7365: DamageCause blocked by shield should trigger invulnerableTime ca3bc3707 PR-1361: Add more translation keys 366c3ca80 SPIGOT-7600: EntityChangeBlockEvent is not fired for frog eggs 06d0f9ba8 SPIGOT-7593: Fix sapling growth physics / client-side updates 45c2608e4 PR-1366: Expose riptide velocity to PlayerRiptideEvent 29b6bb79b SPIGOT-7587: Remove fixes for now-resolved MC-142590 and MC-109346
83 lines
3.1 KiB
Diff
83 lines
3.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: mrapple <tony@oc.tc>
|
|
Date: Sun, 25 Nov 2012 13:47:27 -0600
|
|
Subject: [PATCH] Add methods for working with arrows stuck in living entities
|
|
|
|
Upstream added methods for this so the original methods
|
|
are now deprecated
|
|
|
|
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
index 67632eae9249f2c65a9dfe04c72a3002a9e8b25b..10eeb304bc0785e0ea182ac99d32ed2554b4755f 100644
|
|
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
|
@@ -243,12 +243,44 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
|
*/
|
|
public int getArrowsInBody();
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Set the amount of arrows in the entity's body.
|
|
+ * <p>
|
|
+ * Does not fire the {@link org.bukkit.event.entity.ArrowBodyCountChangeEvent}.
|
|
+ *
|
|
+ * @param count amount of arrows in entity's body
|
|
+ */
|
|
+ default void setArrowsInBody(final int count) {
|
|
+ this.setArrowsInBody(count, false);
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Set the amount of arrows in the entity's body.
|
|
*
|
|
* @param count amount of arrows in entity's body
|
|
+ * @param fireEvent whether to fire the {@link org.bukkit.event.entity.ArrowBodyCountChangeEvent} event
|
|
*/
|
|
- public void setArrowsInBody(int count);
|
|
+ void setArrowsInBody(int count, boolean fireEvent); // Paper
|
|
+
|
|
+ // Paper start - Add methods for working with arrows stuck in living entities
|
|
+ /**
|
|
+ * Sets the amount of ticks before the next arrow gets removed from the entities body.
|
|
+ * <p>
|
|
+ * A value of 0 will cause the server to re-calculate the amount of ticks on the next tick.
|
|
+ *
|
|
+ * @param ticks Amount of ticks
|
|
+ */
|
|
+ void setNextArrowRemoval(@org.jetbrains.annotations.Range(from = 0, to = Integer.MAX_VALUE) int ticks);
|
|
+
|
|
+ /**
|
|
+ * Gets the amount of ticks before the next arrow gets removed from the entities body.
|
|
+ *
|
|
+ * @return ticks Amount of ticks
|
|
+ */
|
|
+ int getNextArrowRemoval();
|
|
+ // Paper end - Add methods for working with arrows stuck in living entities
|
|
|
|
/**
|
|
* Returns the living entity's current maximum no damage ticks.
|
|
@@ -775,4 +807,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
|
* @return Whether the entity is invisible
|
|
*/
|
|
public boolean isInvisible();
|
|
+
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Get the number of arrows stuck in this entity
|
|
+ * @return Number of arrows stuck
|
|
+ * @deprecated use {@link #getArrowsInBody()}
|
|
+ */
|
|
+ @Deprecated
|
|
+ int getArrowsStuck();
|
|
+
|
|
+ /**
|
|
+ * Set the number of arrows stuck in this entity
|
|
+ *
|
|
+ * @param arrows Number of arrows to stick in this entity
|
|
+ * @deprecated use {@link #setArrowsInBody(int, boolean)}. <b>This method previously fired {@link org.bukkit.event.entity.ArrowBodyCountChangeEvent} so if
|
|
+ * you want to retain exact functionality, pass {@code true} for {@code fireEvent}.</b>
|
|
+ */
|
|
+ @Deprecated
|
|
+ void setArrowsStuck(int arrows);
|
|
+ // Paper end
|
|
}
|