CamelHusk 5.46.0
Camel husk (Bedrock values, camel_husk.json): an undead camel of the desert, 32 health, 1.7x2.375 (0.945 tall when sitting), movement 0.09 (strolls at 2x), takes 4 less fall damage. Tempted by rabbit's feet, which also heal it (2 health). Never attacks. Sits down from time to time (1 in 1000 per tick). Loot: 2-3 rotten flesh (+0-1 per Looting level), and its saddle. Experience 1-3.
Riding (see CamelTrait): two seats, for players, parched and camel husk riders (Husk::isCamelHuskRider()); a saddle (shears take it off) lets the front player steer it and dash. Naturally spawned camel husks come with a husk rider holding an iron spear in front and a parched behind (spawn_with_rider, see \pocketmine\entity\riding\Jockeys::spawnCamelHuskRiders()). While a hostile rider is on it, it can't be saddled nor tempted, and it carries its riders to their target at 4x (behavior.mount_pathing).
Methods
attack()
public function attack(\pocketmine\event\entity\EntityDamageEvent $source) : voidcalculateFallDamage() protected
protected function calculateFallDamage(float $fallDistance) : floatcanBeRiddenBy()
public function canBeRiddenBy(\pocketmine\entity\Entity $entity) : boolcanBreathe()
public function canBreathe() : 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() : stringgetPickedItem()
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) : voidhasHostileRider()
public function hasHostileRider() : boolWhether a mob (a husk or parched rider) rides it: vanilla camel_husk_with_hostile_rider, which takes away its saddle slot and tempting until all riders got off.
initEntity() protected
protected function initEntity(\pocketmine\nbt\tag\CompoundTag $nbt) : voidonInteractWithItem() protected
protected function onInteractWithItem(\pocketmine\player\Player $player, \pocketmine\item\Item $item) : boolonPassengerAdded() protected
protected function onPassengerAdded(\pocketmine\entity\Entity $passenger) : voidregisterGoals() protected
protected function registerGoals() : voidsaveNBT()
public function saveNBT() : \pocketmine\nbt\tag\CompoundTagsyncNetworkData() protected
protected function syncNetworkData(\pocketmine\network\mcpe\protocol\types\entity\EntityMetadataCollection $properties) : void