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

TimeCommand constructor.

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

Member Function Documentation

◆ execute()

execute ( CommandSender  $sender,
  $currentAlias,
array  $args 
)
Parameters
CommandSender$sender
string$currentAlias
array$args
Returns
bool
54  {
55  if(count($args) < 1){
56  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
57 
58  return false;
59  }
60 
61  if($args[0] === "start"){
62  if(!$sender->hasPermission("pocketmine.command.time.start")){
63  $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.permission"));
64 
65  return true;
66  }
67  foreach($sender->getServer()->getLevels() as $level){
68  $level->checkTime();
69  $level->startTime();
70  $level->checkTime();
71  }
72  Command::broadcastCommandMessage($sender, "Restarted the time");
73  return true;
74  }elseif($args[0] === "stop"){
75  if(!$sender->hasPermission("pocketmine.command.time.stop")){
76  $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.permission"));
77 
78  return true;
79  }
80  foreach($sender->getServer()->getLevels() as $level){
81  $level->checkTime();
82  $level->stopTime();
83  $level->checkTime();
84  }
85  Command::broadcastCommandMessage($sender, "Stopped the time");
86  return true;
87  }elseif($args[0] === "query"){
88  if(!$sender->hasPermission("pocketmine.command.time.query")){
89  $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.permission"));
90 
91  return true;
92  }
93  if($sender instanceof Player){
94  $level = $sender->getLevel();
95  }else{
96  $level = $sender->getServer()->getDefaultLevel();
97  }
98  $sender->sendMessage(new TranslationContainer("commands.time.query", [$level->getTime()]));
99  return true;
100  }
101 
102 
103  if(count($args) < 2){
104  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
105 
106  return false;
107  }
108 
109  if($args[0] === "set"){
110  if(!$sender->hasPermission("pocketmine.command.time.set")){
111  $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.permission"));
112 
113  return true;
114  }
115 
116  if($args[1] === "day"){
117  $value = 0;
118  }elseif($args[1] === "night"){
119  $value = Level::TIME_NIGHT;
120  }else{
121  $value = $this->getInteger($sender, $args[1], 0);
122  }
123 
124  foreach($sender->getServer()->getLevels() as $level){
125  $level->checkTime();
126  $level->setTime($value);
127  $level->checkTime();
128  }
129  Command::broadcastCommandMessage($sender, new TranslationContainer("commands.time.set", [$value]));
130  }elseif($args[0] === "add"){
131  if(!$sender->hasPermission("pocketmine.command.time.add")){
132  $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.permission"));
133 
134  return true;
135  }
136 
137  $value = $this->getInteger($sender, $args[1], 0);
138  foreach($sender->getServer()->getLevels() as $level){
139  $level->checkTime();
140  $level->setTime($level->getTime() + $value);
141  $level->checkTime();
142  }
143  Command::broadcastCommandMessage($sender, new TranslationContainer("commands.time.added", [$value]));
144  }else{
145  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
146  }
147 
148  return true;
149  }

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