public function place(Item $item, Block $block, Block $target, $face, $fx, $fy, $fz, Player $player = null) { if ($player instanceof Player) { $pitch = $player->getPitch(); if (abs($pitch) >= 45) { if ($pitch < 0) { $f = 0; } else { $f = 1; } } else { $f = $player->getDirection() + 2; } } else { $f = 0; } $faces = [0 => 0, 1 => 1, 2 => 4, 3 => 2, 4 => 5, 5 => 3]; $this->meta = $faces[$f]; $this->getLevel()->setBlock($block, $this, true, true); $nbt = new CompoundTag("", [new ListTag("Items", []), new StringTag("id", Tile::DROPPER), new IntTag("x", $this->x), new IntTag("y", $this->y), new IntTag("z", $this->z)]); $nbt->Items->setTagType(NBT::TAG_Compound); if ($item->hasCustomName()) { $nbt->CustomName = new StringTag("CustomName", $item->getCustomName()); } if ($item->hasCustomBlockData()) { foreach ($item->getCustomBlockData() as $key => $v) { $nbt->{$key} = $v; } } Tile::createTile(Tile::DROPPER, $this->getLevel()->getChunk($this->x >> 4, $this->z >> 4), $nbt); return true; }
public function place(Item $item, Block $block, Block $target, $face, $fx, $fy, $fz, Player $player = null) { if ($player instanceof Player) { $pitch = $player->getPitch(); if (abs($pitch) >= 45) { if ($pitch < 0) { $f = 0; } else { $f = 1; } } else { $f = $player->getDirection() + 2; } } else { $f = 0; } $faces = [0 => 0, 1 => 1, 2 => 5, 3 => 3, 4 => 4, 5 => 2]; $this->meta = $faces[$f]; $this->getLevel()->setBlock($block, $this, true, true); $nbt = new CompoundTag("", [new StringTag("id", Tile::PISTON), new IntTag("x", $this->x), new IntTag("y", $this->y), new IntTag("z", $this->z), new IntTag("blockData", 0), new IntTag("blockId", Item::PISTON_HEAD), new ByteTag("extending", 0), new IntTag("facing", $faces[$f]), new FloatTag("progress", 0.0)]); $tile = Tile::createTile("Piston", $this->getLevel()->getChunk($this->x >> 4, $this->z >> 4), $nbt); return true; }
/** * Basic player specific variable definitions * @param Player $player - reference to pocketmine Player * @param array &$vars - receives variable defintions */ public function stdPlayerVars(Player $player, array &$vars) { foreach (["{player}" => $player->getName(), "{displayName}" => $player->getDisplayName(), "{world}" => $player->getLevel()->getName(), "{x}" => (int) $player->getX(), "{y}" => (int) $player->getY(), "{z}" => (int) $player->getZ(), "{yaw}" => (int) $player->getYaw(), "{pitch}" => (int) $player->getPitch(), "{bearing}" => self::bearing($player->getYaw())] as $a => $b) { $vars[$a] = $b; } }
/** * @param Player $player * @return bool|int */ public static function sendMovePlayerPacket(Player $player) { $packet = new MovePlayerPacket(); $packet->eid = 0; $packet->x = $player->getX(); $packet->y = $player->getY(); $packet->z = $player->getZ(); $packet->yaw = $player->getYaw(); $packet->bodyYaw = $player->getYaw(); $packet->pitch = $player->getPitch(); $packet->onGround = false; return $player->dataPacket($packet); }
public function setLobby($arena, Player $p) { $config = new Config($this->getDataFolder() . "Arenas/" . $arena . ".yml", Config::YAML); $config->setNested("Spawn.Lobby.Welt", $p->getLevel()->getName()); $config->setNested("Spawn.Lobby.X", $p->getX()); $config->setNested("Spawn.Lobby.Y", $p->getY()); $config->setNested("Spawn.Lobby.Z", $p->getZ()); $config->setNested("Spawn.Lobby.Yaw", $p->getYaw()); $config->setNested("Spawn.Lobby.Pitch", $p->getPitch()); $config->save(); }
public function teleportPlayer(Player $player, Position $pos) { $player->teleport($pos, $player->getYaw(), $player->getPitch()); $player->sendMessage("Teleported!"); }
public function __construct(Player $player, Item $item) { parent::__construct($player->getLevel()->getChunk($player->x >> 4, $player->z >> 4), new Compound("", ["Pos" => new Enum("Pos", [new Double("", $player->x), new Double("", $player->y + $player->getEyeHeight()), new Double("", $player->z)]), "Motion" => new Enum("Motion", [new Double("", 0), new Double("", 0), new Double("", 0)]), "Rotation" => new Enum("Rotation", [new Float("", 0), new Float("", 0)])])); $this->item = $item->getID() == 0 ? Item::get(1000, 0, 0) : $item; $this->player = $player; $this->yaw = $player->getYaw(); $this->pitch = $player->getPitch(); parent::spawnToAll(); }