Updated to API 3 & Patched index bug #5

Manually merged
Ad5001 merged 2 commits from jasonwynn10/PlayerSelectors:patch-1 into master 2020-01-24 21:27:39 +00:00
2 changed files with 8 additions and 11 deletions

View file

@ -1,9 +1,6 @@
---
name: PlayerSelectors name: PlayerSelectors
author: Ad5001 author: Ad5001
version: 1.0 version: 1.0.0
api: [3.0.0-ALPHA9] api:
- 3.0.0
main: Ad5001\PlayerSelectors\Main main: Ad5001\PlayerSelectors\Main
commands: []
permissions: []
...

View file

@ -83,14 +83,14 @@ class Main extends PluginBase implements Listener {
$params = self::$selectors[$matches[1][$index]]->acceptsModifiers() ? $this->checkArgParams($matches, $index): []; $params = self::$selectors[$matches[1][$index]]->acceptsModifiers() ? $this->checkArgParams($matches, $index): [];
// Applying the selector // Applying the selector
$newCommandsToExecute = []; $newCommandsToExecute = [];
foreach($commandsToExecute as $index => $cmd){ foreach($commandsToExecute as $indexB => $cmd){
// Foreaching the returning commands to push them to the new commands to be executed at the next run. // Foreaching the returning commands to push them to the new commands to be executed at the next run.
foreach(self::$selectors[$matches[1][$index]]->applySelector($sender, $params) as $selectorStr){ foreach(self::$selectors[$matches[1][$indexB]]->applySelector($sender, $params) as $selectorStr){
if(strpos($selectorStr, " ") !== -1) $selectorStr = explode(" ", $selectorStr)[count(explode(" ", $selectorStr)) - 1]; // Name w/ spaces. Match the nearest name in the player. Not perfect :/ if(strpos($selectorStr, " ") !== -1) $selectorStr = explode(" ", $selectorStr)[count(explode(" ", $selectorStr)) - 1]; // Name w/ spaces. Match the nearest name in the player. Not perfect :/
$newCommandsToExecute[] = substr_replace($cmd, " " . $selectorStr . " ", strpos($cmd, $match), strlen($match)); $newCommandsToExecute[] = substr_replace($cmd, " " . $selectorStr . " ", strpos($cmd, $match), strlen($match));
} }
if(count($newCommandsToExecute) == 0) { if(count($newCommandsToExecute) == 0) {
$sender->sendMessage("§cYour selector $match (" . self::$selectors[$matches[1][$index]]->getName() . ") did not mactch any player/entity."); $sender->sendMessage("§cYour selector $match (" . self::$selectors[$matches[1][$indexB]]->getName() . ") did not match any player/entity.");
return true; return true;
} }
} }