Add method to remove all active potion effects (#9361)

* Add method to remove all active potion effects

* use clear instead of removeAll
This commit is contained in:
Jake Potrebic 2023-06-17 21:10:13 -07:00 committed by GitHub
parent faf9a65b62
commit 873533b129
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,26 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Sat, 17 Jun 2023 13:17:20 -0700
Subject: [PATCH] Add method to remove all active potion effects
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index ffca32ae2464ea5a669029079a50585ca259a4f8..9712f7140933d7fc87c5838c173e2d818b70cfde 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -565,6 +565,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@NotNull
public Collection<PotionEffect> getActivePotionEffects();
+ // Paper start - LivingEntity#clearActivePotionEffects();
+ /**
+ * Removes all active potion effects for this entity.
+ *
+ * @return true if any were removed
+ */
+ boolean clearActivePotionEffects();
+ // Paper end
+
/**
* Checks whether the living entity has block line of sight to another.
* <p>

View File

@ -0,0 +1,24 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Sat, 17 Jun 2023 13:17:25 -0700
Subject: [PATCH] Add method to remove all active potion effects
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 7880631fe8a4b06f29ef69ab850129737a99521b..19212795df4024cfb2b9f56e1efcd4c9f20d1d83 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -490,6 +490,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return effects;
}
+ // Paper start - LivingEntity#clearActivePotionEffects();
+ @Override
+ public boolean clearActivePotionEffects() {
+ return this.getHandle().removeAllEffects(EntityPotionEffectEvent.Cause.PLUGIN);
+ }
+ // Paper end
+
@Override
public <T extends Projectile> T launchProjectile(Class<? extends T> projectile) {
return this.launchProjectile(projectile, null);