My error is the following "call to function get() on string" Code: PHP: public function onBreak(BlockBreakEvent $event){ $p = $event->getPlayer(); $name = $p->getName(); if($event->getBlock()->GetId() == 1){ $this->mininglevel = $this->getDataFolder() . "mining.yml"; $level = $this->mininglevel->get($name); ##LINE THAT CAUSES PROBLEM $this->mininglevel->set($name,$level+1); $this->mininglevel->Save(); $name->sendMessage("Mining Skill Is Now Level" . $level); } }
It should be: PHP: $this->mininglevel = new Config($this->getDataFolder() . "mining.yml", Config::YAML);
This shouldnt override it if it already exists. it is also the only way to get the get() function like how your using it PHP: $this->mininglevel = new Config($this->getDataFolder() . "mining.yml", Config::YAML);
PHP: public function onBreak(BlockBreakEvent $event){ $p = $event->getPlayer(); $name = $p->getName(); if($event->getBlock()->GetId() == 1){ $this->mininglevel = new Config($this->getDataFolder() . "mining.yml", Config::YAML); $level = $this->mininglevel->get($name); ##LINE THAT CAUSES PROBLEM $this->mininglevel->set($name,$level+1); $this->mininglevel->Save(); $name->sendMessage("Mining Skill Is Now Level. $level"); } } This should work fine
Yes, if you have a different class you have to do what you want like this PHP: public function onBreak(BlockBreakEvent $event){ $p = $event->getPlayer(); $name = $p->getName(); $plugin = $mainInstance //Make sure you have the instance of your Main class here ; if($event->getBlock()->GetId() == 1){ $this->mininglevel = new Config($plugin->getDataFolder() . "mining.yml", Config::YAML); $level = $this->mininglevel->get($name); ##LINE THAT CAUSES PROBLEM $this->mininglevel->set($name,$level+1); $this->mininglevel->Save(); $p->sendMessage("Mining Skill Is Now Level. $level"); } } If you need further assistance I suggest you show me all of your files, Im not sure on how your setting this up.
I'd recommend just doing: PHP: PluginBase::saveResource("mining.yml");// $plugin is your main class that extends PluginBase $plugin->saveResource("mining.yml"); That way it generates your plugins data folder and will actually provide you with a file to open.