@@ -6,6 +6,24 @@ Subject: [PATCH] Missing Entity Behavior API
6
6
Co-authored-by: Nassim Jahnke <jahnke.nassim@gmail.com>
7
7
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
8
8
9
+ diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
10
+ index c49e7ea3e2efc4459f5ed1d4ebd83c9d23420611..79a9fa2a2257925685e45329365d2828ccd4c48c 100644
11
+ --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
12
+ +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
13
+ @@ -539,11 +539,13 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
14
+ this.setFlag(4, hasStung);
15
+ }
16
+
17
+ + public net.kyori.adventure.util.TriState rollingOverride = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Rolling override
18
+ public boolean isRolling() {
19
+ return this.getFlag(2);
20
+ }
21
+
22
+ public void setRolling(boolean nearTarget) {
23
+ + nearTarget = rollingOverride.toBooleanOrElse(nearTarget); // Paper - Rolling override
24
+ this.setFlag(2, nearTarget);
25
+ }
26
+
9
27
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
10
28
index cd278a859c87fc89c421378ffab1bd36a45bd65d..a726006888bbbdb290bcda3ac4fd45d68ba51b79 100644
11
29
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -166,6 +184,33 @@ index 254d4f2e45d7c8f572a4368eccd84560d4d0d836..299ab868252c8f326e3a56e878c9ee23
166
184
+ }
167
185
+ // Paper end - Horse API
168
186
}
187
+ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftBee.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftBee.java
188
+ index 8ada3dfbe89c8b55d85c31c71e365af0cbf66d19..b5d3a00a48d3b7618f974bb0f6909aa7c304b012 100644
189
+ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftBee.java
190
+ +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftBee.java
191
+ @@ -91,4 +91,22 @@ public class CraftBee extends CraftAnimals implements Bee {
192
+ public void setCannotEnterHiveTicks(int ticks) {
193
+ this.getHandle().setStayOutOfHiveCountdown(ticks);
194
+ }
195
+ + // Paper start
196
+ + @Override
197
+ + public void setRollingOverride(net.kyori.adventure.util.TriState rolling) {
198
+ + this.getHandle().rollingOverride = rolling;
199
+ +
200
+ + this.getHandle().setRolling(this.getHandle().isRolling()); // Refresh rolling state
201
+ + }
202
+ +
203
+ + @Override
204
+ + public boolean isRolling() {
205
+ + return this.getRollingOverride().toBooleanOrElse(this.getHandle().isRolling());
206
+ + }
207
+ +
208
+ + @Override
209
+ + public net.kyori.adventure.util.TriState getRollingOverride() {
210
+ + return this.getHandle().rollingOverride;
211
+ + }
212
+ + // Paper end
213
+ }
169
214
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java
170
215
index a4f909123de26d911aea7cd767d2315ed1f697c9..0eee53c068bca070a86645d0ba54fb1ad49a6a5b 100644
171
216
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java
@@ -393,6 +438,26 @@ index 2d2620dbb16aec850e8afda02174508a4be5a313..ba4e6deaaa725296be830324d2c64868
393
438
394
439
public static Gene fromNms(net.minecraft.world.entity.animal.Panda.Gene gene) {
395
440
Preconditions.checkArgument(gene != null, "Gene may not be null");
441
+ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPiglin.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPiglin.java
442
+ index aeda5fc001fe4ce55ee467240b275b6050a29f98..48d0a4e42e1b90d1323784d1284acabfe9497dd6 100644
443
+ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPiglin.java
444
+ +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPiglin.java
445
+ @@ -90,4 +90,15 @@ public class CraftPiglin extends CraftPiglinAbstract implements Piglin, com.dest
446
+ public String toString() {
447
+ return "CraftPiglin";
448
+ }
449
+ + // Paper start
450
+ + @Override
451
+ + public void setChargingCrossbow(boolean chargingCrossbow) {
452
+ + this.getHandle().setChargingCrossbow(chargingCrossbow);
453
+ + }
454
+ +
455
+ + @Override
456
+ + public boolean isChargingCrossbow() {
457
+ + return this.getHandle().isChargingCrossbow();
458
+ + }
459
+ + // Paper end
460
+ }
396
461
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPolarBear.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPolarBear.java
397
462
index da1488c9cae53bd554727c850da2192adda2478a..30a0eac179c86b0fe94a2a40b5bfcd3eee01e53b 100644
398
463
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPolarBear.java
@@ -467,6 +532,37 @@ index bf5b2fd6676c4430578db4cc6c603c501cc5e349..832981b07ef5c633ef00a382f56798ee
467
532
+ }
468
533
+ // Paper end
469
534
}
535
+ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
536
+ index 0f5c81c0d599d3b58f7864d1527391ad50983c4e..606d8485a5fc67b59f8fed38a739d6bc5888d99d 100644
537
+ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
538
+ +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
539
+ @@ -26,6 +26,26 @@ public class CraftVex extends CraftMonster implements Vex {
540
+ public void setSummoner(org.bukkit.entity.Mob summoner) {
541
+ getHandle().setOwner(summoner == null ? null : ((CraftMob) summoner).getHandle());
542
+ }
543
+ +
544
+ + @Override
545
+ + public boolean hasLimitedLifetime() {
546
+ + return this.getHandle().hasLimitedLife;
547
+ + }
548
+ +
549
+ + @Override
550
+ + public void setLimitedLifetime(boolean hasLimitedLifetime) {
551
+ + this.getHandle().hasLimitedLife = hasLimitedLifetime;
552
+ + }
553
+ +
554
+ + @Override
555
+ + public int getLimitedLifetimeTicks() {
556
+ + return this.getHandle().limitedLifeTicks;
557
+ + }
558
+ +
559
+ + @Override
560
+ + public void setLimitedLifetimeTicks(int ticks) {
561
+ + this.getHandle().limitedLifeTicks = ticks;
562
+ + }
563
+ // Paper end
564
+
565
+ @Override
470
566
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
471
567
index 640b0860fbe3412da32d03187e6f355ba8f099ea..299d5e47489cfe489ac130a33a08cdb29ba76d72 100644
472
568
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
@@ -503,3 +599,23 @@ index 640b0860fbe3412da32d03187e6f355ba8f099ea..299d5e47489cfe489ac130a33a08cdb2
503
599
+ }
504
600
+ // Paper end
505
601
}
602
+ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
603
+ index f856b42201c17f8da21251e54fcf052336916e70..a3bec00368aef0f8cc6aa21cce1389938d15f91b 100644
604
+ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
605
+ +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
606
+ @@ -43,4 +43,15 @@ public class CraftWolf extends CraftTameableAnimal implements Wolf {
607
+ public void setCollarColor(DyeColor color) {
608
+ this.getHandle().setCollarColor(net.minecraft.world.item.DyeColor.byId(color.getWoolData()));
609
+ }
610
+ + // Paper start
611
+ + @Override
612
+ + public void setInterested(boolean interested) {
613
+ + this.getHandle().setIsInterested(interested);
614
+ + }
615
+ +
616
+ + @Override
617
+ + public boolean isInterested() {
618
+ + return this.getHandle().isInterested();
619
+ + }
620
+ + // Paper end
621
+ }
0 commit comments