Hey i need a help for my function, i want to use a config.yml main.php public function onCraft(PlayerCraftEvent $event) { $config = new Config($this->getDataFolder()."players/".strtolower($event->getPlayer()->getName()).".yml", Config::YAML); $player = $event->getPlayer(); foreach($this->cfg->getAll() as $id => $array) { foreach($event->getOutputs() as $item){ if(var_dump($item->getId() == $id and $array["need-lvl"] == $this->cfg->get("need-lvl"))){ if($array["job"] == $this->config->get('farmer-lvl' or 'bucheron-lvl' or 'alchimiste-lvl' or 'miner-lvl')){ if($array["need-lvl"] < $array["job"]){ $event->setCancelled(true); if($array["message"] !== " ") { $player->sendMessage($array["message"]); } } } } } config. yml 313: #id item job: "bucheron-lvl" #Choose with "bucheron-lvl" or "farmer-lvl" or "alchimiste-lvl" or "miner-lvl" need-lvl: 5 #level for unlock craft message: "§aYou can't craft this because you are not level 5" #set error message when your level is <
In my plugin, they are 2 config one for store xp for job and the other for config.yml config.yml PHP: ---305: #id item job: "bucheron-lvl" #Choose with "bucheron-lvl" or "farmer-lvl" or "alchimiste-lvl" or "miner-lvl" need-lvl: 5 #level for unlock craft message: "§aYou can't craft this because you are not level 5" #set error message when your level is <... Main.php PHP: public function onCraft(Minecraft $event) { $config = new Config($this->getDataFolder()."players/".strtolower($event->getPlayer()->getName()).".yml", Config::YAML); $player = $event->getPlayer(); $myJob = $this->config->get('farmer-lvl' or 'bucheron-lvl' or 'alchimiste-lvl' or 'miner-lvl'); $array["job"] = $myJob; foreach($this->config->get('farmer-lvl' or 'bucheron-lvl' or 'alchimiste-lvl' or 'miner-lvl') as $id => $array) { foreach($event->getOutputs() as $item){ if($item->getId() == $id and $array["need-lvl"] == $this->cfg->get("need-lvl")){ if($array["job"] == $this->config->get('farmer-lvl' or 'bucheron-lvl' or 'alchimiste-lvl' or 'miner-lvl')){ if($array["need-lvl"] < $array["job"]){ $event->setCancelled(true); if($event->setCancelled() == true and $array["message"] !== " "){ $player->sendMessage($array["message"]); } } } } }
Argument I mean, sorry, that's what happens when I post in autopilot. Your first post has "PlayerCraftEvent $event" the second one has "Minecraft $event" while you probably want CraftItemEvent.