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

ParticleCommand constructor.

Parameters
$name
68  {
69  parent::__construct(
70  $name,
71  "%pocketmine.command.particle.description",
72  "%pocketmine.command.particle.usage"
73  );
74  $this->setPermission("pocketmine.command.particle");
75  }

Member Function Documentation

◆ execute()

execute ( CommandSender  $sender,
  $currentAlias,
array  $args 
)
Parameters
CommandSender$sender
string$currentAlias
array$args
Returns
bool
84  {
85  if(!$this->testPermission($sender)){
86  return true;
87  }
88 
89  if(count($args) < 7){
90  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
91 
92  return true;
93  }
94 
95  if($sender instanceof Player){
96  $level = $sender->getLevel();
97  }else{
98  $level = $sender->getServer()->getDefaultLevel();
99  }
100 
101  $name = strtolower($args[0]);
102 
103  $pos = new Vector3((float) $args[1], (float) $args[2], (float) $args[3]);
104 
105  $xd = (float) $args[4];
106  $yd = (float) $args[5];
107  $zd = (float) $args[6];
108 
109  $count = isset($args[7]) ? max(1, (int) $args[7]) : 1;
110 
111  $data = isset($args[8]) ? (int) $args[8] : null;
112 
113  $particle = $this->getParticle($name, $pos, $xd, $yd, $zd, $data);
114 
115  if($particle === null){
116  $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.particle.notFound", [$name]));
117  return true;
118  }
119 
120 
121  $sender->sendMessage(new TranslationContainer("commands.particle.success", [$name, $count]));
122 
123  $random = new Random((int) (microtime(true) * 1000) + mt_rand());
124 
125  for($i = 0; $i < $count; ++$i){
126  $particle->setComponents(
127  $pos->x + $random->nextSignedFloat() * $xd,
128  $pos->y + $random->nextSignedFloat() * $yd,
129  $pos->z + $random->nextSignedFloat() * $zd
130  );
131  $level->addParticle($particle);
132  }
133 
134  return true;
135  }

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