This commit is contained in:
TotalledZebra 2024-04-28 21:42:56 +03:00 committed by GitHub
commit ff89eb41fc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 105 additions and 0 deletions

View File

@ -0,0 +1,43 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: TotalledZebra <Holappa57@gmail.com>
Date: Mon, 19 Feb 2024 06:03:26 +0200
Subject: [PATCH] Add entity heal API
diff --git a/src/main/java/org/bukkit/entity/Damageable.java b/src/main/java/org/bukkit/entity/Damageable.java
index c4537080ee1875e984356eee42337a1342f4c9a3..949763cb5ac9d05ca5c2918296491e29b2e5cb22 100644
--- a/src/main/java/org/bukkit/entity/Damageable.java
+++ b/src/main/java/org/bukkit/entity/Damageable.java
@@ -53,6 +53,32 @@ public interface Damageable extends Entity {
*/
void setHealth(double health);
+ // Paper start - entity heal API
+ /**
+ * Heal this entity by the given amount. This will call {@link org.bukkit.event.entity.EntityRegainHealthEvent}
+ *
+ * @param amount The amount to heal this entity by
+ */
+ void heal(double amount);
+
+ /**
+ * Heal this entity by the given amount. This will call {@link org.bukkit.event.entity.EntityRegainHealthEvent}
+ *
+ * @param amount The amount to heal this entity by
+ * @param reason The health regain reason
+ */
+ void heal(double amount, @NotNull org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason reason);
+
+ /**
+ * Heal this entity by the given amount. This will call {@link org.bukkit.event.entity.EntityRegainHealthEvent}
+ *
+ * @param amount The amount to heal this entity by
+ * @param reason The health regain reason
+ * @param isFastRegen Is the healing considered fast regen or not
+ */
+ void heal(double amount, @NotNull org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason reason, boolean isFastRegen);
+ // Paper end - entity heal API
+
/**
* Gets the entity's absorption amount.
*

View File

@ -0,0 +1,62 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: TotalledZebra <Holappa57@gmail.com>
Date: Mon, 19 Feb 2024 06:03:25 +0200
Subject: [PATCH] Add entity heal API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderDragonPart.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderDragonPart.java
index cc4194ac9d7501b5d15655674dade14d59cb6733..a32bf430817b2064803503bb6ef360242288eda8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderDragonPart.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderDragonPart.java
@@ -51,6 +51,23 @@ public class CraftEnderDragonPart extends CraftComplexPart implements EnderDrago
this.getParent().setHealth(health);
}
+ // Paper start - entity heal API
+ @Override
+ public void heal(double amount) {
+ this.getParent().heal(amount);
+ }
+
+ @Override
+ public void heal(double amount, @org.jetbrains.annotations.NotNull org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason reason) {
+ this.getParent().heal((float) amount, reason);
+ }
+
+ @Override
+ public void heal(double amount, @org.jetbrains.annotations.NotNull org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason reason, boolean isFastRegen) {
+ this.getParent().heal((float) amount, reason, isFastRegen);
+ }
+ // Paper end - entity heal API
+
@Override
public double getAbsorptionAmount() {
return this.getParent().getAbsorptionAmount();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index f1e4dfd203d455ec089cd2b5679c4083400dbc7f..72dddd67bc16239413bcec9d41e435b3c7681598 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -123,6 +123,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
}
}
+ // Paper start - entity heal API
+ @Override
+ public void heal(double amount) {
+ this.getHandle().heal((float) amount);
+ }
+
+ @Override
+ public void heal(double amount, @org.jetbrains.annotations.NotNull org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason reason) {
+ this.getHandle().heal((float) amount, reason);
+ }
+
+ @Override
+ public void heal(double amount, @org.jetbrains.annotations.NotNull org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason reason, boolean isFastRegen) {
+ this.getHandle().heal((float) amount, reason, isFastRegen);
+ }
+ // Paper end - entity heal API
+
@Override
public double getAbsorptionAmount() {
return this.getHandle().getAbsorptionAmount();