public function onEnable()
{
if (!file_exists($this->getDataFolder())) {
mkdir($this->getDataFolder());
}
$this->saveDefaultConfig();
$provider = $this->getConfig()->get("data-provider");
switch (strtolower($provider)) {
case "yaml":
$this->provider = new YamlDataProvider($this->getDataFolder() . "Shops.yml", $this->getConfig()->get("auto-save"));
break;
default:
$this->getLogger()->critical("Invalid data provider was given. EconomyShop will be terminated.");
return;
}
$this->getLogger()->notice("Data provider was set to: " . $this->provider->getProviderName());
$levels = [];
foreach ($this->provider->getAll() as $shop) {
if ($shop[9] !== -2) {
if (!isset($levels[$shop[3]])) {
$levels[$shop[3]] = $this->getServer()->getLevelByName($shop[3]);
}
$pos = new Position($shop[0], $shop[1], $shop[2], $levels[$shop[3]]);
$display = $pos;
if ($shop[9] !== -1) {
$display = $pos->getSide($shop[9]);
}
$this->items[$shop[3]][] = new ItemDisplayer($display, Item::get($shop[4], $shop[5]), $pos);
}
}
$this->getServer()->getPluginManager()->registerEvents($this, $this);
$this->lang = json_decode(stream_get_contents($rsc = $this->getResource("lang_en.json")), true);
// TODO: Language preferences
@fclose($rsc);
}