Fixed entity moving

This commit is contained in:
Shoghi Cervantes Pueyo 2012-12-07 23:38:16 +01:00
parent c97bf236d6
commit 589c151a4c
3 changed files with 23 additions and 3 deletions

View File

@ -254,6 +254,23 @@ class CustomPacketHandler{
$this->raw .= Utils::writeFloat($this->data["z"]); $this->raw .= Utils::writeFloat($this->data["z"]);
} }
break; 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: case MC_MOVE_PLAYER:
if($this->c === false){ if($this->c === false){
$this->data["eid"] = Utils::readInt($this->get(4)); $this->data["eid"] = Utils::readInt($this->get(4));

View File

@ -92,16 +92,18 @@ class Session{
if($data === $this->eid){ if($data === $this->eid){
break; break;
} }
$entity = $this->server->entities[$this->eid]; $entity = $this->server->entities[$data];
$this->send(0x84, array( $this->send(0x84, array(
$this->counter[0], $this->counter[0],
0x00, 0x00,
array( array(
"id" => MC_MOVE_ENTITY, "id" => MC_MOVE_ENTITY_POSROT,
"eid" => $data, "eid" => $data,
"x" => $entity->position["x"], "x" => $entity->position["x"],
"y" => $entity->position["y"], "y" => $entity->position["y"],
"z" => $entity->position["z"], "z" => $entity->position["z"],
"yaw" => 0,
"pitch" => 0,
), ),
)); ));
++$this->counter[0]; ++$this->counter[0];
@ -335,7 +337,7 @@ class Session{
"x" => $entity->position["x"], "x" => $entity->position["x"],
"y" => $entity->position["y"], "y" => $entity->position["y"],
"z" => $entity->position["z"], "z" => $entity->position["z"],
"block" => $entity->type, "block" => 10,
"meta" => 0, "meta" => 0,
"stack" => 1, "stack" => 1,
), ),

View File

@ -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"); 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");
@unlink(FILE_PATH."data/maps/level.dat_old"); @unlink(FILE_PATH."data/maps/level.dat_old");
@unlink(FILE_PATH."data/maps/player.dat");
unlink(FILE_PATH."data/maps/entities.dat"); unlink(FILE_PATH."data/maps/entities.dat");
if($config["level-name"] === false){ if($config["level-name"] === false){
console("[INFO] Setting default level to \"".$level["LevelName"]."\""); console("[INFO] Setting default level to \"".$level["LevelName"]."\"");