encode() public method

public encode ( )
コード例 #1
0
ファイル: StatueBuilder.php プロジェクト: robozeri/SG
 /**
  * Send NPC Players
  *
  * @param StatueModel $statue        	
  * @param Player $player        	
  * @internal param unknown $modId
  * @internal param Player $p
  */
 public function spawnStatue(StatueModel $statue, Player $player)
 {
     $slots = [];
     $slots[0] = $statue->armorHelmet;
     $slots[1] = $statue->armorChestplate;
     $slots[2] = $statue->armorLegging;
     $slots[3] = $statue->armorBoots;
     // $eid = rand ( 101, 9900 );
     $pk = new AddPlayerPacket();
     $pk->clientID = rand(101, 9999);
     $pk->username = $statue->displayName;
     $pk->eid = $statue->eid;
     $pk->x = $statue->position->x + 0.5;
     $pk->y = $statue->position->y;
     $pk->z = $statue->position->z + 0.5;
     $pk->yaw = 0;
     $pk->pitch = 0;
     $pk->unknown1 = 0;
     $pk->unknown2 = 0;
     $pk->item = $statue->itemOnHand;
     $pk->meta = 0;
     $pk->metadata = [];
     $pk->skin = $player->getSkinData();
     $pk->encode();
     $player->dataPacket($pk);
     Server::broadcastPacket($player->getViewers(), $pk);
     $player->addEntityMotion($statue->eid, 64, 290, 0);
     if ($slots != null) {
         $pk = new PlayerArmorEquipmentPacket();
         $pk->eid = $statue->eid;
         $pk->slots = $slots;
         $pk->encode();
         $pk->isEncoded = true;
         $player->dataPacket($pk);
         Server::broadcastPacket($player->getViewers(), $pk);
     }
 }