35 private string $description,
37 private int $permission,
38 private int $aliasEnumIndex,
39 private array $chainedSubCommandDataIndexes,
40 private array $overloads,
43 public function getName() : string{ return $this->name; }
45 public function getDescription() : string{ return $this->description; }
47 public function getFlags() : int{ return $this->flags; }
49 public function getPermission() : int{ return $this->permission; }
51 public function getAliasEnumIndex() : int{ return $this->aliasEnumIndex; }
65 public static function read(ByteBufferReader $in) : self{
67 $description = CommonTypes::getString($in);
68 $flags = LE::readUnsignedShort($in);
69 $permission = Byte::readUnsigned($in);
70 $aliasEnumIndex = LE::readSignedInt($in);
72 $chainedSubCommandDataIndexes = [];
73 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
74 $chainedSubCommandDataIndexes[] = LE::readUnsignedShort($in);
78 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
79 $overloads[] = CommandOverloadRawData::read($in);
84 description: $description,
86 permission: $permission,
87 aliasEnumIndex: $aliasEnumIndex,
88 chainedSubCommandDataIndexes: $chainedSubCommandDataIndexes,
93 public function write(ByteBufferWriter $out) : void{
95 CommonTypes::putString($out, $this->description);
96 LE::writeUnsignedShort($out, $this->flags);
97 Byte::writeUnsigned($out, $this->permission);
98 LE::writeSignedInt($out, $this->aliasEnumIndex);
100 VarInt::writeUnsignedInt($out, count($this->chainedSubCommandDataIndexes));
101 foreach($this->chainedSubCommandDataIndexes as $index){
102 LE::writeUnsignedShort($out, $index);
105 VarInt::writeUnsignedInt($out, count($this->overloads));
106 foreach($this->overloads as $overload){
107 $overload->write($out);
__construct(private string $name, private string $description, private int $flags, private int $permission, private int $aliasEnumIndex, private array $chainedSubCommandDataIndexes, private array $overloads,)