154 array $chainedSubCommandValues,
157 array $chainedSubCommandData,
160 array $enumConstraints,
163 $result->enumValues = $enumValues;
164 $result->chainedSubCommandValues = $chainedSubCommandValues;
165 $result->postfixes = $postfixes;
166 $result->enums = $enums;
167 $result->chainedSubCommandData = $chainedSubCommandData;
168 $result->commandData = $commandData;
169 $result->softEnums = $softEnums;
170 $result->enumConstraints = $enumConstraints;
175 $this->enumValues = [];
176 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
177 $this->enumValues[] = CommonTypes::getString($in);
180 $this->chainedSubCommandValues = [];
181 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
182 $this->chainedSubCommandValues[] = CommonTypes::getString($in);
185 $this->postfixes = [];
186 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
187 $this->postfixes[] = CommonTypes::getString($in);
191 $valueListSize = count($this->enumValues);
192 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
193 $this->enums[] = CommandEnumRawData::read($in, $valueListSize);
196 $this->chainedSubCommandData = [];
197 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
198 $this->chainedSubCommandData[] = ChainedSubCommandRawData::read($in);
201 $this->commandData = [];
202 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
203 $this->commandData[] = CommandRawData::read($in);
206 $this->softEnums = [];
207 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
208 $this->softEnums[] = CommandSoftEnum::read($in);
211 $this->enumConstraints = [];
212 for($i = 0, $size = VarInt::readUnsignedInt($in); $i < $size; $i++){
213 $this->enumConstraints[] = CommandEnumConstraintRawData::read($in);
218 VarInt::writeUnsignedInt($out, count($this->enumValues));
219 foreach($this->enumValues as $value){
220 CommonTypes::putString($out, $value);
223 VarInt::writeUnsignedInt($out, count($this->chainedSubCommandValues));
224 foreach($this->chainedSubCommandValues as $value){
225 CommonTypes::putString($out, $value);
228 VarInt::writeUnsignedInt($out, count($this->postfixes));
229 foreach($this->postfixes as $postfix){
230 CommonTypes::putString($out, $postfix);
233 VarInt::writeUnsignedInt($out, count($this->enums));
234 $valueListSize = count($this->enumValues);
235 foreach($this->enums as $enum){
236 $enum->write($out, $valueListSize);
239 VarInt::writeUnsignedInt($out, count($this->chainedSubCommandData));
240 foreach($this->chainedSubCommandData as $data){
244 VarInt::writeUnsignedInt($out, count($this->commandData));
245 foreach($this->commandData as $data){
249 VarInt::writeUnsignedInt($out, count($this->softEnums));
250 foreach($this->softEnums as $softEnum){
251 $softEnum->write($out);
254 VarInt::writeUnsignedInt($out, count($this->enumConstraints));
255 foreach($this->enumConstraints as $constraint){
256 $constraint->write($out);