Signs can be placed again. TODO: spawn tile entities after chunk has been received and ACKed

This commit is contained in:
Shoghi Cervantes 2014-06-17 19:48:14 +02:00
parent 85007a9dfe
commit dda57f7b0f
2 changed files with 5 additions and 4 deletions

View File

@ -1933,15 +1933,16 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
$t = $this->getLevel()->getTile(new Vector3($packet->x, $packet->y, $packet->z)); $t = $this->getLevel()->getTile(new Vector3($packet->x, $packet->y, $packet->z));
if($t instanceof Sign){ if($t instanceof Sign){
if($t->namedtag->creator !== $this->username){ if(!isset($t->namedtag->Creator) or $t->namedtag["Creator"] !== $this->username){
$t->spawnTo($this); $t->spawnTo($this);
}else{ }else{
$nbt = new NBT(NBT::LITTLE_ENDIAN); $nbt = new NBT(NBT::LITTLE_ENDIAN);
$nbt->read($packet->namedtag); $nbt->read($packet->namedtag);
if($nbt->id !== Tile::SIGN){ $nbt = $nbt->getData();
if($nbt["id"] !== Tile::SIGN){
$t->spawnTo($this); $t->spawnTo($this);
}else{ }else{
$t->setText($nbt->Text1, $nbt->Text2, $nbt->Text3, $nbt->Text4); $t->setText($nbt["Text1"], $nbt["Text2"], $nbt["Text3"], $nbt["Text4"]);
} }
} }
} }

View File

@ -798,7 +798,7 @@ class Level implements ChunkManager, Metadatable{
new String("Text4", "") new String("Text4", "")
))); )));
if($player instanceof Player){ if($player instanceof Player){
$tile->namedtag->creator = new String("creator", $player->getName()); $tile->namedtag->Creator = new String("Creator", $player->getName());
} }
} }
$item->setCount($item->getCount() - 1); $item->setCount($item->getCount() - 1);