Merge branch 'Core-Rewrite' of github.com:PocketMine/PocketMine-MP into Core-Rewrite

This commit is contained in:
Shoghi Cervantes 2014-05-19 17:34:30 +02:00
commit 29caf1363f
8 changed files with 85 additions and 19 deletions

View File

@ -70,7 +70,7 @@ rm -f start.bat
echo "[2/3] Downloading PocketMine-MP $PMMP_VERSION..."
set +e
download_file "https://github.com/PocketMine/PocketMine-MP/releases/download/$PMMP_VERSION/PocketMine-MP.phar" > PocketMine-MP.phar
if ! [ -s "PocketMine-MP.phar" ]; then
if ! [ -s "PocketMine-MP.phar" ] || [ "$(head -n 1 PocketMine-MP.phar)" == '<!DOCTYPE html>' ]; then
rm "PocketMine-MP.phar" > /dev/null
download_file "https://github.com/PocketMine/PocketMine-MP/archive/$PMMP_VERSION.tar.gz" | tar -zx > /dev/null
COMPILE_SCRIPT="./src/build/compile.sh"

View File

@ -890,7 +890,7 @@ class Server{
return false;
}
if($generator !== false and class_exists($generator) and is_subclass_of($generator, "pocketmine\\level\\generator\\Generator")){
if($generator !== null and class_exists($generator) and is_subclass_of($generator, "pocketmine\\level\\generator\\Generator")){
$generator = new $generator($options);
}else{
if(strtoupper($this->getLevelType()) == "FLAT"){
@ -1568,7 +1568,7 @@ class Server{
return;
}
ini_set("memory_limit", "-1"); //Fix error dump not dumped on memory problems
console("[SEVERE] An unrecovereable has ocurred and the server has crashed. Creating an error dump");
console("[SEVERE] An unrecoverable has occurred and the server has crashed. Creating an error dump");
$dump = "```\r\n# PocketMine-MP Error Dump " . date("D M j H:i:s T Y") . "\r\n";
$er = error_get_last();
$errorConversion = array(
@ -1842,4 +1842,4 @@ class Server{
return false;
}
}
}

View File

@ -301,4 +301,11 @@ abstract class Command{
}
}
}
}
/**
* @return string
*/
public function __toString(){
return $this->name;
}
}

View File

@ -53,6 +53,7 @@ use pocketmine\command\defaults\TellCommand;
use pocketmine\command\defaults\VanillaCommand;
use pocketmine\command\defaults\VersionCommand;
use pocketmine\command\defaults\WhitelistCommand;
use pocketmine\command\defaults\TimeCommand;
use pocketmine\Server;
class SimpleCommandMap implements CommandMap{
@ -101,6 +102,7 @@ class SimpleCommandMap implements CommandMap{
$this->register("pocketmine", new SetWorldSpawnCommand("setworldspawn"));
$this->register("pocketmine", new TeleportCommand("tp"));
$this->register("pocketmine", new ReloadCommand("reload"));
$this->register("pocketmine", new TimeCommand("time"));
if($this->server->getConfigBoolean("debug.commands", false) === true){
$this->register("pocketmine", new StatusCommand("status"));

View File

@ -0,0 +1,67 @@
<?php
namespace pocketmine\command\defaults;
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){
parent::__construct(
$name,
"Changes the time on each world",
"/time set <value>\n/time add <value>"
);
$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());
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");
return true;
}
if($args[1] === "day"){
$value = 0;
}elseif($args[1] === "night"){
$value = 12500;
}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;
case "add":
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;
default:
$sender->sendMessage("Unknown method. Usage: ".$this->getUsage());
}
}
}

View File

@ -69,7 +69,7 @@ class PermissibleBase implements Permissible{
*/
public function setOp($value){
if($this->opable === null){
trigger_error("Cannot change ip value as no ServerOperator is set", E_USER_WARNING);
trigger_error("Cannot change op value as no ServerOperator is set", E_USER_WARNING);
return;
}else{
@ -217,4 +217,4 @@ class PermissibleBase implements Permissible{
public function getEffectivePermissions(){
return $this->permissions;
}
}
}

View File

@ -36,9 +36,6 @@ use pocketmine\Server;
*/
class PluginManager{
/** @var PluginManager */
private static $instance = null;
/** @var Server */
private $server;
@ -85,13 +82,6 @@ class PluginManager{
*/
protected $fileAssociations = array();
/**
* @return PluginManager
*/
public static function getInstance(){
return self::$instance;
}
/**
* @param Server $server
* @param SimpleCommandMap $commandMap
@ -692,4 +682,4 @@ class PluginManager{
return $event::$handlerList;
}
}
}

View File

@ -22,7 +22,7 @@
namespace pocketmine\scheduler;
/**
* Allows the creation if simple callbacks with extra data
* Allows the creation of simple callbacks with extra data
* The last parameter in the callback will be this object
*
* If you want to do a task in a Plugin, consider extending PluginTask to your needs