Fixed #1628 invalid sender x,y,z on /spawnpoint, closes #1671

This commit is contained in:
Shoghi Cervantes 2014-07-14 14:07:43 +02:00
parent f2d5daffc0
commit 096e238242

View File

@ -50,14 +50,12 @@ class SpawnpointCommand extends VanillaCommand{
$target = $sender;
}else{
$sender->sendMessage(TextFormat::RED . "Please provide a player!");
return true;
}
}else{
$target = $sender->getServer()->getPlayer($args[0]);
if($target === null){
$sender->sendMessage(TextFormat::RED . "Can't find player " . $args[0]);
return true;
}
}
@ -66,11 +64,12 @@ class SpawnpointCommand extends VanillaCommand{
if(count($args) === 4){
if($level !== null){
$x = (int) $this->getRelativeDouble($sender->x, $sender, $args[1]);
$y = (int) $this->getRelativeDouble($sender->y, $sender, $args[2], 0, 128);
$z = (int) $this->getRelativeDouble($sender->z, $sender, $args[3]);
$pos = $sender instanceof Player ? $sender->getPosition() : $level->getSpawn();
$x = (int) $this->getRelativeDouble($pos->x, $sender, $args[1]);
$y = $this->getRelativeDouble($pos->y, $sender, $args[2], 0, 128);
$z = $this->getRelativeDouble($pos->z, $sender, $args[3]);
$target->setSpawn(new Position($x, $y, $z, $level));
Command::broadcastCommandMessage($sender, "Set " . $target->getName() . "'s spawnpoint to " . $x . ", " . $y . ", " . $z);
Command::broadcastCommandMessage($sender, "Set " . $target->getDisplayName() . "'s spawnpoint to " . $x . ", " . $y . ", " . $z);
return true;
}