mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 04:02:50 +01:00
bab31b6f55
The Enchantment damage increase API added previously used the EntityCategory enum as a parameter. These values are now however determined by tags instead of the categories themselves. Deprecated the outdated api method, create a new overload that takes EntityType instead and implement deprecated method by guessing an entity type from the builtin registry based on the category passed. This method allows a) the tags to still be modified and the legacy method still respecting such. b) potential cursed implementations of enchantments of plugins to not break that override the getDamageBonus method on Enchantment.
57 lines
2.1 KiB
Diff
57 lines
2.1 KiB
Diff
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 ea929ca51bd35447da4bdb42379dfc12ea2aae67..f0e9d68381fb75900bcd6976a83fd94028fd2712 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
@@ -353,6 +353,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
|
}
|
|
// Paper end
|
|
}
|
|
+ // Paper start - Bee Stinger API
|
|
+ @Override
|
|
+ public int getBeeStingerCooldown() {
|
|
+ return getHandle().removeStingerTime;
|
|
+ }
|
|
|
|
// Paper start - Add methods for working with arrows stuck in living entities
|
|
@Override
|
|
@@ -367,6 +372,34 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
|
}
|
|
// Paper end - Add methods for working with arrows stuck in living entities
|
|
|
|
+ @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);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setNextBeeStingerRemoval(final int ticks) {
|
|
+ Preconditions.checkArgument(ticks >= 0, "New amount of ticks before next bee stinger removal must be >= 0");
|
|
+ this.getHandle().removeStingerTime = ticks;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public int getNextBeeStingerRemoval() {
|
|
+ return this.getHandle().removeStingerTime;
|
|
+ }
|
|
+ // Paper end - Bee Stinger API
|
|
+
|
|
@Override
|
|
public void damage(double amount) {
|
|
this.damage(amount, this.getHandle().damageSources().generic());
|