-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTransferCommand.php
72 lines (57 loc) · 1.99 KB
/
TransferCommand.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//This is an edited version of BlueLight TransferCommand.php by PluginBOXone!+
//Twitter: @gamerboxone +
//Twitter2: @cyberzonepe +
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
namespace pocketmine\command\defaults;
use pocketmine\network\protocol\TransferPacket;
use pocketmine\command\CommandSender;
use pocketmine\{Player, Server};
class TransferCommand extends VanillaCommand{
public function __construct($name){
parent::__construct(
$name,
"%pocketmine.command.transfer.description",
"%pocketmine.command.transfer.usage",
["transfer"]
);
$this->setPermission("pocketmine.command.transfer");
}
public function execute(CommandSender $sender, $currentAlias, array $args){
$address = null;
$port = null;
$player = null;
if($sender instanceof Player){
if(!$this->testPermission($sender)){
return true;
}
if(count($args) <= 0){
$sender->sendMessage("PBOTransfer: /transfer [PLAYER] <IP> [PORT]");
return false;
}
$address = strtolower($args[0]);
$port = (isset($args[1]) && is_numeric($args[1]) ? $args[1] : 19132);
$pk = new TransferPacket();
$pk->address = $address;
$pk->port = $port;
$sender->dataPacket($pk);
return false;
}
if(count($args) <= 1){
$sender->sendMessage("PBOTransfer: /transfer [PLAYER] <IP> [PORT]");
return false;
}
if(!($player = Server::getInstance()->getPlayer($args[0])) instanceof Player){
$sender->sendMessage("PBOTransfer: This player isn't online!");
return false;
}
$address = strtolower($args[1]);
$port = (isset($args[2]) && is_numeric($args[2]) ? $args[2] : 19132);
$sender->sendMessage("Sending ".$player->getName()." to ".$address.":".$port);
$pk = new TransferPacket();
$pk->address = $address;
$pk->port = $port;
$player->dataPacket($pk);
}
}