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

WeatherCommand constructor.

Parameters
string$name
38  {
39  parent::__construct(
40  $name,
41  "%pocketmine.command.weather.description",
42  "%pocketmine.command.weather.usage"
43  );
44  $this->setPermission("pocketmine.command.weather");
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){
60  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
61 
62  return false;
63  }
64 
65  if($sender instanceof Player){
66  $wea = Weather::getWeatherFromString($args[0]);
67  if(!isset($args[1])) $duration = mt_rand(min($sender->getServer()->weatherRandomDurationMin, $sender->getServer()->weatherRandomDurationMax), max($sender->getServer()->weatherRandomDurationMin, $sender->getServer()->weatherRandomDurationMax));
68  else $duration = (int) $args[1];
69  if($wea >= 0 and $wea <= 3){
70  $sender->getLevel()->getWeather()->setWeather($wea, $duration);
71  $sender->sendMessage(new TranslationContainer("pocketmine.command.weather.changed", [$sender->getLevel()->getFolderName()]));
72  return true;
73  /*if(WeatherManager::isRegistered($sender->getLevel())){
74  $sender->getLevel()->getWeather()->setWeather($wea, $duration);
75  $sender->sendMessage(new TranslationContainer("pocketmine.command.weather.changed", [$sender->getLevel()->getFolderName()]));
76  return true;
77  }else{
78  $sender->sendMessage(new TranslationContainer("pocketmine.command.weather.noregistered", [$sender->getLevel()->getFolderName()]));
79  return false;
80  }*/
81  }else{
82  $sender->sendMessage(TextFormat::RED . "%pocketmine.command.weather.invalid");
83  return false;
84  }
85  }
86 
87  if(count($args) < 2){
88  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
89  return false;
90  }
91 
92  $level = $sender->getServer()->getLevelByName($args[0]);
93  if(!$level instanceof Level){
94  $sender->sendMessage(TextFormat::RED . "%pocketmine.command.weather.invalid.level");
95  return false;
96  }
97 
98  $wea = Weather::getWeatherFromString($args[1]);
99  if(!isset($args[1])) $duration = mt_rand(min($sender->getServer()->weatherRandomDurationMin, $sender->getServer()->weatherRandomDurationMax), max($sender->getServer()->weatherRandomDurationMin, $sender->getServer()->weatherRandomDurationMax));
100  else $duration = (int) $args[1];
101  if($wea >= 0 and $wea <= 3){
102  $level->getWeather()->setWeather($wea, $duration);
103  $sender->sendMessage(new TranslationContainer("pocketmine.command.weather.changed", [$level->getFolderName()]));
104  return true;
105  /*if(WeatherManager::isRegistered($level)){
106  $level->getWeather()->setWeather($wea, $duration);
107  $sender->sendMessage(new TranslationContainer("pocketmine.command.weather.changed", [$level->getFolderName()]));
108  return true;
109  }else{
110  $sender->sendMessage(new TranslationContainer("pocketmine.command.weather.noregistered", [$level->getFolderName()]));
111  return false;
112  }*/
113  }else{
114  $sender->sendMessage(TextFormat::RED . "%pocketmine.command.weather.invalid");
115  return false;
116  }
117  }

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