Use Entity->getDirectionVector() more

This commit is contained in:
Dylan K. Taylor 2017-09-03 12:08:40 +01:00
parent 4df261b75a
commit 89f5567476
2 changed files with 6 additions and 8 deletions

View File

@ -2376,11 +2376,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
$this->level->sendBlocks([$this], [$target, $block], UpdateBlockPacket::FLAG_ALL_PRIORITY);
return true;
}elseif($packet->face === -1){
$directionVector = new Vector3(
-sin($this->yaw / 180 * M_PI) * cos($this->pitch / 180 * M_PI),
-sin($this->pitch / 180 * M_PI),
cos($this->yaw / 180 * M_PI) * cos($this->pitch / 180 * M_PI)
);
$directionVector = $this->getDirectionVector();
if($this->isCreative()){
$item = $this->inventory->getItemInHand();

View File

@ -54,6 +54,8 @@ class Bow extends Tool{
return false;
}
$directionVector = $player->getDirectionVector();
$nbt = new CompoundTag("", [
new ListTag("Pos", [
new DoubleTag("", $player->x),
@ -61,9 +63,9 @@ class Bow extends Tool{
new DoubleTag("", $player->z)
]),
new ListTag("Motion", [
new DoubleTag("", -sin($player->yaw / 180 * M_PI) * cos($player->pitch / 180 * M_PI)),
new DoubleTag("", -sin($player->pitch / 180 * M_PI)),
new DoubleTag("", cos($player->yaw / 180 * M_PI) * cos($player->pitch / 180 * M_PI))
new DoubleTag("", $directionVector->x),
new DoubleTag("", $directionVector->y),
new DoubleTag("", $directionVector->z)
]),
new ListTag("Rotation", [
//yaw/pitch for arrows taken crosswise, not along the arrow shaft.