ZombieNautilus 5.46.0
Extends AquaticMonster
Implements Angerable, MountInventoryHolder, Undead
Bedrock values (zombie_nautilus.json): 15 health, 0.875x0.95, swims (movement 0.15), attack 3, knockback resistance 0.3, undead, burns in daylight out of water unless it wears nautilus armor (protection_slot slot.armor.body). Neutral: when hurt it gets angry for 20 seconds and charges its attacker (behavior.aquatic_charge_attack, 4 seconds between charges). Spawned in warm (not deep) oceans it is the coral variant (actor property minecraft:variant). Loot: 0-3 rotten flesh (+0-1 per Looting level), and its equipment. Experience 1-3.
Wild ones carry a drowned (seat 0.925 up, 0.2 back; drowned riders spawn with it, see \pocketmine\entity\riding\Jockeys::spawnDrownedRider()) and swim it to its target (behavior.mount_pathing, 0.15 blocks per tick). Without a rider and while calm, pufferfish (or their buckets) tame it with a 1/3 chance; a tamed one never gets angry, is healed by fish, takes a saddle and nautilus armor and is ridden by players like a nautilus (see NautilusTrait).
Constants
ANGER_TICKS
public const ANGER_TICKS = 400ATTACK_DAMAGE
public const ATTACK_DAMAGE = 3.0CHARGE_COOLDOWN
public const CHARGE_COOLDOWN = 80MOUNTED_SPEED
public const MOUNTED_SPEED = 0.15Swimming speed with a drowned rider, in blocks per tick (zombie_nautilus_wild_mounted).
TAG_OWNER_UUID
public const TAG_OWNER_UUID = "OwnerUUID"TAG_TAMED
public const TAG_TAMED = "IsTamed"TAG_VARIANT
public const TAG_VARIANT = "Variant"TAME_CHANCE
public const TAME_CHANCE = 1 / 3VARIANT_CORAL
public const VARIANT_CORAL = "coral"VARIANT_DEFAULT
public const VARIANT_DEFAULT = "default"Methods
attack()
public function attack(\pocketmine\event\entity\EntityDamageEvent $source) : voidbreathesAir()
public function breathesAir() : boolburnsInDaylight()
public function burnsInDaylight() : boolcanBeRiddenBy()
public function canBeRiddenBy(\pocketmine\entity\Entity $entity) : boolentityBaseTick() protected
protected function entityBaseTick(int $tickDiff = 1) : boolgetDrops()
public function getDrops() : arraygetInitialSizeInfo() protected
protected function getInitialSizeInfo() : \pocketmine\entity\EntitySizeInfogetItemInteractButtonText() protected
protected function getItemInteractButtonText(\pocketmine\player\Player $player, \pocketmine\item\Item $item) : ?stringgetName()
public function getName() : stringgetNetworkTypeId()
public static function getNetworkTypeId() : stringgetOwnerUuid()
public function getOwnerUuid() : ?\Ramsey\Uuid\UuidInterfacegetPickedItem()
public function getPickedItem() : ?\pocketmine\item\ItemgetRideableSeats()
public function getRideableSeats() : arraygetXpDropAmount()
public function getXpDropAmount() : inthandleRiderInput()
public function handleRiderInput(\pocketmine\player\Player $rider, \pocketmine\entity\riding\RiderInput $input) : voidhasDrownedRider()
public function hasDrownedRider() : boolWhether a drowned rides it (vanilla zombie_nautilus_wild_mounted): it can't be tamed then.
initEntity() protected
protected function initEntity(\pocketmine\nbt\tag\CompoundTag $nbt) : voidisBaby()
public function isBaby() : boolisCoral()
public function isCoral() : boolisCoralSpawn()
public static function isCoralSpawn(\pocketmine\entity\Location $location) : boolWhether a zombie nautilus spawned here is the coral variant (vanilla entity_spawned: warm, not deep, ocean).
isInWaterForRiding()
public function isInWaterForRiding() : boolisTamed()
public function isTamed() : boolonDeath() protected
protected function onDeath() : voidonDispose() protected
protected function onDispose() : voidonInteractWithItem() protected
protected function onInteractWithItem(\pocketmine\player\Player $player, \pocketmine\item\Item $item) : boolregisterGoals() protected
protected function registerGoals() : voidsaveNBT()
public function saveNBT() : \pocketmine\nbt\tag\CompoundTagsetCoral()
public function setCoral(bool $coral) : voidsetOwner()
public function setOwner(?\pocketmine\player\Player $owner) : voidTames it for the player (no chance roll), or makes it wild again (null). A tamed one forgets its anger.
stopSwimming() protected
protected function stopSwimming() : voidswimTowards() protected
protected function swimTowards(float $x, float $y, float $z, float $speed) : voidsyncNetworkData() protected
protected function syncNetworkData(\pocketmine\network\mcpe\protocol\types\entity\EntityMetadataCollection $properties) : voidtryChangeMovement() protected
protected function tryChangeMovement() : void