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

BiomeCommand constructor.

Parameters
string$name
36  {
37  parent::__construct(
38  $name,
39  "%pocketmine.command.biome.description",
40  "/biome <pos1|pos2|get|set|color>"
41  );
42  $this->setPermission("pocketmine.command.biome");
43  }

Member Function Documentation

◆ execute()

execute ( CommandSender  $sender,
  $currentAlias,
array  $args 
)
Parameters
CommandSender$sender
string$currentAlias
array$args
Returns
bool
52  {
53  if(!$this->testPermission($sender)){
54  return true;
55  }
56 
57  if(count($args) === 0){
58  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
59  return false;
60  }
61 
62  if($sender instanceof Player){
63  if($args[0] == "set"){
64  $biome = isset($args[1]) ? $args[1] : 1;//默认改成草原
65  if(isset($sender->selectedPos[0]) and isset($sender->selectedPos[1])){
66  if(is_numeric($biome) === false){
67  $sender->sendMessage(TextFormat::RED . new TranslationContainer("pocketmine.command.biome.wrongBio"));
68  return false;
69  }
70  $biome = (int) $biome;
71  if($sender->selectedLev[0] !== $sender->selectedLev[1]){
72  $sender->sendMessage(TextFormat::RED . new TranslationContainer("pocketmine.command.biome.wrongLev"));
73  return false;
74  }
75  $x1 = min($sender->selectedPos[0][0], $sender->selectedPos[1][0]);
76  $z1 = min($sender->selectedPos[0][1], $sender->selectedPos[1][1]);
77  $x2 = max($sender->selectedPos[0][0], $sender->selectedPos[1][0]);
78  $z2 = max($sender->selectedPos[0][1], $sender->selectedPos[1][1]);
79  $level = $sender->selectedLev[0];
80  for($x = $x1; $x <= $x2; $x++){
81  for($z = $z1; $z <= $z2; $z++){
82  $level->setBiomeId($x, $z, $biome);
83  }
84  }
85  $sender->sendMessage(new TranslationContainer("pocketmine.command.biome.set", [$biome]));
86  }else{
87  $sender->sendMessage(new TranslationContainer("pocketmine.command.biome.noPos"));
88  }
89  }elseif($args[0] == "pos1"){
90  $x = floor($sender->getX());
91  $z = floor($sender->getZ());
92  $sender->selectedLev[0] = $sender->getLevel();
93  $sender->selectedPos[0][0] = $x;
94  $sender->selectedPos[0][1] = $z;
95  $sender->sendMessage(new TranslationContainer("pocketmine.command.biome.posset", [$sender->selectedLev[0]->getName(), $x, $z, "1"]));
96  }elseif($args[0] == "pos2"){
97  $x = floor($sender->getX());
98  $z = floor($sender->getZ());
99  $sender->selectedLev[1] = $sender->getLevel();
100  $sender->selectedPos[1][0] = $x;
101  $sender->selectedPos[1][1] = $z;
102  $sender->sendMessage(new TranslationContainer("pocketmine.command.biome.posset", [$sender->selectedLev[1]->getName(), $x, $z, "2"]));
103  }elseif($args[0] == "get"){
104  $x = floor($sender->getX());
105  $z = floor($sender->getZ());
106  $biome = $sender->getLevel()->getBiomeId($x, $z);
107  $sender->sendMessage(new TranslationContainer("pocketmine.command.biome.get", [$biome]));
108  }else{
109  $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$this->usageMessage]));
110  return true;
111  }
112  }else{
113  $sender->sendMessage(new TranslationContainer("commands.generic.runingame"));
114  return false;
115  }
116  return true;
117  }

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