Implemented new Inventory windows on Player, Chest and Furnace

This commit is contained in:
Shoghi Cervantes
2014-05-23 20:53:06 +02:00
parent 27e82ea60a
commit 53749483c3
71 changed files with 1189 additions and 1009 deletions

View File

@@ -21,10 +21,8 @@
namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\Player;
use pocketmine\Server;
use pocketmine\utils\TextFormat;
class KillCommand extends VanillaCommand{

View File

@@ -23,7 +23,6 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\HandlerList;
use pocketmine\Server;
use pocketmine\utils\TextFormat;

View File

@@ -23,8 +23,6 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\ConsoleCommandSender;
use pocketmine\level\Position;
use pocketmine\math\Vector3;
use pocketmine\Player;
use pocketmine\Server;
@@ -52,19 +50,22 @@ class SetWorldSpawnCommand extends VanillaCommand{
$pos = $sender->round();
}else{
$sender->sendMessage(TextFormat::RED . "You can only perform this command as a player");
return true;
}
}elseif(count($args) === 3){
$level = Server::getInstance()->getDefaultLevel();
$pos = new Vector3($this->getInteger($sender, $args[0]), $this->getInteger($sender, $args[1]), $this->getInteger($sender, $args[2]));
}else{
$sender->sendMessage(TextFormat::RED . "Usage: ".$this->usageMessage);
$sender->sendMessage(TextFormat::RED . "Usage: " . $this->usageMessage);
return true;
}
$level->setSpawn($pos);
Command::broadcastCommandMessage($sender, "Set world ".$level->getName()."'s spawnpoint to ".$pos->x.", ".$pos->y.", ".$pos->z);
Command::broadcastCommandMessage($sender, "Set world " . $level->getName() . "'s spawnpoint to " . $pos->x . ", " . $pos->y . ", " . $pos->z);
return true;
}
}

View File

@@ -51,12 +51,14 @@ class SpawnpointCommand extends VanillaCommand{
$target = $sender;
}else{
$sender->sendMessage(TextFormat::RED . "Please provide a player!");
return true;
}
}else{
$target = Server::getInstance()->getPlayer($args[0]);
if($target === null){
$sender->sendMessage(TextFormat::RED . "Can't find player ".$args[0]);
$sender->sendMessage(TextFormat::RED . "Can't find player " . $args[0]);
return true;
}
}
@@ -69,22 +71,26 @@ class SpawnpointCommand extends VanillaCommand{
$y = (int) $this->getRelativeDouble($sender->y, $sender, $args[2], 0, 128);
$z = (int) $this->getRelativeDouble($sender->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->getName() . "'s spawnpoint to " . $x . ", " . $y . ", " . $z);
return true;
}
}elseif(count($args) <= 1){
if($sender instanceof Player) {
if($sender instanceof Player){
$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);
Command::broadcastCommandMessage($sender, "Set " . $target->getName() . "'s spawnpoint to " . $pos->x . ", " . $pos->y . ", " . $pos->z);
return true;
}else{
$sender->sendMessage(TextFormat::RED . "Please provide a player!");
return true;
}
}
$sender->sendMessage(TextFormat::RED . "Usage: ".$this->usageMessage);
$sender->sendMessage(TextFormat::RED . "Usage: " . $this->usageMessage);
return true;
}
}

View File

@@ -22,7 +22,6 @@
namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\Player;
use pocketmine\Server;
use pocketmine\utils\TextFormat;
@@ -43,11 +42,12 @@ class StatusCommand extends VanillaCommand{
}
$server = Server::getInstance();
$sender->sendMessage(TextFormat::GREEN . "---- ".TextFormat::WHITE . "Server status".TextFormat::GREEN. " ----");
$sender->sendMessage(TextFormat::GOLD . "TPS: ".TextFormat::WHITE.$server->getTicksPerSecond());
$sender->sendMessage(TextFormat::GOLD . "Upload: ".TextFormat::WHITE . round($server->getNetwork()->getUploadSpeed() / 1024, 2) . " kB/s");
$sender->sendMessage(TextFormat::GOLD . "Download: ".TextFormat::WHITE . round($server->getNetwork()->getDownloadSpeed() / 1024, 2) . " kB/s");
$sender->sendMessage(TextFormat::GOLD . "Memory: ".TextFormat::WHITE . round((memory_get_usage() / 1024) / 1024, 2) . TextFormat::YELLOW . "/" . TextFormat::WHITE . round((memory_get_usage(true) / 1024) / 1024, 2) . " MB");
$sender->sendMessage(TextFormat::GREEN . "---- " . TextFormat::WHITE . "Server status" . TextFormat::GREEN . " ----");
$sender->sendMessage(TextFormat::GOLD . "TPS: " . TextFormat::WHITE . $server->getTicksPerSecond());
$sender->sendMessage(TextFormat::GOLD . "Upload: " . TextFormat::WHITE . round($server->getNetwork()->getUploadSpeed() / 1024, 2) . " kB/s");
$sender->sendMessage(TextFormat::GOLD . "Download: " . TextFormat::WHITE . round($server->getNetwork()->getDownloadSpeed() / 1024, 2) . " kB/s");
$sender->sendMessage(TextFormat::GOLD . "Memory: " . TextFormat::WHITE . round((memory_get_usage() / 1024) / 1024, 2) . TextFormat::YELLOW . "/" . TextFormat::WHITE . round((memory_get_usage(true) / 1024) / 1024, 2) . " MB");
return true;
}
}

View File

@@ -46,7 +46,8 @@ class TeleportCommand extends VanillaCommand{
}
if(count($args) < 1 or count($args) > 4){
$sender->sendMessage(TextFormat::RED . "Usage: ".$this->usageMessage);
$sender->sendMessage(TextFormat::RED . "Usage: " . $this->usageMessage);
return true;
}
@@ -58,19 +59,22 @@ class TeleportCommand extends VanillaCommand{
$target = $sender;
}else{
$sender->sendMessage(TextFormat::RED . "Please provide a player!");
return true;
}
}else{
$target = Server::getInstance()->getPlayer($args[0]);
if($target === null){
$sender->sendMessage(TextFormat::RED . "Can't find player ".$args[0]);
$sender->sendMessage(TextFormat::RED . "Can't find player " . $args[0]);
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]);
$sender->sendMessage(TextFormat::RED . "Can't find player " . $args[1]);
return true;
}
}
@@ -79,19 +83,22 @@ class TeleportCommand extends VanillaCommand{
if(count($args) < 3){
$pos = new Position($target->x, $target->y, $target->z, $target->getLevel());
$origin->teleport($pos);
Command::broadcastCommandMessage($sender, "Teleported ".$origin->getName()." to ".$target->getName());
Command::broadcastCommandMessage($sender, "Teleported " . $origin->getName() . " to " . $target->getName());
return true;
}elseif($target->getLevel() !== null){
$pos = count($args) === 4 ? 1:0;
$pos = count($args) === 4 ? 1 : 0;
$x = $this->getRelativeDouble($target->x, $sender, $args[$pos++]);
$y = $this->getRelativeDouble($target->y, $sender, $args[$pos++], 0, 128);
$z = $this->getRelativeDouble($target->z, $sender, $args[$pos]);
$target->teleport(new Vector3($x, $y, $z));
Command::broadcastCommandMessage($sender, "Teleported ".$target->getName()." to ".round($x, 2).", ".round($y, 2).", ".round($z, 2));
Command::broadcastCommandMessage($sender, "Teleported " . $target->getName() . " to " . round($x, 2) . ", " . round($y, 2) . ", " . round($z, 2));
return true;
}
$sender->sendMessage(TextFormat::RED . "Usage: ".$this->usageMessage);
$sender->sendMessage(TextFormat::RED . "Usage: " . $this->usageMessage);
return true;
}
}

View File

@@ -6,7 +6,6 @@ use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\Server;
use pocketmine\utils\TextFormat;
use pocketmine\network\protocol\SetTimePacket;
class TimeCommand extends VanillaCommand{
public function __construct($name){
@@ -17,20 +16,22 @@ class TimeCommand extends VanillaCommand{
);
$this->setPermission("pocketmine.command.time.add;pocketmine.command.set;");
}
public function execute(CommandSender $sender, $label, array $args){
if (count($args) < 2) {
$sender->sendMessage(TextFormat::RED."Incorrect usage. Correct usage:\n".$this->getUsage());
if(count($args) < 2){
$sender->sendMessage(TextFormat::RED . "Incorrect usage. Correct usage:\n" . $this->getUsage());
return false;
}
switch(strtolower($args[0])){
case "set":
if(!$sender->hasPermission("pocketmine.command.time.add")){
$sender->sendMessage(TextFormat::RED."You don't have permission to set the time");
$sender->sendMessage(TextFormat::RED . "You don't have permission to set the time");
return true;
}
if($args[1] === "day"){
$value = 0;
}elseif($args[1] === "night"){
@@ -38,30 +39,31 @@ class TimeCommand extends VanillaCommand{
}else{
$value = $this->getInteger($sender, $args[1], 0);
}
foreach(Server::getInstance()->getLevels() as $level){
$level->setTime($value);
}
Command::broadcastCommandMessage($sender, "Set time to ".$value);
return true;
Command::broadcastCommandMessage($sender, "Set time to " . $value);
return true;
case "add":
if (!$sender->hasPermission("pocketmine.command.time.add")){
$sender->sendMessage(TextFormat::RED."You don't have permission to set the time");
if(!$sender->hasPermission("pocketmine.command.time.add")){
$sender->sendMessage(TextFormat::RED . "You don't have permission to set the time");
return true;
}
$value = $this->getInteger($sender, $args[1], 0);
foreach(Server::getInstance()->getLevels() as $level){
$level->setTime($level->getTime() + $value);
}
Command::broadcastCommandMessage($sender, "Added ".$value." to time");
return true;
Command::broadcastCommandMessage($sender, "Added " . $value . " to time");
return true;
default:
$sender->sendMessage("Unknown method. Usage: ".$this->getUsage());
$sender->sendMessage("Unknown method. Usage: " . $this->getUsage());
}
}
}