mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-06 01:51:51 +00:00
Config: don't catch-all in save()
This commit is contained in:
parent
c90d1faa81
commit
b0060caaf7
@ -23,9 +23,6 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace pocketmine\utils;
|
namespace pocketmine\utils;
|
||||||
|
|
||||||
use pocketmine\Server;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Config Class for simple config manipulation of multiple formats.
|
* Config Class for simple config manipulation of multiple formats.
|
||||||
*/
|
*/
|
||||||
@ -189,37 +186,29 @@ class Config{
|
|||||||
*/
|
*/
|
||||||
public function save() : bool{
|
public function save() : bool{
|
||||||
if($this->correct){
|
if($this->correct){
|
||||||
try{
|
$content = null;
|
||||||
$content = null;
|
switch($this->type){
|
||||||
switch($this->type){
|
case Config::PROPERTIES:
|
||||||
case Config::PROPERTIES:
|
$content = $this->writeProperties();
|
||||||
$content = $this->writeProperties();
|
break;
|
||||||
break;
|
case Config::JSON:
|
||||||
case Config::JSON:
|
$content = json_encode($this->config, $this->jsonOptions);
|
||||||
$content = json_encode($this->config, $this->jsonOptions);
|
break;
|
||||||
break;
|
case Config::YAML:
|
||||||
case Config::YAML:
|
$content = yaml_emit($this->config, YAML_UTF8_ENCODING);
|
||||||
$content = yaml_emit($this->config, YAML_UTF8_ENCODING);
|
break;
|
||||||
break;
|
case Config::SERIALIZED:
|
||||||
case Config::SERIALIZED:
|
$content = serialize($this->config);
|
||||||
$content = serialize($this->config);
|
break;
|
||||||
break;
|
case Config::ENUM:
|
||||||
case Config::ENUM:
|
$content = implode("\r\n", array_keys($this->config));
|
||||||
$content = implode("\r\n", array_keys($this->config));
|
break;
|
||||||
break;
|
default:
|
||||||
default:
|
throw new \InvalidStateException("Config type is unknown, has not been set or not detected");
|
||||||
throw new \InvalidStateException("Config type is unknown, has not been set or not detected");
|
|
||||||
}
|
|
||||||
|
|
||||||
file_put_contents($this->file, $content);
|
|
||||||
}catch(\Throwable $e){
|
|
||||||
$logger = Server::getInstance()->getLogger();
|
|
||||||
$logger->critical("Could not save Config " . $this->file . ": " . $e->getMessage());
|
|
||||||
if(\pocketmine\DEBUG > 1){
|
|
||||||
$logger->logException($e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
file_put_contents($this->file, $content);
|
||||||
|
|
||||||
$this->changed = false;
|
$this->changed = false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user