Add bee stinger API (#5962)

This commit is contained in:
Owen1212055 2021-07-28 20:36:53 -04:00 committed by GitHub
parent 7480b94720
commit a67959e131
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,47 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Date: Tue, 22 Jun 2021 23:16:11 -0400
Subject: [PATCH] Stinger API
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index cda05df6784dd4d6a09710a416dcb71c016dabfc..31353bd20404a8c2acf6bf0df524dc3cae324272 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -336,6 +336,36 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
*/
public void setArrowsInBody(int count);
+ // Paper Start - Bee Stinger API
+ /**
+ * Gets the time in ticks until the next bee stinger leaves the entity's body.
+ *
+ * @return ticks until bee stinger leaves
+ */
+ public int getBeeStingerCooldown();
+
+ /**
+ * Sets the time in ticks until the next stinger leaves the entity's body.
+ *
+ * @param ticks time until bee stinger leaves
+ */
+ public void setBeeStingerCooldown(int ticks);
+
+ /**
+ * Gets the amount of bee stingers in an entity's body.
+ *
+ * @return amount of bee stingers in body
+ */
+ public int getBeeStingersInBody();
+
+ /**
+ * Set the amount of bee stingers in the entity's body.
+ *
+ * @param count amount of bee stingers in entity's body
+ */
+ public void setBeeStingersInBody(int count);
+ // Paper End - Stinger API
+
/**
* Returns the living entity's current maximum no damage ticks.
* <p>

View File

@ -0,0 +1,39 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Date: Tue, 22 Jun 2021 23:15:44 -0400
Subject: [PATCH] Stinger API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index f9110f682ddc356299ff94e1e536f8e5024378d8..646ea844ed2cf674569937653f9920e4fdbf62a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -311,7 +311,28 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
Preconditions.checkArgument(count >= 0, "New arrow amount must be >= 0");
this.getHandle().getEntityData().set(net.minecraft.world.entity.LivingEntity.DATA_ARROW_COUNT_ID, count);
}
+ // Paper Start - Bee Stinger API
+ @Override
+ public int getBeeStingerCooldown() {
+ return getHandle().removeStingerTime;
+ }
+
+ @Override
+ public void setBeeStingerCooldown(int ticks) {
+ getHandle().removeStingerTime = ticks;
+ }
+ @Override
+ public int getBeeStingersInBody() {
+ return getHandle().getStingerCount();
+ }
+
+ @Override
+ public void setBeeStingersInBody(int count) {
+ Preconditions.checkArgument(count >= 0, "New bee stinger amount must be >= 0");
+ getHandle().setStingerCount(count);
+ }
+ // Paper End - Bee Stinger API
@Override
public void damage(double amount) {
this.damage(amount, null);