34 private string $description,
36 private string $permission,
37 private int $aliasEnumIndex,
38 private array $chainedSubCommandDataIndexes,
39 private array $overloads,
42 public function getName() : string{ return $this->name; }
44 public function getDescription() : string{ return $this->description; }
46 public function getFlags() : int{ return $this->flags; }
48 public function getPermission() : string{ return $this->permission; }
50 public function getAliasEnumIndex() : int{ return $this->aliasEnumIndex; }
64 public static function read(ByteBufferReader $in) : self{
66 $description = CommonTypes::getString($in);
67 $flags = LE::readUnsignedShort($in);
68 $permission = CommonTypes::getString($in);
69 $aliasEnumIndex = LE::readSignedInt($in);
71 $chainedSubCommandDataIndexes = [];
72 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
73 $chainedSubCommandDataIndexes[] = LE::readUnsignedInt($in);
77 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
78 $overloads[] = CommandOverloadRawData::read($in);
83 description: $description,
85 permission: $permission,
86 aliasEnumIndex: $aliasEnumIndex,
87 chainedSubCommandDataIndexes: $chainedSubCommandDataIndexes,
92 public function write(ByteBufferWriter $out) : void{
94 CommonTypes::putString($out, $this->description);
95 LE::writeUnsignedShort($out, $this->flags);
96 CommonTypes::putString($out, $this->permission);
97 LE::writeSignedInt($out, $this->aliasEnumIndex);
99 VarInt::writeUnsignedInt($out, count($this->chainedSubCommandDataIndexes));
100 foreach($this->chainedSubCommandDataIndexes as $index){
101 LE::writeUnsignedInt($out, $index);
104 VarInt::writeUnsignedInt($out, count($this->overloads));
105 foreach($this->overloads as $overload){
106 $overload->write($out);
__construct(private string $name, private string $description, private int $flags, private string $permission, private int $aliasEnumIndex, private array $chainedSubCommandDataIndexes, private array $overloads,)