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); }
public function onEnable() { $this->saveDefaultConfig(); if (!$this->selectLang()) { $this->getLogger()->warning("Invalid language option was given."); } $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); }