本文整理汇总了PHP中pocketmine\entity\Human::teleport方法的典型用法代码示例。如果您正苦于以下问题:PHP Human::teleport方法的具体用法?PHP Human::teleport怎么用?PHP Human::teleport使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pocketmine\entity\Human
的用法示例。
在下文中一共展示了Human::teleport方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: teleportImmediate
/**
* This method may not be reliable. Clients don't like to be moved into unloaded chunks.
* Use teleport() for a delayed teleport after chunks have been sent.
*
* @param Vector3 $pos
* @param float $yaw
* @param float $pitch
*/
public function teleportImmediate(Vector3 $pos, $yaw = null, $pitch = null)
{
if (parent::teleport($pos, $yaw, $pitch)) {
foreach ($this->windowIndex as $window) {
if ($window === $this->inventory) {
continue;
}
$this->removeWindow($window);
}
$this->forceMovement = new Vector3($this->x, $this->y, $this->z);
$this->sendPosition($this, $this->yaw, $this->pitch, 1);
$this->resetFallDistance();
$this->orderChunks();
$this->nextChunkOrderRun = 0;
$this->newPosition = null;
}
}
示例2: teleport
public function teleport(Vector3 $pos, $yaw = null, $pitch = null)
{
if (!$this->isOnline()) {
return;
}
$oldPos = $this->getPosition();
if (parent::teleport($pos, $yaw, $pitch)) {
foreach ($this->windowIndex as $window) {
if ($window === $this->inventory) {
continue;
}
$this->removeWindow($window);
}
$this->teleportPosition = new Vector3($this->x, $this->y, $this->z);
if (!$this->checkTeleportPosition()) {
$this->forceMovement = $oldPos;
} else {
$this->spawnToAll();
}
$this->resetFallDistance();
$this->nextChunkOrderRun = 0;
$this->newPosition = null;
}
}
示例3: teleport
public function teleport(Vector3 $pos, $yaw = null, $pitch = null)
{
if (parent::teleport($pos, $yaw, $pitch)) {
foreach ($this->windowIndex as $window) {
if ($window === $this->inventory) {
continue;
}
$this->removeWindow($window);
}
$this->airTicks = 300;
$this->setDataProperty(self::DATA_AIR, self::DATA_TYPE_SHORT, 300);
$pk = new MovePlayerPacket();
$pk->eid = $this->getId();
$pk->x = $this->x;
$pk->y = $this->y + $this->getEyeHeight();
$pk->z = $this->z;
$pk->bodyYaw = 0;
$pk->pitch = $this->pitch;
$pk->yaw = $this->yaw;
$pk->mode = 1;
$pk->teleport = 1;
$this->directDataPacket($pk);
$this->resetFallDistance();
$this->orderChunks();
$this->nextChunkOrderRun = 0;
$this->forceMovement = new Vector3($this->x, $this->y, $this->z);
$this->newPosition = null;
}
}
示例4: teleport
public function teleport(Vector3 $pos, $yaw = null, $pitch = null)
{
if (parent::teleport($pos, $yaw, $pitch)) {
$this->airTicks = 300;
$this->fallDistance = 0;
$this->orderChunks();
$this->chunkLoadTask->setNextRun(0);
$this->forceMovement = $pos;
$pk = new MovePlayerPacket();
$pk->eid = 0;
$pk->x = $this->x;
$pk->y = $this->y + $this->getEyeHeight();
$pk->z = $this->z;
$pk->bodyYaw = $this->yaw;
$pk->pitch = $this->pitch;
$pk->yaw = $this->yaw;
$pk->teleport = true;
$this->directDataPacket($pk);
}
}