From 40c28f4d26fd9c0105645171fb3dd5f804f28105 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 21 Jul 2018 15:57:37 +0100 Subject: [PATCH] PluginManager: Automatically create data directories for plugins (#2284) --- src/pocketmine/plugin/PluginBase.php | 4 +--- src/pocketmine/plugin/PluginManager.php | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pocketmine/plugin/PluginBase.php b/src/pocketmine/plugin/PluginBase.php index e28f75a49..a87120998 100644 --- a/src/pocketmine/plugin/PluginBase.php +++ b/src/pocketmine/plugin/PluginBase.php @@ -256,9 +256,7 @@ abstract class PluginBase implements Plugin{ } public function reloadConfig(){ - if(!$this->saveDefaultConfig()){ - @mkdir($this->dataFolder); - } + $this->saveDefaultConfig(); $this->config = new Config($this->configFile); if(($configStream = $this->getResource("config.yml")) !== null){ $this->config->setDefaults(yaml_parse(Config::fixYAMLIndexes(stream_get_contents($configStream)))); diff --git a/src/pocketmine/plugin/PluginManager.php b/src/pocketmine/plugin/PluginManager.php index 369e4c6d0..7b720d4d8 100644 --- a/src/pocketmine/plugin/PluginManager.php +++ b/src/pocketmine/plugin/PluginManager.php @@ -181,6 +181,9 @@ class PluginManager{ $this->server->getLogger()->error("Projected dataFolder '" . $dataFolder . "' for " . $description->getName() . " exists and is not a directory"); return null; } + if(!file_exists($dataFolder)){ + mkdir($dataFolder, 0777, true); + } $prefixed = $loader->getAccessProtocol() . $path; $loader->loadPlugin($prefixed);