mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-08 12:48:32 +00:00
Make pocketmine\PATH and pocketmine\RESOURCE_PATH always available
these are non-dependent on environment, so they can be determined with no external input. This fixes 2 PHPStan issues, fixes some code that couldn't run outside of PM, and makes it easier to write code that depends on PM.
This commit is contained in:
parent
30f2e75278
commit
651ef500a3
@ -38,6 +38,7 @@
|
|||||||
"": ["src"]
|
"": ["src"]
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
|
"src/pocketmine/CoreConstants.php",
|
||||||
"src/pocketmine/GlobalConstants.php",
|
"src/pocketmine/GlobalConstants.php",
|
||||||
"src/pocketmine/VersionInfo.php"
|
"src/pocketmine/VersionInfo.php"
|
||||||
]
|
]
|
||||||
|
@ -87,11 +87,6 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/pocketmine/level/generator/normal/Normal.php
|
path: src/pocketmine/level/generator/normal/Normal.php
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Used constant pocketmine\\\\RESOURCE_PATH not found\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/pocketmine/network/mcpe/protocol/StartGamePacket.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Constructor of class pocketmine\\\\scheduler\\\\TaskScheduler has an unused parameter \\$logger\\.$#"
|
message: "#^Constructor of class pocketmine\\\\scheduler\\\\TaskScheduler has an unused parameter \\$logger\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
@ -109,18 +104,10 @@ parameters:
|
|||||||
message: "#^Constant pocketmine\\\\GIT_COMMIT not found\\.$#"
|
message: "#^Constant pocketmine\\\\GIT_COMMIT not found\\.$#"
|
||||||
path: src
|
path: src
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Constant pocketmine\\\\PATH not found\\.$#"
|
|
||||||
path: src
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Constant pocketmine\\\\PLUGIN_PATH not found\\.$#"
|
message: "#^Constant pocketmine\\\\PLUGIN_PATH not found\\.$#"
|
||||||
path: src
|
path: src
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Constant pocketmine\\\\RESOURCE_PATH not found\\.$#"
|
|
||||||
path: src
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Constant pocketmine\\\\START_TIME not found\\.$#"
|
message: "#^Constant pocketmine\\\\START_TIME not found\\.$#"
|
||||||
path: src
|
path: src
|
||||||
|
33
src/pocketmine/CoreConstants.php
Normal file
33
src/pocketmine/CoreConstants.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?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/
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace pocketmine;
|
||||||
|
|
||||||
|
// composer autoload doesn't use require_once and also pthreads can inherit things
|
||||||
|
if(defined('pocketmine\_CORE_CONSTANTS_INCLUDED')){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
define('pocketmine\_CORE_CONSTANTS_INCLUDED', true);
|
||||||
|
|
||||||
|
define('pocketmine\PATH', dirname(__DIR__, 2) . '/');
|
||||||
|
define('pocketmine\RESOURCE_PATH', __DIR__ . '/resources/');
|
@ -171,17 +171,11 @@ namespace pocketmine {
|
|||||||
error_reporting(-1);
|
error_reporting(-1);
|
||||||
set_ini_entries();
|
set_ini_entries();
|
||||||
|
|
||||||
if(\Phar::running(true) !== ""){
|
|
||||||
define('pocketmine\PATH', \Phar::running(true) . "/");
|
|
||||||
}else{
|
|
||||||
define('pocketmine\PATH', dirname(__FILE__, 3) . DIRECTORY_SEPARATOR);
|
|
||||||
}
|
|
||||||
|
|
||||||
$opts = getopt("", ["bootstrap:"]);
|
$opts = getopt("", ["bootstrap:"]);
|
||||||
if(isset($opts["bootstrap"])){
|
if(isset($opts["bootstrap"])){
|
||||||
$bootstrap = realpath($opts["bootstrap"]) ?: $opts["bootstrap"];
|
$bootstrap = realpath($opts["bootstrap"]) ?: $opts["bootstrap"];
|
||||||
}else{
|
}else{
|
||||||
$bootstrap = \pocketmine\PATH . 'vendor/autoload.php';
|
$bootstrap = dirname(__FILE__, 3) . '/vendor/autoload.php';
|
||||||
}
|
}
|
||||||
define('pocketmine\COMPOSER_AUTOLOADER_PATH', $bootstrap);
|
define('pocketmine\COMPOSER_AUTOLOADER_PATH', $bootstrap);
|
||||||
|
|
||||||
@ -212,8 +206,6 @@ namespace pocketmine {
|
|||||||
|
|
||||||
define('pocketmine\GIT_COMMIT', $gitHash);
|
define('pocketmine\GIT_COMMIT', $gitHash);
|
||||||
|
|
||||||
define('pocketmine\RESOURCE_PATH', \pocketmine\PATH . 'src' . DIRECTORY_SEPARATOR . 'pocketmine' . DIRECTORY_SEPARATOR . 'resources' . DIRECTORY_SEPARATOR);
|
|
||||||
|
|
||||||
$opts = getopt("", ["data:", "plugins:", "no-wizard", "enable-ansi", "disable-ansi"]);
|
$opts = getopt("", ["data:", "plugins:", "no-wizard", "enable-ansi", "disable-ansi"]);
|
||||||
|
|
||||||
define('pocketmine\DATA', isset($opts["data"]) ? $opts["data"] . DIRECTORY_SEPARATOR : realpath(getcwd()) . DIRECTORY_SEPARATOR);
|
define('pocketmine\DATA', isset($opts["data"]) ? $opts["data"] . DIRECTORY_SEPARATOR : realpath(getcwd()) . DIRECTORY_SEPARATOR);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user