GenisysPro  for Minecraft PE/Windows 10 v1.1.x
Feature-rich server software for Minecraft PE and Windows 10 Edition
TeleportCommand Class Reference

Public Member Functions

 __construct ($name)
 
 execute (CommandSender $sender, $currentAlias, array $args)
 
- Public Member Functions inherited from VanillaCommand
 __construct ($name, $description="", $usageMessage=null, array $aliases=[])
 
- Public Member Functions inherited from Command
 __construct ($name, $description="", $usageMessage=null, array $aliases=[])
 
 getDefaultCommandData ()
 
 generateCustomCommandData (Player $player)
 
 getOverloads ()
 
 execute (CommandSender $sender, $commandLabel, array $args)
 
 getName ()
 
 getPermission ()
 
 setPermission ($permission)
 
 testPermission (CommandSender $target)
 
 testPermissionSilent (CommandSender $target)
 
 getLabel ()
 
 setLabel ($name)
 
 register (CommandMap $commandMap)
 
 unregister (CommandMap $commandMap)
 
 isRegistered ()
 
 getAliases ()
 
 getPermissionMessage ()
 
 getDescription ()
 
 getUsage ()
 
 setAliases (array $aliases)
 
 setDescription ($description)
 
 setPermissionMessage ($permissionMessage)
 
 setUsage ($usage)
 
 __toString ()
 

Additional Inherited Members

- Static Public Member Functions inherited from Command
static generateDefaultData ()
 
static broadcastCommandMessage (CommandSender $source, $message, $sendToSource=true)
 
- Data Fields inherited from VanillaCommand
const MAX_COORD = 30000000
 
const MIN_COORD = -30000000
 
- Data Fields inherited from Command
 $timings
 
- Protected Member Functions inherited from VanillaCommand
 getInteger (CommandSender $sender, $value, $min=self::MIN_COORD, $max=self::MAX_COORD)
 
 getRelativeDouble ($original, CommandSender $sender, $input, $min=self::MIN_COORD, $max=self::MAX_COORD)
 
 getDouble (CommandSender $sender, $value, $min=self::MIN_COORD, $max=self::MAX_COORD)
 
- Protected Attributes inherited from Command
 $commandData = null
 
 $description = ""
 
 $usageMessage
 

Constructor & Destructor Documentation

◆ __construct()

__construct (   $name)

TeleportCommand constructor.

Parameters
$name
38  {
39  parent::__construct(
40  $name,
41  "%pocketmine.command.tp.description",
42  "%pocketmine.command.tp.usage"
43  );
44  $this->setPermission("pocketmine.command.teleport");
45  }

Member Function Documentation

◆ execute()

execute ( CommandSender  $sender,
  $currentAlias,
array  $args 
)
Parameters
CommandSender$sender
string$currentAlias
array$args
Returns
bool
54  {
55  if(!$this->testPermission($sender)){
56  return true;
57  }
58 
59  if(count($args) < 1 or count($args) > 6){
60  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
61 
62  return true;
63  }
64 
65  $target = null;
66  $origin = $sender;
67 
68  if(count($args) === 1 or count($args) === 3 or count($args) === 5){
69  if($sender instanceof Player){
70  $target = $sender;
71  }else{
72  $sender->sendMessage(TextFormat::RED . "Please provide a player!");
73 
74  return true;
75  }
76  if(count($args) === 1){
77  $target = $sender->getServer()->getPlayer($args[0]);
78  if($target === null){
79  $sender->sendMessage(TextFormat::RED . "Can't find player " . $args[0]);
80 
81  return true;
82  }
83  }
84  }else{
85  $target = $sender->getServer()->getPlayer($args[0]);
86  if($target === null){
87  $sender->sendMessage(TextFormat::RED . "Can't find player " . $args[0]);
88 
89  return true;
90  }
91  if(count($args) === 2){
92  $origin = $target;
93  $target = $sender->getServer()->getPlayer($args[1]);
94  if($target === null){
95  $sender->sendMessage(TextFormat::RED . "Can't find player " . $args[1]);
96 
97  return true;
98  }
99  }
100  }
101 
102  if(count($args) < 3){
103  $origin->teleport($target);
104  Command::broadcastCommandMessage($sender, new TranslationContainer("commands.tp.success", [$origin->getName(), $target->getName()]));
105 
106  return true;
107  }elseif($target->getLevel() !== null){
108  if(count($args) === 4 or count($args) === 6){
109  $pos = 1;
110  }else{
111  $pos = 0;
112  }
113 
114  $x = $this->getRelativeDouble($target->x, $sender, $args[$pos++]);
115  $y = $this->getRelativeDouble($target->y, $sender, $args[$pos++], 0, 256);
116  $z = $this->getRelativeDouble($target->z, $sender, $args[$pos++]);
117  $yaw = $target->getYaw();
118  $pitch = $target->getPitch();
119 
120  if(count($args) === 6 or (count($args) === 5 and $pos === 3)){
121  $yaw = $args[$pos++];
122  $pitch = $args[$pos++];
123  }
124 
125  $target->teleport(new Vector3($x, $y, $z), $yaw, $pitch);
126  Command::broadcastCommandMessage($sender, new TranslationContainer("commands.tp.success.coordinates", [$target->getName(), round($x, 2), round($y, 2), round($z, 2)]));
127 
128  return true;
129  }
130 
131  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
132 
133  return true;
134  }

The documentation for this class was generated from the following file: