mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-06 17:59:48 +00:00
Added PluginLogger
This commit is contained in:
@ -36,14 +36,24 @@ interface Plugin{
|
|||||||
*/
|
*/
|
||||||
public function onLoad();
|
public function onLoad();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the plugin is enabled
|
||||||
|
*/
|
||||||
public function onEnable();
|
public function onEnable();
|
||||||
|
|
||||||
public function isEnabled();
|
public function isEnabled();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the plugin is disabled
|
||||||
|
* Use this to free open things and finish actions
|
||||||
|
*/
|
||||||
public function onDisable();
|
public function onDisable();
|
||||||
|
|
||||||
public function isDisabled();
|
public function isDisabled();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the plugin's data folder to save files and configuration
|
||||||
|
*/
|
||||||
public function getDataFolder();
|
public function getDataFolder();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -56,6 +66,12 @@ interface Plugin{
|
|||||||
*/
|
*/
|
||||||
public function getResource($filename);
|
public function getResource($filename);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Saves an embedded resource to its relative location in the data folder
|
||||||
|
*
|
||||||
|
* @param string $filename
|
||||||
|
* @param bool $replace
|
||||||
|
*/
|
||||||
public function saveResource($filename, $replace = false);
|
public function saveResource($filename, $replace = false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -63,6 +79,9 @@ interface Plugin{
|
|||||||
*/
|
*/
|
||||||
public function getResources();
|
public function getResources();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \pocketmine\utils\Config
|
||||||
|
*/
|
||||||
public function getConfig();
|
public function getConfig();
|
||||||
|
|
||||||
public function saveConfig();
|
public function saveConfig();
|
||||||
@ -71,10 +90,18 @@ interface Plugin{
|
|||||||
|
|
||||||
public function reloadConfig();
|
public function reloadConfig();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \pocketmine\Server
|
||||||
|
*/
|
||||||
public function getServer();
|
public function getServer();
|
||||||
|
|
||||||
public function getName();
|
public function getName();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return PluginLogger
|
||||||
|
*/
|
||||||
|
public function getLogger();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return PluginLoader
|
* @return PluginLoader
|
||||||
*/
|
*/
|
||||||
|
@ -53,6 +53,9 @@ abstract class PluginBase implements Plugin{
|
|||||||
private $configFile;
|
private $configFile;
|
||||||
private $file;
|
private $file;
|
||||||
|
|
||||||
|
/** @var PluginLogger */
|
||||||
|
private $logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when the plugin is loaded, before calling onEnable()
|
* Called when the plugin is loaded, before calling onEnable()
|
||||||
*/
|
*/
|
||||||
@ -113,9 +116,17 @@ abstract class PluginBase implements Plugin{
|
|||||||
$this->dataFolder = rtrim($dataFolder, "\\/") . "/";
|
$this->dataFolder = rtrim($dataFolder, "\\/") . "/";
|
||||||
$this->file = rtrim($file, "\\/") . "/";
|
$this->file = rtrim($file, "\\/") . "/";
|
||||||
$this->configFile = $this->dataFolder . "config.yml";
|
$this->configFile = $this->dataFolder . "config.yml";
|
||||||
|
$this->logger = new PluginLogger($this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return PluginLogger
|
||||||
|
*/
|
||||||
|
public function getLogger(){
|
||||||
|
return $this->logger;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
|
@ -35,6 +35,7 @@ class PluginDescription{
|
|||||||
private $description = null;
|
private $description = null;
|
||||||
private $authors = array();
|
private $authors = array();
|
||||||
private $website = null;
|
private $website = null;
|
||||||
|
private $prefix = null;
|
||||||
private $order = PluginLoadOrder::POSTWORLD;
|
private $order = PluginLoadOrder::POSTWORLD;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -86,6 +87,9 @@ class PluginDescription{
|
|||||||
if(isset($plugin["description"])){
|
if(isset($plugin["description"])){
|
||||||
$this->description = $plugin["description"];
|
$this->description = $plugin["description"];
|
||||||
}
|
}
|
||||||
|
if(isset($plugin["prefix"])){
|
||||||
|
$this->prefix = $plugin["prefix"];
|
||||||
|
}
|
||||||
if(isset($plugin["load"])){
|
if(isset($plugin["load"])){
|
||||||
$order = strtoupper($plugin["load"]);
|
$order = strtoupper($plugin["load"]);
|
||||||
if(!defined("pocketmine\\plugin\\PluginLoadOrder::" . $order)){
|
if(!defined("pocketmine\\plugin\\PluginLoadOrder::" . $order)){
|
||||||
@ -132,6 +136,13 @@ class PluginDescription{
|
|||||||
return $this->authors;
|
return $this->authors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPrefix(){
|
||||||
|
return $this->prefix;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
|
44
src/pocketmine/plugin/PluginLogger.php
Normal file
44
src/pocketmine/plugin/PluginLogger.php
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* ____ _ _ __ __ _ __ __ ____
|
||||||
|
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
|
||||||
|
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
|
||||||
|
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
|
||||||
|
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* @author PocketMine Team
|
||||||
|
* @link http://www.pocketmine.net/
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace pocketmine\plugin;
|
||||||
|
|
||||||
|
class PluginLogger{
|
||||||
|
|
||||||
|
private $pluginName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Plugin $context
|
||||||
|
*/
|
||||||
|
public function __construct(Plugin $context){
|
||||||
|
$prefix = $context->getDescription()->getPrefix();
|
||||||
|
$this->pluginName = $prefix != null ? "[$prefix] " : "[".$context->getDescription()->getName()."] ";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs a message to the console
|
||||||
|
*
|
||||||
|
* @param string $message
|
||||||
|
*/
|
||||||
|
public function log($message){
|
||||||
|
console($this->pluginName . $message);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user