mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-06 01:46:04 +00:00
Fixed properties for NBT, fixed dropping items removing extra data set
This commit is contained in:
@ -1093,99 +1093,6 @@ class Server{
|
||||
|
||||
$level->setTickRate($this->baseTickRate);
|
||||
|
||||
/*foreach($entities->getAll() as $entity){
|
||||
if(!isset($entity["id"])){
|
||||
break;
|
||||
}
|
||||
if($entity["id"] === 64){ //Item Drop
|
||||
$e = $this->server->api->entity->add($this->levels[$name], ENTITY_ITEM, $entity["Item"]["id"], array(
|
||||
"meta" => $entity["Item"]["Damage"],
|
||||
"stack" => $entity["Item"]["Count"],
|
||||
"x" => $entity["Pos"][0],
|
||||
"y" => $entity["Pos"][1],
|
||||
"z" => $entity["Pos"][2],
|
||||
"yaw" => $entity["Rotation"][0],
|
||||
"pitch" => $entity["Rotation"][1],
|
||||
));
|
||||
}elseif($entity["id"] === FALLING_SAND){
|
||||
$e = $this->server->api->entity->add($this->levels[$name], ENTITY_FALLING, $entity["id"], $entity);
|
||||
$e->setPosition(new Vector3($entity["Pos"][0], $entity["Pos"][1], $entity["Pos"][2]), $entity["Rotation"][0], $entity["Rotation"][1]);
|
||||
$e->setHealth($entity["Health"]);
|
||||
}elseif($entity["id"] === OBJECT_PAINTING or $entity["id"] === OBJECT_ARROW){ //Painting
|
||||
$e = $this->server->api->entity->add($this->levels[$name], ENTITY_OBJECT, $entity["id"], $entity);
|
||||
$e->setPosition(new Vector3($entity["Pos"][0], $entity["Pos"][1], $entity["Pos"][2]), $entity["Rotation"][0], $entity["Rotation"][1]);
|
||||
$e->setHealth(1);
|
||||
}else{
|
||||
$e = $this->server->api->entity->add($this->levels[$name], ENTITY_MOB, $entity["id"], $entity);
|
||||
$e->setPosition(new Vector3($entity["Pos"][0], $entity["Pos"][1], $entity["Pos"][2]), $entity["Rotation"][0], $entity["Rotation"][1]);
|
||||
$e->setHealth($entity["Health"]);
|
||||
}
|
||||
}*/
|
||||
|
||||
/*if(file_exists($path . "tiles.yml")){
|
||||
$tiles = new Config($path . "tiles.yml", Config::YAML);
|
||||
foreach($tiles->getAll() as $tile){
|
||||
if(!isset($tile["id"])){
|
||||
continue;
|
||||
}
|
||||
$level->loadChunk($tile["x"] >> 4, $tile["z"] >> 4);
|
||||
|
||||
$nbt = new Compound(false, []);
|
||||
foreach($tile as $index => $data){
|
||||
switch($index){
|
||||
case "Items":
|
||||
$tag = new Enum("Items", []);
|
||||
$tag->setTagType(NBT::TAG_Compound);
|
||||
foreach($data as $slot => $fields){
|
||||
$tag[(int) $slot] = new Compound(false, array(
|
||||
"Count" => new Byte("Count", $fields["Count"]),
|
||||
"Slot" => new Short("Slot", $fields["Slot"]),
|
||||
"Damage" => new Short("Damage", $fields["Damage"]),
|
||||
"id" => new String("id", $fields["id"])
|
||||
));
|
||||
}
|
||||
$nbt["Items"] = $tag;
|
||||
break;
|
||||
|
||||
case "id":
|
||||
case "Text1":
|
||||
case "Text2":
|
||||
case "Text3":
|
||||
case "Text4":
|
||||
$nbt[$index] = new String($index, $data);
|
||||
break;
|
||||
|
||||
case "x":
|
||||
case "y":
|
||||
case "z":
|
||||
case "pairx":
|
||||
case "pairz":
|
||||
$nbt[$index] = new Int($index, $data);
|
||||
break;
|
||||
|
||||
case "BurnTime":
|
||||
case "CookTime":
|
||||
case "MaxTime":
|
||||
$nbt[$index] = new Short($index, $data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
switch($tile["id"]){
|
||||
case Tile::FURNACE:
|
||||
new Furnace($level, $nbt);
|
||||
break;
|
||||
case Tile::CHEST:
|
||||
new Chest($level, $nbt);
|
||||
break;
|
||||
case Tile::SIGN:
|
||||
new Sign($level, $nbt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
unlink($path . "tiles.yml");
|
||||
$level->save(true, true);
|
||||
}*/
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user