Merge pull request #947 from 99leonchang/master

Multiple orders for /gamemode
This commit is contained in:
Shoghi Cervantes 2013-11-24 14:20:04 -08:00
commit 336a40ae90

View File

@ -17,7 +17,7 @@
* @link http://www.pocketmine.net/ * @link http://www.pocketmine.net/
* *
* *
*/ */
class PlayerAPI{ class PlayerAPI{
private $server; private $server;
@ -161,6 +161,7 @@ class PlayerAPI{
break; break;
case "gamemode": case "gamemode":
$player = false; $player = false;
$setgm = false;
$gms = array( $gms = array(
"0" => SURVIVAL, "0" => SURVIVAL,
"survival" => SURVIVAL, "survival" => SURVIVAL,
@ -181,13 +182,22 @@ class PlayerAPI{
$player = $issuer; $player = $issuer;
} }
if(isset($params[1])){ if(isset($params[1])){
if($this->server->api->player->get($params[1]) instanceof Player){
$player = $this->server->api->player->get($params[1]); $player = $this->server->api->player->get($params[1]);
} $setgm = $params[0];
if(!($player instanceof Player) or !isset($gms[strtolower($params[0])])){ }else if($this->server->api->player->get($params[0]) instanceof Player){
$output .= "Usage: /$cmd <mode> [player]\n"; $player = $this->server->api->player->get($params[0]);
$setgm = $params[1];
}else{
$output .= "Usage: /$cmd <mode> [player] or /$cmd [player] <mode>\n";
break; break;
} }
if($player->setGamemode($gms[strtolower($params[0])])){ }
if(!($player instanceof Player) or !isset($gms[strtolower($setgm)])){
$output .= "Usage: /$cmd <mode> [player] or /$cmd [player] <mode>\n";
break;
}
if($player->setGamemode($gms[strtolower($setgm)])){
$output .= "Gamemode of ".$player->username." changed to ".$player->getGamemode()."\n"; $output .= "Gamemode of ".$player->username." changed to ".$player->getGamemode()."\n";
} }
break; break;