diff --git a/classes/CustomPacketHandler.class.php b/classes/CustomPacketHandler.class.php index 8fd85fc17..e091937f9 100644 --- a/classes/CustomPacketHandler.class.php +++ b/classes/CustomPacketHandler.class.php @@ -254,6 +254,23 @@ class CustomPacketHandler{ $this->raw .= Utils::writeFloat($this->data["z"]); } break; + case MC_MOVE_ENTITY_POSROT: + if($this->c === false){ + $this->data["eid"] = Utils::readInt($this->get(4)); + $this->data["x"] = Utils::readFloat($this->get(4)); + $this->data["y"] = Utils::readFloat($this->get(4)); + $this->data["z"] = Utils::readFloat($this->get(4)); + $this->data["yaw"] = Utils::readFloat($this->get(4)); + $this->data["pitch"] = Utils::readFloat($this->get(4)); + }else{ + $this->raw .= Utils::writeInt($this->data["eid"]); + $this->raw .= Utils::writeFloat($this->data["x"]); + $this->raw .= Utils::writeFloat($this->data["y"]); + $this->raw .= Utils::writeFloat($this->data["z"]); + $this->raw .= Utils::writeFloat($this->data["yaw"]); + $this->raw .= Utils::writeFloat($this->data["pitch"]); + } + break; case MC_MOVE_PLAYER: if($this->c === false){ $this->data["eid"] = Utils::readInt($this->get(4)); diff --git a/classes/Session.class.php b/classes/Session.class.php index 16d6887bc..60d5bb0c2 100644 --- a/classes/Session.class.php +++ b/classes/Session.class.php @@ -92,16 +92,18 @@ class Session{ if($data === $this->eid){ break; } - $entity = $this->server->entities[$this->eid]; + $entity = $this->server->entities[$data]; $this->send(0x84, array( $this->counter[0], 0x00, array( - "id" => MC_MOVE_ENTITY, + "id" => MC_MOVE_ENTITY_POSROT, "eid" => $data, "x" => $entity->position["x"], "y" => $entity->position["y"], "z" => $entity->position["z"], + "yaw" => 0, + "pitch" => 0, ), )); ++$this->counter[0]; @@ -335,7 +337,7 @@ class Session{ "x" => $entity->position["x"], "y" => $entity->position["y"], "z" => $entity->position["z"], - "block" => $entity->type, + "block" => 10, "meta" => 0, "stack" => 1, ), diff --git a/server.php b/server.php index 83a860e42..1e2f01340 100644 --- a/server.php +++ b/server.php @@ -115,6 +115,7 @@ if(file_exists(FILE_PATH."data/maps/level.dat")){ rename(FILE_PATH."data/maps/chunks.dat", FILE_PATH."data/maps/".$lvName."chunks.dat"); unlink(FILE_PATH."data/maps/level.dat"); @unlink(FILE_PATH."data/maps/level.dat_old"); + @unlink(FILE_PATH."data/maps/player.dat"); unlink(FILE_PATH."data/maps/entities.dat"); if($config["level-name"] === false){ console("[INFO] Setting default level to \"".$level["LevelName"]."\"");