mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 07:20:24 +01:00
Add more entity api (#7564)
This commit is contained in:
parent
b35c03a546
commit
897e92fb9d
6 changed files with 408 additions and 112 deletions
|
@ -3,6 +3,8 @@ From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
||||||
Date: Fri, 28 May 2021 21:06:59 -0400
|
Date: Fri, 28 May 2021 21:06:59 -0400
|
||||||
Subject: [PATCH] Missing Entity Behavior API
|
Subject: [PATCH] Missing Entity Behavior API
|
||||||
|
|
||||||
|
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
|
||||||
|
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/AbstractHorse.java b/src/main/java/org/bukkit/entity/AbstractHorse.java
|
diff --git a/src/main/java/org/bukkit/entity/AbstractHorse.java b/src/main/java/org/bukkit/entity/AbstractHorse.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
@ -108,6 +110,47 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
+ public boolean isHeadUp();
|
+ public boolean isHeadUp();
|
||||||
+ // Paper End - More cat api
|
+ // Paper End - More cat api
|
||||||
}
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Enderman.java b/src/main/java/org/bukkit/entity/Enderman.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Enderman.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Enderman.java
|
||||||
|
@@ -0,0 +0,0 @@ public interface Enderman extends Monster {
|
||||||
|
* @param blockData data to set the carried block to, or null to remove
|
||||||
|
*/
|
||||||
|
public void setCarriedBlock(@Nullable BlockData blockData);
|
||||||
|
+
|
||||||
|
+ // Paper start
|
||||||
|
+ /**
|
||||||
|
+ * Returns whether the enderman is screaming/angry.
|
||||||
|
+ *
|
||||||
|
+ * @return whether the enderman is screaming
|
||||||
|
+ */
|
||||||
|
+ boolean isScreaming();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets whether the enderman is screaming/angry.
|
||||||
|
+ *
|
||||||
|
+ * @param screaming whether the enderman is screaming
|
||||||
|
+ */
|
||||||
|
+ void setScreaming(boolean screaming);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Returns whether the enderman has been stared at.
|
||||||
|
+ * If set to true, players will hear an ambient sound.
|
||||||
|
+ *
|
||||||
|
+ * @return whether the enderman has been stared at
|
||||||
|
+ */
|
||||||
|
+ boolean hasBeenStaredAt();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets whether the enderman has been stared at.
|
||||||
|
+ * If set to true, players will hear an ambient sound.
|
||||||
|
+ *
|
||||||
|
+ * @param hasBeenStaredAt whether the enderman has been stared at
|
||||||
|
+ */
|
||||||
|
+ void setHasBeenStaredAt(boolean hasBeenStaredAt);
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Fox.java b/src/main/java/org/bukkit/entity/Fox.java
|
diff --git a/src/main/java/org/bukkit/entity/Fox.java b/src/main/java/org/bukkit/entity/Fox.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Fox.java
|
--- a/src/main/java/org/bukkit/entity/Fox.java
|
||||||
|
@ -357,3 +400,140 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
+ boolean isSitting();
|
+ boolean isSitting();
|
||||||
+ // Paper end - Panda API
|
+ // Paper end - Panda API
|
||||||
}
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/PolarBear.java b/src/main/java/org/bukkit/entity/PolarBear.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/PolarBear.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/PolarBear.java
|
||||||
|
@@ -0,0 +0,0 @@ package org.bukkit.entity;
|
||||||
|
/**
|
||||||
|
* Represents a polar bear.
|
||||||
|
*/
|
||||||
|
-public interface PolarBear extends Animals {}
|
||||||
|
+// Paper start
|
||||||
|
+public interface PolarBear extends Animals {
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Returns whether the polar bear is standing.
|
||||||
|
+ *
|
||||||
|
+ * @return whether the polar bear is standing
|
||||||
|
+ */
|
||||||
|
+ boolean isStanding();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets whether the polar bear is standing.
|
||||||
|
+ *
|
||||||
|
+ * @param standing whether the polar bear should be standing
|
||||||
|
+ */
|
||||||
|
+ void setStanding(boolean standing);
|
||||||
|
+}
|
||||||
|
+// Paper end
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Raider.java b/src/main/java/org/bukkit/entity/Raider.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Raider.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Raider.java
|
||||||
|
@@ -0,0 +0,0 @@ public interface Raider extends Monster {
|
||||||
|
* @param join CanJoinRaid status
|
||||||
|
*/
|
||||||
|
void setCanJoinRaid(boolean join);
|
||||||
|
+
|
||||||
|
+ // Paper start
|
||||||
|
+ /**
|
||||||
|
+ * Returns whether the raider is celebrating a raid victory.
|
||||||
|
+ *
|
||||||
|
+ * @return whether the raider is celebrating a raid victory
|
||||||
|
+ */
|
||||||
|
+ boolean isCelebrating();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets whether the raider is celebrating a raid victory.
|
||||||
|
+ *
|
||||||
|
+ * @param celebrating whether the raider is celebrating a raid victory
|
||||||
|
+ */
|
||||||
|
+ void setCelebrating(boolean celebrating);
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Trident.java b/src/main/java/org/bukkit/entity/Trident.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Trident.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Trident.java
|
||||||
|
@@ -0,0 +0,0 @@ package org.bukkit.entity;
|
||||||
|
/**
|
||||||
|
* Represents a thrown trident.
|
||||||
|
*/
|
||||||
|
-public interface Trident extends AbstractArrow, ThrowableProjectile { }
|
||||||
|
+// Paper start
|
||||||
|
+public interface Trident extends AbstractArrow, ThrowableProjectile {
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Returns whether the trident has an enchanted glow.
|
||||||
|
+ * This can be separate from the underlying item having any enchantments.
|
||||||
|
+ *
|
||||||
|
+ * @return whether the trident has an enchanted glow
|
||||||
|
+ */
|
||||||
|
+ boolean hasGlint();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets whether the trident has an enchanted glow.
|
||||||
|
+ * This is separate from the underlying item having any enchantments.
|
||||||
|
+ *
|
||||||
|
+ * @param glint whether the trident should have an enchanted glow
|
||||||
|
+ */
|
||||||
|
+ void setGlint(boolean glint);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Returns the loyalty level of the trident.
|
||||||
|
+ * This can be separate from the underlying item's enchantments.
|
||||||
|
+ *
|
||||||
|
+ * @return loyalty level of the trident
|
||||||
|
+ */
|
||||||
|
+ int getLoyaltyLevel();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets the loyalty level of the trident.
|
||||||
|
+ * This is separate from the underlying item's enchantments.
|
||||||
|
+ *
|
||||||
|
+ * @param loyaltyLevel loyalty level
|
||||||
|
+ * @throws IllegalArgumentException if the loyalty level is lower than 0 or greater than 127
|
||||||
|
+ */
|
||||||
|
+ void setLoyaltyLevel(int loyaltyLevel);
|
||||||
|
+}
|
||||||
|
+// Paper end
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Wither.java b/src/main/java/org/bukkit/entity/Wither.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Wither.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Wither.java
|
||||||
|
@@ -0,0 +0,0 @@ import com.destroystokyo.paper.entity.RangedEntity;
|
||||||
|
* Represents a Wither boss
|
||||||
|
*/
|
||||||
|
public interface Wither extends Monster, Boss, RangedEntity { // Paper
|
||||||
|
+ // Paper start
|
||||||
|
+ /**
|
||||||
|
+ * @return whether the wither is charged
|
||||||
|
+ */
|
||||||
|
+ boolean isCharged();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * @return ticks the wither is invulnerable for
|
||||||
|
+ */
|
||||||
|
+ int getInvulnerableTicks();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets for how long in the future, the wither should be invulnerable.
|
||||||
|
+ *
|
||||||
|
+ * @param ticks ticks the wither is invulnerable for
|
||||||
|
+ */
|
||||||
|
+ void setInvulnerableTicks(int ticks);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * @return whether the wither can travel through portals
|
||||||
|
+ */
|
||||||
|
+ boolean canTravelThroughPortals();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Sets whether the wither can travel through portals.
|
||||||
|
+ *
|
||||||
|
+ * @param value whether the wither can travel through portals
|
||||||
|
+ */
|
||||||
|
+ void setCanTravelThroughPortals(boolean value);
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
|
|
@ -279,5 +279,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
+ * @param hasEgg True if carrying egg
|
+ * @param hasEgg True if carrying egg
|
||||||
+ */
|
+ */
|
||||||
+ void setHasEgg(boolean hasEgg);
|
+ void setHasEgg(boolean hasEgg);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Returns whether the turtle is currently laying an egg.
|
||||||
|
+ *
|
||||||
|
+ * @return whether the turtle is laying an egg
|
||||||
|
+ */
|
||||||
|
+ boolean isLayingEgg();
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
+}
|
+}
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
||||||
Date: Sun, 5 Jul 2020 15:39:40 -0700
|
|
||||||
Subject: [PATCH] added Wither API
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Wither.java b/src/main/java/org/bukkit/entity/Wither.java
|
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
||||||
--- a/src/main/java/org/bukkit/entity/Wither.java
|
|
||||||
+++ b/src/main/java/org/bukkit/entity/Wither.java
|
|
||||||
@@ -0,0 +0,0 @@ import com.destroystokyo.paper.entity.RangedEntity;
|
|
||||||
* Represents a Wither boss
|
|
||||||
*/
|
|
||||||
public interface Wither extends Monster, Boss, RangedEntity { // Paper
|
|
||||||
+ // Paper start
|
|
||||||
+ /**
|
|
||||||
+ * @return whether the wither is charged
|
|
||||||
+ */
|
|
||||||
+ boolean isCharged();
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * @return ticks the wither is invulnerable for
|
|
||||||
+ */
|
|
||||||
+ int getInvulnerableTicks();
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Sets for how long in the future, the wither should be invulnerable.
|
|
||||||
+ *
|
|
||||||
+ * @param ticks ticks the wither is invulnerable for
|
|
||||||
+ */
|
|
||||||
+ void setInvulnerableTicks(int ticks);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * @return whether the wither can travel through portals
|
|
||||||
+ */
|
|
||||||
+ boolean canTravelThroughPortals();
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Sets whether the wither can travel through portals.
|
|
||||||
+ *
|
|
||||||
+ * @param value whether the wither can travel through portals
|
|
||||||
+ */
|
|
||||||
+ void setCanTravelThroughPortals(boolean value);
|
|
||||||
+ // Paper end
|
|
||||||
}
|
|
|
@ -3,6 +3,8 @@ From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
||||||
Date: Mon, 21 Jun 2021 23:56:07 -0400
|
Date: Mon, 21 Jun 2021 23:56:07 -0400
|
||||||
Subject: [PATCH] Missing Entity Behavior API
|
Subject: [PATCH] Missing Entity Behavior API
|
||||||
|
|
||||||
|
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
|
||||||
|
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||||
|
|
||||||
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
|
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
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
@ -35,6 +37,52 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
public void setStanding(boolean angry) {
|
public void setStanding(boolean angry) {
|
||||||
if (angry) {
|
if (angry) {
|
||||||
this.setEating(false);
|
this.setEating(false);
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
|
@@ -0,0 +0,0 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||||
|
return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable();
|
||||||
|
};
|
||||||
|
private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR);
|
||||||
|
+ // Paper start
|
||||||
|
+ private boolean canPortal = false;
|
||||||
|
+
|
||||||
|
+ public void setCanTravelThroughPortals(boolean canPortal) { this.canPortal = canPortal; }
|
||||||
|
+ // Paper end
|
||||||
|
|
||||||
|
public WitherBoss(EntityType<? extends WitherBoss> type, Level world) {
|
||||||
|
super(type, world);
|
||||||
|
@@ -0,0 +0,0 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canChangeDimensions() {
|
||||||
|
- return false;
|
||||||
|
+ return super.canChangeDimensions() && canPortal; // Paper
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
|
@@ -0,0 +0,0 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||||
|
this.entityData.set(EnderMan.DATA_STARED_AT, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Paper start
|
||||||
|
+ public void setCreepy(boolean creepy) {
|
||||||
|
+ this.entityData.set(EnderMan.DATA_CREEPY, creepy);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public void setHasBeenStaredAt(boolean hasBeenStaredAt) {
|
||||||
|
+ this.entityData.set(EnderMan.DATA_STARED_AT, hasBeenStaredAt);
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
@Override
|
||||||
|
public boolean requiresCustomPersistence() {
|
||||||
|
return super.requiresCustomPersistence() || this.getCarriedBlock() != null;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ghast.java b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ghast.java b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
||||||
|
@ -52,6 +100,31 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
@Override
|
@Override
|
||||||
protected boolean shouldDespawnInPeaceful() {
|
protected boolean shouldDespawnInPeaceful() {
|
||||||
return true;
|
return true;
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
|
||||||
|
@@ -0,0 +0,0 @@ public class ThrownTrident extends AbstractArrow {
|
||||||
|
return (Boolean) this.entityData.get(ThrownTrident.ID_FOIL);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Paper start
|
||||||
|
+ public void setFoil(boolean foil) {
|
||||||
|
+ this.entityData.set(ThrownTrident.ID_FOIL, foil);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public int getLoyalty() {
|
||||||
|
+ return this.entityData.get(ThrownTrident.ID_LOYALTY);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public void setLoyalty(byte loyalty) {
|
||||||
|
+ this.entityData.set(ThrownTrident.ID_LOYALTY, loyalty);
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
protected EntityHitResult findHitEntity(Vec3 currentPosition, Vec3 nextPosition) {
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
|
||||||
|
@ -123,6 +196,39 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
+ }
|
+ }
|
||||||
+ // Paper End - More cat api
|
+ // Paper End - More cat api
|
||||||
}
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java
|
||||||
|
@@ -0,0 +0,0 @@ public class CraftEnderman extends CraftMonster implements Enderman {
|
||||||
|
this.getHandle().setCarriedBlock(blockData == null ? null : ((CraftBlockData) blockData).getState());
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Paper start
|
||||||
|
+ @Override
|
||||||
|
+ public boolean isScreaming() {
|
||||||
|
+ return this.getHandle().isCreepy();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setScreaming(boolean screaming) {
|
||||||
|
+ this.getHandle().setCreepy(screaming);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public boolean hasBeenStaredAt() {
|
||||||
|
+ return this.getHandle().hasBeenStaredAt();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setHasBeenStaredAt(boolean hasBeenStaredAt) {
|
||||||
|
+ this.getHandle().setHasBeenStaredAt(hasBeenStaredAt);
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
+
|
||||||
|
@Override
|
||||||
|
public EnderMan getHandle() {
|
||||||
|
return (EnderMan) entity;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java
|
||||||
|
@ -287,3 +393,113 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
|
|
||||||
public static Gene fromNms(net.minecraft.world.entity.animal.Panda.Gene gene) {
|
public static Gene fromNms(net.minecraft.world.entity.animal.Panda.Gene gene) {
|
||||||
Preconditions.checkArgument(gene != null, "Gene may not be null");
|
Preconditions.checkArgument(gene != null, "Gene may not be null");
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPolarBear.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPolarBear.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPolarBear.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPolarBear.java
|
||||||
|
@@ -0,0 +0,0 @@ public class CraftPolarBear extends CraftAnimals implements PolarBear {
|
||||||
|
public EntityType getType() {
|
||||||
|
return EntityType.POLAR_BEAR;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ // Paper start
|
||||||
|
+ @Override
|
||||||
|
+ public boolean isStanding() {
|
||||||
|
+ return this.getHandle().isStanding();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setStanding(boolean standing) {
|
||||||
|
+ this.getHandle().setStanding(standing);
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftRaider.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftRaider.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftRaider.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftRaider.java
|
||||||
|
@@ -0,0 +0,0 @@ public abstract class CraftRaider extends CraftMonster implements Raider {
|
||||||
|
public void setCanJoinRaid(boolean join) {
|
||||||
|
this.getHandle().setCanJoinRaid(join);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ // Paper start
|
||||||
|
+ @Override
|
||||||
|
+ public boolean isCelebrating() {
|
||||||
|
+ return this.getHandle().isCelebrating();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setCelebrating(boolean celebrating) {
|
||||||
|
+ this.getHandle().setCelebrating(celebrating);
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTrident.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTrident.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTrident.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTrident.java
|
||||||
|
@@ -0,0 +0,0 @@ public class CraftTrident extends CraftArrow implements Trident {
|
||||||
|
public EntityType getType() {
|
||||||
|
return EntityType.TRIDENT;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ // Paper start
|
||||||
|
+ @Override
|
||||||
|
+ public boolean hasGlint() {
|
||||||
|
+ return this.getHandle().isFoil();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setGlint(boolean glint) {
|
||||||
|
+ this.getHandle().setFoil(glint);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public int getLoyaltyLevel() {
|
||||||
|
+ return this.getHandle().getLoyalty();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setLoyaltyLevel(int loyaltyLevel) {
|
||||||
|
+ com.google.common.base.Preconditions.checkArgument(loyaltyLevel >= 0 && loyaltyLevel <= 127, "The loyalty level has to be between 0 and 127");
|
||||||
|
+ this.getHandle().setLoyalty((byte) loyaltyLevel);
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||||
|
@@ -0,0 +0,0 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok
|
||||||
|
public BossBar getBossBar() {
|
||||||
|
return this.bossBar;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ // Paper start
|
||||||
|
+ @Override
|
||||||
|
+ public boolean isCharged() {
|
||||||
|
+ return getHandle().isPowered();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public int getInvulnerableTicks() {
|
||||||
|
+ return getHandle().getInvulnerableTicks();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setInvulnerableTicks(int ticks) {
|
||||||
|
+ getHandle().setInvulnerableTicks(ticks);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public boolean canTravelThroughPortals() {
|
||||||
|
+ return getHandle().canChangeDimensions();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setCanTravelThroughPortals(boolean value) {
|
||||||
|
+ getHandle().setCanTravelThroughPortals(value);
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
|
|
@ -90,5 +90,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
+ public void setHasEgg(boolean hasEgg) {
|
+ public void setHasEgg(boolean hasEgg) {
|
||||||
+ getHandle().setHasEgg(hasEgg);
|
+ getHandle().setHasEgg(hasEgg);
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public boolean isLayingEgg() {
|
||||||
|
+ return this.getHandle().isLayingEgg();
|
||||||
|
+ }
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,67 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
||||||
Date: Sun, 5 Jul 2020 15:39:19 -0700
|
|
||||||
Subject: [PATCH] added Wither API
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
||||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
||||||
@@ -0,0 +0,0 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
|
||||||
return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable();
|
|
||||||
};
|
|
||||||
private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR);
|
|
||||||
+ // Paper start
|
|
||||||
+ private boolean canPortal = false;
|
|
||||||
+
|
|
||||||
+ public void setCanTravelThroughPortals(boolean canPortal) { this.canPortal = canPortal; }
|
|
||||||
+ // Paper end
|
|
||||||
|
|
||||||
public WitherBoss(EntityType<? extends WitherBoss> type, Level world) {
|
|
||||||
super(type, world);
|
|
||||||
@@ -0,0 +0,0 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canChangeDimensions() {
|
|
||||||
- return false;
|
|
||||||
+ return super.canChangeDimensions() && canPortal; // Paper
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
|
||||||
@@ -0,0 +0,0 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok
|
|
||||||
public BossBar getBossBar() {
|
|
||||||
return this.bossBar;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ // Paper start
|
|
||||||
+ @Override
|
|
||||||
+ public boolean isCharged() {
|
|
||||||
+ return getHandle().isPowered();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public int getInvulnerableTicks() {
|
|
||||||
+ return getHandle().getInvulnerableTicks();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void setInvulnerableTicks(int ticks) {
|
|
||||||
+ getHandle().setInvulnerableTicks(ticks);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public boolean canTravelThroughPortals() {
|
|
||||||
+ return getHandle().canChangeDimensions();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void setCanTravelThroughPortals(boolean value) {
|
|
||||||
+ getHandle().setCanTravelThroughPortals(value);
|
|
||||||
+ }
|
|
||||||
+ // Paper end
|
|
||||||
}
|
|
Loading…
Reference in a new issue