forked from jaylac2000/ScoreHud-Addons
-
Notifications
You must be signed in to change notification settings - Fork 0
/
HierarchyAddon.php
49 lines (43 loc) · 1.15 KB
/
HierarchyAddon.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
declare(strict_types = 1);
/**
* @name HierarchyAddon
* @version 1.0.0
* @main JackMD\ScoreHud\Addons\HierarchyAddon
* @depend Hierarchy
*/
namespace JackMD\ScoreHud\Addons
{
use CortexPE\Hierarchy\member\Member;
use CortexPE\Hierarchy\role\Role;
use JackMD\ScoreHud\addon\AddonBase;
use pocketmine\Player;
use CortexPE\Hierarchy\Hierarchy;
use CortexPE\Hierarchy\member\MemberFactory;
class HierarchyAddon extends AddonBase{
/** @var Hierarchy */
private $hrk;
/** @var MemberFactory */
private $memFac;
public function onEnable(): void{
$this->hrk = $this->getServer()->getPluginManager()->getPlugin("Hierarchy");
if($this->hrk instanceof Hierarchy){
$this->memFac = $this->hrk->getMemberFactory();
}
}
/**
* @param Player $player
* @return array
*/
public function getProcessedTags(Player $player): array{
$member = $this->memFac->getMember($player);
if(!($member instanceof Member)) return [];
return [
"{top_role}" => $member->getTopRole()->getName(),
"{roles}" => implode(", ", array_map(function(Role $role): string{
return $role->getName();
}, $member->getRoles()))
];
}
}
}