WanderingTrader 5.46.0
Bedrock values (entities/wandering_trader.json): 20 health, 0.6x1.9, movement 0.5 (0.6x when strolling or panicking), runs from zombies and other monsters within 6 blocks. Sells five common and one rare trade picked from the vanilla list (trading/economy_trades/wandering_trader_trades.json, see VillagerTrades); it has no levels. Trader llamas within 16 blocks attack whoever hurts it. A trader spawned by the world (see \pocketmine\world\mobs\WanderingTraderSpawner) despawns after 2 or 3 days (48000 or 72000 ticks while loaded) once no player is within 24 blocks, even if named (Bedrock). Drinking potions/milk and llamas on leads are not implemented. No drops; no XP.
Constants
DESPAWN_PLAYER_DISTANCE
public const DESPAWN_PLAYER_DISTANCE = 24It only despawns when no player is this close.
TAG_DESPAWN_DELAY
public const TAG_DESPAWN_DELAY = "DespawnDelay"TAG_OFFERS
public const TAG_OFFERS = "Offers"Methods
attack()
public function attack(\pocketmine\event\entity\EntityDamageEvent $source) : voidcanTradeWith()
public function canTradeWith(\pocketmine\player\Player $player) : boolentityBaseTick() protected
protected function entityBaseTick(int $tickDiff = 1) : boolgetDespawnDelay()
public function getDespawnDelay() : intTicks left before the trader despawns (it waits for players to leave), 0 if it never despawns.
getInitialSizeInfo() protected
protected function getInitialSizeInfo() : \pocketmine\entity\EntitySizeInfogetName()
public function getName() : stringgetNetworkTypeId()
public static function getNetworkTypeId() : stringgetPlayerReputation()
public function getPlayerReputation(\pocketmine\player\Player $player) : intgetTierExpRequirements()
public function getTierExpRequirements() : arraygetTradeDisplayName()
public function getTradeDisplayName() : stringgetTradeOffers()
public function getTradeOffers() : arraygetTradeTier()
public function getTradeTier() : intgetTradingPlayer()
public function getTradingPlayer() : ?\pocketmine\player\PlayerinitEntity() protected
protected function initEntity(\pocketmine\nbt\tag\CompoundTag $nbt) : voidonInteractWithItem() protected
protected function onInteractWithItem(\pocketmine\player\Player $player, \pocketmine\item\Item $item) : boolonTrade()
public function onTrade(\pocketmine\player\Player $player, \pocketmine\entity\npc\TradeOffer $offer, int $times) : voidregisterGoals() protected
protected function registerGoals() : voidsaveNBT()
public function saveNBT() : \pocketmine\nbt\tag\CompoundTagsetDespawnDelay()
public function setDespawnDelay(int $ticks) : voidsetTradingPlayer()
public function setTradingPlayer(?\pocketmine\player\Player $player) : voidsyncNetworkData() protected
protected function syncNetworkData(\pocketmine\network\mcpe\protocol\types\entity\EntityMetadataCollection $properties) : void