mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 15:00:13 +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
|
||||
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
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
|
@ -108,6 +110,47 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ public boolean isHeadUp();
|
||||
+ // 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
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Fox.java
|
||||
|
@ -357,3 +400,140 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ boolean isSitting();
|
||||
+ // 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
|
||||
+ */
|
||||
+ 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
|
||||
+}
|
||||
|
|
|
@ -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
|
||||
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
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
|
@ -35,6 +37,52 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
public void setStanding(boolean angry) {
|
||||
if (angry) {
|
||||
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
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
||||
|
@ -52,6 +100,31 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
@Override
|
||||
protected boolean shouldDespawnInPeaceful() {
|
||||
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
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
|
||||
|
@ -123,6 +196,39 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ }
|
||||
+ // 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
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- 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) {
|
||||
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) {
|
||||
+ getHandle().setHasEgg(hasEgg);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isLayingEgg() {
|
||||
+ return this.getHandle().isLayingEgg();
|
||||
+ }
|
||||
+ // 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