GenisysPro  for Minecraft PE/Windows 10 v1.1.x
Feature-rich server software for Minecraft PE and Windows 10 Edition
KillCommand 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)

KillCommand constructor.

Parameters
$name
38  {
39  parent::__construct(
40  $name,
41  "%pocketmine.command.kill.description",
42  "%pocketmine.command.kill.usage",
43  ["suicide"]
44  );
45  $this->setPermission("pocketmine.command.kill.self;pocketmine.command.kill.other");
46  /*
47  fix in Player.php
48  /kill is everybody can use
49 
50  */
51 
52  }

Member Function Documentation

◆ execute()

execute ( CommandSender  $sender,
  $currentAlias,
array  $args 
)
Parameters
CommandSender$sender
string$currentAlias
array$args
Returns
bool
61  {
62  if(!$this->testPermission($sender)){
63  return true;
64  }
65 
66  if(count($args) >= 2){
67  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
68 
69  return false;
70  }
71 
72  if(count($args) === 1){
73  if(!$sender->hasPermission("pocketmine.command.kill.other")){
74  $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.permission"));
75 
76  return true;
77  }
78 
79  $player = $sender->getServer()->getPlayer($args[0]);
80 
81  if($player instanceof Player){
82  $sender->getServer()->getPluginManager()->callEvent($ev = new EntityDamageEvent($player, EntityDamageEvent::CAUSE_SUICIDE, 1000));
83 
84  if($ev->isCancelled()){
85  return true;
86  }
87 
88  $player->setLastDamageCause($ev);
89  $player->setHealth(0);
90 
91  Command::broadcastCommandMessage($sender, new TranslationContainer("commands.kill.successful", [$player->getName()]));
92  }else{
93  $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
94  }
95 
96  return true;
97  }
98 
99  if($sender instanceof Player){
100  if(!$sender->hasPermission("pocketmine.command.kill.self")){
101  $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.permission"));
102 
103  return true;
104  }
105 
106  $sender->getServer()->getPluginManager()->callEvent($ev = new EntityDamageEvent($sender, EntityDamageEvent::CAUSE_SUICIDE, 1000));
107 
108  if($ev->isCancelled()){
109  return true;
110  }
111 
112  $sender->setLastDamageCause($ev);
113  $sender->setHealth(0);
114  $sender->sendMessage(new TranslationContainer("commands.kill.successful", [$sender->getName()]));
115  }else{
116  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
117 
118  return false;
119  }
120 
121  return true;
122  }

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