This repository was archived by the owner on Jun 13, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMuteCommand.php
More file actions
61 lines (52 loc) · 2.08 KB
/
MuteCommand.php
File metadata and controls
61 lines (52 loc) · 2.08 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
<?php
namespace ServerCore\command;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\PluginIdentifiableCommand;
use pocketmine\plugin\Plugin;
use pocketmine\utils\TextFormat;
use pocketmine\Player;
use ServerCore\ServerCore as Main;
class MuteCommand extends Command implements PluginIdentifiableCommand {
private $plugin;
public function __construct(Main $plugin) {
$this->plugin = $plugin;
parent::__construct(
"mute",
"Mutes the player",
"/mute <player> <reason>"
);
$this->setPermission("command.mute");
}
public function getPlugin() : Plugin {
return $this->plugin;
}
public function execute(CommandSender $sender, string $label, array $args) {
if (!$this->testPermission($sender)) {
return;
}
if (isset($args[0])) {
if ($this->plugin->getServer()->getPlayer($args[0])) {
$player = $this->plugin->getServer()->getPlayer($args[0]);
if ($this->plugin->mutedPlayers->exists($args[0])) {
$sender->sendMessage(TextFormat::RED . "That player is already muted");
} else {
if (isset($args[1])) {
$this->plugin->mutedPlayers->set($args[0]);
$this->plugin->mutedPlayers->save();
array_shift($args);
$reason = implode(" ", $args);
$player->sendMessage(TextFormat::RED . "You have been muted. Reason: " . $reason);
$sender->sendMessage(TextFormat::DARK_GREEN . $this->plugin->prefix . $player->getName() . " was muted");
} else {
$sender->sendMessage(TextFormat::RED . "Please enter the reason");
}
}
} else {
$sender->sendMessage(TextFormat::RED . "Player not found");
}
} else {
$sender->sendMessage(TextFormat::RED . "Please enter a player name");
}
}
}