Fixed /tp

This commit is contained in:
Shoghi Cervantes 2014-04-04 01:52:56 +02:00
parent 327d183bed
commit fb6cd22c83

View File

@ -51,6 +51,7 @@ class TeleportCommand extends VanillaCommand{
}
$target = null;
$origin = $sender;
if(count($args) === 1 or count($args) === 3){
if($sender instanceof Player){
@ -65,30 +66,20 @@ class TeleportCommand extends VanillaCommand{
$sender->sendMessage(TextFormat::RED . "Can't find player ".$args[0]);
return true;
}
}
if(count($args) === 2){
$sourcePlayer = Server::getInstance()->getPlayer($args[0]);
$targetPlayer = Server::getInstance()->getPlayer($args[1]);
if($sourcePlayer === null){
$sender->sendMessage(TextFormat::RED . "Can't find player ".$args[0]);
return true;
} elseif($targetPlayer === null){
$sender->sendMessage(TextFormat::RED . "Can't find player ".$args[1]);
return true;
if(count($args) === 2){
$origin = $target;
$target = Server::getInstance()->getPlayer($args[1]);
if($target === null){
$sender->sendMessage(TextFormat::RED . "Can't find player ".$args[1]);
return true;
}
}
if($targetPlayer->getLevel() === null){
$sender->sendMessage(TextFormat::RED . "Teleport failed.");
return true;
}
$sourcePlayer->teleport(new Position($targetPlayer->x,$targetPlayer->y,$targetPlayer->z, $targetPlayer->getLevel()));
Command::broadcastCommandMessage($sender, "Teleported ".$sourcePlayer->getName()." to ".$targetPlayer->getName());
}
if(count($args) < 3){
$pos = new Position((int) $sender->x, (int) $sender->y, (int) $sender->z, $sender->getLevel());
$target->setSpawn($pos);
Command::broadcastCommandMessage($sender, "Set ".$target->getName()."'s spawnpoint to ".$pos->x.", ".$pos->y.", ".$pos->z);
$pos = new Position($target->x, $target->y, $target->z, $target->getLevel());
$origin->teleport($pos);
Command::broadcastCommandMessage($sender, "Teleported ".$origin->getName()." to ".$target->getName());
return true;
}elseif($target->getLevel() !== null){
$pos = count($args) === 4 ? 1:0;