diff --git a/src/pocketmine/command/defaults/SpawnpointCommand.php b/src/pocketmine/command/defaults/SpawnpointCommand.php index 42acf1868f..d5e2c65bdc 100644 --- a/src/pocketmine/command/defaults/SpawnpointCommand.php +++ b/src/pocketmine/command/defaults/SpawnpointCommand.php @@ -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; }