1 /* 2 * This file was automatically generated by sel-utils and 3 * released under the MIT License. 4 * 5 * License: https://github.com/sel-project/sel-utils/blob/master/LICENSE 6 * Repository: https://github.com/sel-project/sel-utils 7 * Generated from https://github.com/sel-project/sel-utils/blob/master/xml/metadata/minecraft315.xml 8 */ 9 module sul.metadata.minecraft315; 10 11 import std.typecons : Tuple, tuple; 12 13 import sul.utils.buffer : Buffer; 14 import sul.utils.var; 15 16 static import sul.protocol.minecraft315.types; 17 18 alias Changed(T) = Tuple!(T, "value", bool, "changed"); 19 20 class Metadata { 21 22 private bool _cached = false; 23 private ubyte[] _cache; 24 25 private void delegate(Buffer) pure nothrow @safe[] _changed; 26 27 private byte _entityFlags; 28 private Changed!(uint) _air = tuple(cast(uint)300, false); 29 private Changed!(string) _nametag; 30 private Changed!(bool) _showNametag; 31 private Changed!(bool) _silent; 32 private Changed!(bool) _noGravity; 33 private Changed!(sul.protocol.minecraft315.types.Slot) _potion; 34 private Changed!(ulong) _spawnPosition; 35 private Changed!(float) _radius = tuple(cast(float)0.5, false); 36 private Changed!(uint) _color; 37 private Changed!(bool) _isSinglePoint; 38 private Changed!(uint) _particleId; 39 private Changed!(uint) _particleParameter1; 40 private Changed!(uint) _particleParameter2; 41 private Changed!(uint) _hookedEntity; 42 private Changed!(byte) _arrowFlags; 43 private Changed!(uint) _timeSinceLastHit; 44 private Changed!(uint) _forwardDirection = tuple(cast(uint)1, false); 45 private Changed!(float) _damageTaken = tuple(cast(float)0, false); 46 private Changed!(uint) _boatVariant; 47 private Changed!(bool) _rightPaddleTurning; 48 private Changed!(bool) _leftPaddleTurning; 49 private Changed!(sul.protocol.minecraft315.types.OptionalPosition) _beamTarget; 50 private Changed!(bool) _showBottom; 51 private Changed!(sul.protocol.minecraft315.types.Slot) _firework; 52 private Changed!(sul.protocol.minecraft315.types.Slot) _item; 53 private Changed!(uint) _rotation; 54 private Changed!(byte) _livingFlags; 55 private Changed!(float) _health = tuple(cast(float)1, false); 56 private Changed!(uint) _potionColor; 57 private Changed!(bool) _potionAmbient; 58 private Changed!(uint) _arrows; 59 private Changed!(float) _additionalHearts = tuple(cast(float)0, false); 60 private Changed!(uint) _score; 61 private Changed!(byte) _skinParts = tuple(cast(byte)0, false); 62 private Changed!(byte) _mainHand = tuple(cast(byte)1, false); 63 private Changed!(byte) _armorStandFlags; 64 private Changed!(Tuple!(float, "x", float, "y", float, "z")) _headRotation; 65 private Changed!(Tuple!(float, "x", float, "y", float, "z")) _bodyRotation; 66 private Changed!(Tuple!(float, "x", float, "y", float, "z")) _leftArmRotation; 67 private Changed!(Tuple!(float, "x", float, "y", float, "z")) _rightArmRotation; 68 private Changed!(Tuple!(float, "x", float, "y", float, "z")) _leftLegRotation; 69 private Changed!(Tuple!(float, "x", float, "y", float, "z")) _rightLegRotation; 70 private Changed!(byte) _instentientFlags; 71 private Changed!(byte) _hanging; 72 private Changed!(bool) _baby; 73 private Changed!(byte) _horseFlags; 74 private Changed!(sul.protocol.minecraft315.types.OptionalUuid) _ownerUuid; 75 private Changed!(uint) _horseVariant; 76 private Changed!(uint) _horseArmor; 77 private Changed!(bool) _chested; 78 private Changed!(uint) _llamaStrength; 79 private Changed!(uint) _carpetColor = tuple(cast(uint)-1, false); 80 private Changed!(uint) _llamaVariant; 81 private Changed!(bool) _pigSaddled; 82 private Changed!(uint) _rabbitVariant; 83 private Changed!(bool) _standingUp; 84 private Changed!(byte) _sheepFlagsAndColor; 85 private Changed!(byte) _tameableFlags; 86 private Changed!(uint) _ocelotVariant; 87 private Changed!(float) _wolfHealth; 88 private Changed!(bool) _begging; 89 private Changed!(uint) _collarColor = tuple(cast(uint)14, false); 90 private Changed!(uint) _profession; 91 private Changed!(byte) _createdByPlayer; 92 private Changed!(byte) _snowmanFlags; 93 private Changed!(uint) _shulkerDirection; 94 private Changed!(sul.protocol.minecraft315.types.OptionalPosition) _shulkerAttachment; 95 private Changed!(byte) _shulkerShieldHeight; 96 private Changed!(byte) _shulkerColor; 97 private Changed!(byte) _blazeOnFire; 98 private Changed!(uint) _creeperState = tuple(cast(uint)-1, false); 99 private Changed!(bool) _charged; 100 private Changed!(bool) _ignited; 101 private Changed!(bool) _rectractingSpikes; 102 private Changed!(uint) _guardianTarget; 103 private Changed!(byte) _spell; 104 private Changed!(byte) _attackMode; 105 private Changed!(bool) _swingingArms; 106 private Changed!(byte) _climbing; 107 private Changed!(uint) _centerHeadTarget; 108 private Changed!(uint) _leftHeadTarget; 109 private Changed!(uint) _rightHeadTarget; 110 private Changed!(uint) _invulnerableTime; 111 private Changed!(bool) _handsHeldUp; 112 private Changed!(bool) _converting; 113 private Changed!(uint) _zombieVillagerProfession; 114 private Changed!(uint) _carriedBlock; 115 private Changed!(bool) _screaming; 116 private Changed!(uint) _dragonPhase; 117 private Changed!(bool) _ghastAttacking; 118 private Changed!(uint) _slimeSize = tuple(cast(uint)1, false); 119 private Changed!(uint) _shakingPower; 120 private Changed!(uint) _shakingDirection; 121 private Changed!(float) _shakingMultiplier = tuple(cast(float)0, false); 122 private Changed!(uint) _minecartBlock; 123 private Changed!(uint) _minecartBlockPosition = tuple(cast(uint)6, false); 124 private Changed!(bool) _minecartCustomBlock; 125 private Changed!(bool) _furnacePowered; 126 private Changed!(string) _command; 127 private Changed!(string) _lastOutput; 128 private Changed!(uint) _fuseTime; 129 130 public pure nothrow @safe this() { 131 this.reset(); 132 } 133 134 public pure nothrow @safe void reset() { 135 this._changed = [ 136 &this.encodeEntityFlags, 137 ]; 138 } 139 140 public pure nothrow @property @safe @nogc byte entityFlags() { 141 return _entityFlags; 142 } 143 144 public pure nothrow @property @safe byte entityFlags(byte value) { 145 this._cached = false; 146 this._entityFlags = value; 147 return value; 148 } 149 150 public pure nothrow @safe encodeEntityFlags(Buffer buffer) { 151 with(buffer) { 152 writeBigEndianUbyte(0); 153 writeBigEndianUbyte(0); 154 writeBigEndianByte(this._entityFlags); 155 } 156 } 157 158 public pure nothrow @property @safe bool onFire() { 159 return (_entityFlags >>> 0) & 1; 160 } 161 162 public pure nothrow @property @safe bool onFire(bool value) { 163 if(value) entityFlags = cast(byte)(_entityFlags | (cast(byte)true << 0)); 164 else entityFlags = cast(byte)(_entityFlags & ~(cast(byte)true << 0)); 165 return value; 166 } 167 168 public pure nothrow @property @safe bool sneaking() { 169 return (_entityFlags >>> 1) & 1; 170 } 171 172 public pure nothrow @property @safe bool sneaking(bool value) { 173 if(value) entityFlags = cast(byte)(_entityFlags | (cast(byte)true << 1)); 174 else entityFlags = cast(byte)(_entityFlags & ~(cast(byte)true << 1)); 175 return value; 176 } 177 178 public pure nothrow @property @safe bool sprinting() { 179 return (_entityFlags >>> 3) & 1; 180 } 181 182 public pure nothrow @property @safe bool sprinting(bool value) { 183 if(value) entityFlags = cast(byte)(_entityFlags | (cast(byte)true << 3)); 184 else entityFlags = cast(byte)(_entityFlags & ~(cast(byte)true << 3)); 185 return value; 186 } 187 188 public pure nothrow @property @safe bool invisible() { 189 return (_entityFlags >>> 5) & 1; 190 } 191 192 public pure nothrow @property @safe bool invisible(bool value) { 193 if(value) entityFlags = cast(byte)(_entityFlags | (cast(byte)true << 5)); 194 else entityFlags = cast(byte)(_entityFlags & ~(cast(byte)true << 5)); 195 return value; 196 } 197 198 public pure nothrow @property @safe bool glowing() { 199 return (_entityFlags >>> 6) & 1; 200 } 201 202 public pure nothrow @property @safe bool glowing(bool value) { 203 if(value) entityFlags = cast(byte)(_entityFlags | (cast(byte)true << 6)); 204 else entityFlags = cast(byte)(_entityFlags & ~(cast(byte)true << 6)); 205 return value; 206 } 207 208 public pure nothrow @property @safe bool gliding() { 209 return (_entityFlags >>> 7) & 1; 210 } 211 212 public pure nothrow @property @safe bool gliding(bool value) { 213 if(value) entityFlags = cast(byte)(_entityFlags | (cast(byte)true << 7)); 214 else entityFlags = cast(byte)(_entityFlags & ~(cast(byte)true << 7)); 215 return value; 216 } 217 218 public pure nothrow @property @safe @nogc uint air() { 219 return _air.value; 220 } 221 222 public pure nothrow @property @safe uint air(uint value) { 223 this._cached = false; 224 this._air.value = value; 225 if(!this._air.changed) { 226 this._air.changed = true; 227 this._changed ~= &this.encodeAir; 228 } 229 return value; 230 } 231 232 public pure nothrow @safe encodeAir(Buffer buffer) { 233 with(buffer) { 234 writeBigEndianUbyte(1); 235 writeBigEndianUbyte(1); 236 writeBytes(varuint.encode(this._air.value)); 237 } 238 } 239 240 public pure nothrow @property @safe @nogc string nametag() { 241 return _nametag.value; 242 } 243 244 public pure nothrow @property @safe string nametag(string value) { 245 this._cached = false; 246 this._nametag.value = value; 247 if(!this._nametag.changed) { 248 this._nametag.changed = true; 249 this._changed ~= &this.encodeNametag; 250 } 251 return value; 252 } 253 254 public pure nothrow @safe encodeNametag(Buffer buffer) { 255 with(buffer) { 256 writeBigEndianUbyte(2); 257 writeBigEndianUbyte(3); 258 writeBytes(varuint.encode(cast(uint)this._nametag.value.length)); writeString(this._nametag.value); 259 } 260 } 261 262 public pure nothrow @property @safe @nogc bool showNametag() { 263 return _showNametag.value; 264 } 265 266 public pure nothrow @property @safe bool showNametag(bool value) { 267 this._cached = false; 268 this._showNametag.value = value; 269 if(!this._showNametag.changed) { 270 this._showNametag.changed = true; 271 this._changed ~= &this.encodeShowNametag; 272 } 273 return value; 274 } 275 276 public pure nothrow @safe encodeShowNametag(Buffer buffer) { 277 with(buffer) { 278 writeBigEndianUbyte(3); 279 writeBigEndianUbyte(6); 280 writeBigEndianBool(this._showNametag.value); 281 } 282 } 283 284 public pure nothrow @property @safe @nogc bool silent() { 285 return _silent.value; 286 } 287 288 public pure nothrow @property @safe bool silent(bool value) { 289 this._cached = false; 290 this._silent.value = value; 291 if(!this._silent.changed) { 292 this._silent.changed = true; 293 this._changed ~= &this.encodeSilent; 294 } 295 return value; 296 } 297 298 public pure nothrow @safe encodeSilent(Buffer buffer) { 299 with(buffer) { 300 writeBigEndianUbyte(4); 301 writeBigEndianUbyte(6); 302 writeBigEndianBool(this._silent.value); 303 } 304 } 305 306 public pure nothrow @property @safe @nogc bool noGravity() { 307 return _noGravity.value; 308 } 309 310 public pure nothrow @property @safe bool noGravity(bool value) { 311 this._cached = false; 312 this._noGravity.value = value; 313 if(!this._noGravity.changed) { 314 this._noGravity.changed = true; 315 this._changed ~= &this.encodeNoGravity; 316 } 317 return value; 318 } 319 320 public pure nothrow @safe encodeNoGravity(Buffer buffer) { 321 with(buffer) { 322 writeBigEndianUbyte(5); 323 writeBigEndianUbyte(6); 324 writeBigEndianBool(this._noGravity.value); 325 } 326 } 327 328 public pure nothrow @property @safe @nogc sul.protocol.minecraft315.types.Slot potion() { 329 return _potion.value; 330 } 331 332 public pure nothrow @property @safe sul.protocol.minecraft315.types.Slot potion(sul.protocol.minecraft315.types.Slot value) { 333 this._cached = false; 334 this._potion.value = value; 335 if(!this._potion.changed) { 336 this._potion.changed = true; 337 this._changed ~= &this.encodePotion; 338 } 339 return value; 340 } 341 342 public pure nothrow @safe encodePotion(Buffer buffer) { 343 with(buffer) { 344 writeBigEndianUbyte(6); 345 writeBigEndianUbyte(5); 346 this._potion.value.encode(bufferInstance); 347 } 348 } 349 350 public pure nothrow @property @safe @nogc ulong spawnPosition() { 351 return _spawnPosition.value; 352 } 353 354 public pure nothrow @property @safe ulong spawnPosition(ulong value) { 355 this._cached = false; 356 this._spawnPosition.value = value; 357 if(!this._spawnPosition.changed) { 358 this._spawnPosition.changed = true; 359 this._changed ~= &this.encodeSpawnPosition; 360 } 361 return value; 362 } 363 364 public pure nothrow @safe encodeSpawnPosition(Buffer buffer) { 365 with(buffer) { 366 writeBigEndianUbyte(6); 367 writeBigEndianUbyte(8); 368 writeBigEndianUlong(this._spawnPosition.value); 369 } 370 } 371 372 public pure nothrow @property @safe @nogc float radius() { 373 return _radius.value; 374 } 375 376 public pure nothrow @property @safe float radius(float value) { 377 this._cached = false; 378 this._radius.value = value; 379 if(!this._radius.changed) { 380 this._radius.changed = true; 381 this._changed ~= &this.encodeRadius; 382 } 383 return value; 384 } 385 386 public pure nothrow @safe encodeRadius(Buffer buffer) { 387 with(buffer) { 388 writeBigEndianUbyte(6); 389 writeBigEndianUbyte(2); 390 writeBigEndianFloat(this._radius.value); 391 } 392 } 393 394 public pure nothrow @property @safe @nogc uint color() { 395 return _color.value; 396 } 397 398 public pure nothrow @property @safe uint color(uint value) { 399 this._cached = false; 400 this._color.value = value; 401 if(!this._color.changed) { 402 this._color.changed = true; 403 this._changed ~= &this.encodeColor; 404 } 405 return value; 406 } 407 408 public pure nothrow @safe encodeColor(Buffer buffer) { 409 with(buffer) { 410 writeBigEndianUbyte(7); 411 writeBigEndianUbyte(1); 412 writeBytes(varuint.encode(this._color.value)); 413 } 414 } 415 416 public pure nothrow @property @safe @nogc bool isSinglePoint() { 417 return _isSinglePoint.value; 418 } 419 420 public pure nothrow @property @safe bool isSinglePoint(bool value) { 421 this._cached = false; 422 this._isSinglePoint.value = value; 423 if(!this._isSinglePoint.changed) { 424 this._isSinglePoint.changed = true; 425 this._changed ~= &this.encodeIsSinglePoint; 426 } 427 return value; 428 } 429 430 public pure nothrow @safe encodeIsSinglePoint(Buffer buffer) { 431 with(buffer) { 432 writeBigEndianUbyte(8); 433 writeBigEndianUbyte(6); 434 writeBigEndianBool(this._isSinglePoint.value); 435 } 436 } 437 438 public pure nothrow @property @safe @nogc uint particleId() { 439 return _particleId.value; 440 } 441 442 public pure nothrow @property @safe uint particleId(uint value) { 443 this._cached = false; 444 this._particleId.value = value; 445 if(!this._particleId.changed) { 446 this._particleId.changed = true; 447 this._changed ~= &this.encodeParticleId; 448 } 449 return value; 450 } 451 452 public pure nothrow @safe encodeParticleId(Buffer buffer) { 453 with(buffer) { 454 writeBigEndianUbyte(9); 455 writeBigEndianUbyte(1); 456 writeBytes(varuint.encode(this._particleId.value)); 457 } 458 } 459 460 public pure nothrow @property @safe @nogc uint particleParameter1() { 461 return _particleParameter1.value; 462 } 463 464 public pure nothrow @property @safe uint particleParameter1(uint value) { 465 this._cached = false; 466 this._particleParameter1.value = value; 467 if(!this._particleParameter1.changed) { 468 this._particleParameter1.changed = true; 469 this._changed ~= &this.encodeParticleParameter1; 470 } 471 return value; 472 } 473 474 public pure nothrow @safe encodeParticleParameter1(Buffer buffer) { 475 with(buffer) { 476 writeBigEndianUbyte(10); 477 writeBigEndianUbyte(1); 478 writeBytes(varuint.encode(this._particleParameter1.value)); 479 } 480 } 481 482 public pure nothrow @property @safe @nogc uint particleParameter2() { 483 return _particleParameter2.value; 484 } 485 486 public pure nothrow @property @safe uint particleParameter2(uint value) { 487 this._cached = false; 488 this._particleParameter2.value = value; 489 if(!this._particleParameter2.changed) { 490 this._particleParameter2.changed = true; 491 this._changed ~= &this.encodeParticleParameter2; 492 } 493 return value; 494 } 495 496 public pure nothrow @safe encodeParticleParameter2(Buffer buffer) { 497 with(buffer) { 498 writeBigEndianUbyte(11); 499 writeBigEndianUbyte(1); 500 writeBytes(varuint.encode(this._particleParameter2.value)); 501 } 502 } 503 504 public pure nothrow @property @safe @nogc uint hookedEntity() { 505 return _hookedEntity.value; 506 } 507 508 public pure nothrow @property @safe uint hookedEntity(uint value) { 509 this._cached = false; 510 this._hookedEntity.value = value; 511 if(!this._hookedEntity.changed) { 512 this._hookedEntity.changed = true; 513 this._changed ~= &this.encodeHookedEntity; 514 } 515 return value; 516 } 517 518 public pure nothrow @safe encodeHookedEntity(Buffer buffer) { 519 with(buffer) { 520 writeBigEndianUbyte(6); 521 writeBigEndianUbyte(1); 522 writeBytes(varuint.encode(this._hookedEntity.value)); 523 } 524 } 525 526 public pure nothrow @property @safe @nogc byte arrowFlags() { 527 return _arrowFlags.value; 528 } 529 530 public pure nothrow @property @safe byte arrowFlags(byte value) { 531 this._cached = false; 532 this._arrowFlags.value = value; 533 if(!this._arrowFlags.changed) { 534 this._arrowFlags.changed = true; 535 this._changed ~= &this.encodeArrowFlags; 536 } 537 return value; 538 } 539 540 public pure nothrow @safe encodeArrowFlags(Buffer buffer) { 541 with(buffer) { 542 writeBigEndianUbyte(6); 543 writeBigEndianUbyte(0); 544 writeBigEndianByte(this._arrowFlags.value); 545 } 546 } 547 548 public pure nothrow @property @safe bool critical() { 549 return (_arrowFlags.value >>> 0) & 1; 550 } 551 552 public pure nothrow @property @safe bool critical(bool value) { 553 if(value) arrowFlags = cast(byte)(_arrowFlags.value | (cast(byte)true << 0)); 554 else arrowFlags = cast(byte)(_arrowFlags.value & ~(cast(byte)true << 0)); 555 return value; 556 } 557 558 public pure nothrow @property @safe @nogc uint timeSinceLastHit() { 559 return _timeSinceLastHit.value; 560 } 561 562 public pure nothrow @property @safe uint timeSinceLastHit(uint value) { 563 this._cached = false; 564 this._timeSinceLastHit.value = value; 565 if(!this._timeSinceLastHit.changed) { 566 this._timeSinceLastHit.changed = true; 567 this._changed ~= &this.encodeTimeSinceLastHit; 568 } 569 return value; 570 } 571 572 public pure nothrow @safe encodeTimeSinceLastHit(Buffer buffer) { 573 with(buffer) { 574 writeBigEndianUbyte(6); 575 writeBigEndianUbyte(1); 576 writeBytes(varuint.encode(this._timeSinceLastHit.value)); 577 } 578 } 579 580 public pure nothrow @property @safe @nogc uint forwardDirection() { 581 return _forwardDirection.value; 582 } 583 584 public pure nothrow @property @safe uint forwardDirection(uint value) { 585 this._cached = false; 586 this._forwardDirection.value = value; 587 if(!this._forwardDirection.changed) { 588 this._forwardDirection.changed = true; 589 this._changed ~= &this.encodeForwardDirection; 590 } 591 return value; 592 } 593 594 public pure nothrow @safe encodeForwardDirection(Buffer buffer) { 595 with(buffer) { 596 writeBigEndianUbyte(7); 597 writeBigEndianUbyte(1); 598 writeBytes(varuint.encode(this._forwardDirection.value)); 599 } 600 } 601 602 public pure nothrow @property @safe @nogc float damageTaken() { 603 return _damageTaken.value; 604 } 605 606 public pure nothrow @property @safe float damageTaken(float value) { 607 this._cached = false; 608 this._damageTaken.value = value; 609 if(!this._damageTaken.changed) { 610 this._damageTaken.changed = true; 611 this._changed ~= &this.encodeDamageTaken; 612 } 613 return value; 614 } 615 616 public pure nothrow @safe encodeDamageTaken(Buffer buffer) { 617 with(buffer) { 618 writeBigEndianUbyte(8); 619 writeBigEndianUbyte(2); 620 writeBigEndianFloat(this._damageTaken.value); 621 } 622 } 623 624 public pure nothrow @property @safe @nogc uint boatVariant() { 625 return _boatVariant.value; 626 } 627 628 public pure nothrow @property @safe uint boatVariant(uint value) { 629 this._cached = false; 630 this._boatVariant.value = value; 631 if(!this._boatVariant.changed) { 632 this._boatVariant.changed = true; 633 this._changed ~= &this.encodeBoatVariant; 634 } 635 return value; 636 } 637 638 public pure nothrow @safe encodeBoatVariant(Buffer buffer) { 639 with(buffer) { 640 writeBigEndianUbyte(9); 641 writeBigEndianUbyte(1); 642 writeBytes(varuint.encode(this._boatVariant.value)); 643 } 644 } 645 646 public pure nothrow @property @safe @nogc bool rightPaddleTurning() { 647 return _rightPaddleTurning.value; 648 } 649 650 public pure nothrow @property @safe bool rightPaddleTurning(bool value) { 651 this._cached = false; 652 this._rightPaddleTurning.value = value; 653 if(!this._rightPaddleTurning.changed) { 654 this._rightPaddleTurning.changed = true; 655 this._changed ~= &this.encodeRightPaddleTurning; 656 } 657 return value; 658 } 659 660 public pure nothrow @safe encodeRightPaddleTurning(Buffer buffer) { 661 with(buffer) { 662 writeBigEndianUbyte(10); 663 writeBigEndianUbyte(6); 664 writeBigEndianBool(this._rightPaddleTurning.value); 665 } 666 } 667 668 public pure nothrow @property @safe @nogc bool leftPaddleTurning() { 669 return _leftPaddleTurning.value; 670 } 671 672 public pure nothrow @property @safe bool leftPaddleTurning(bool value) { 673 this._cached = false; 674 this._leftPaddleTurning.value = value; 675 if(!this._leftPaddleTurning.changed) { 676 this._leftPaddleTurning.changed = true; 677 this._changed ~= &this.encodeLeftPaddleTurning; 678 } 679 return value; 680 } 681 682 public pure nothrow @safe encodeLeftPaddleTurning(Buffer buffer) { 683 with(buffer) { 684 writeBigEndianUbyte(11); 685 writeBigEndianUbyte(6); 686 writeBigEndianBool(this._leftPaddleTurning.value); 687 } 688 } 689 690 public pure nothrow @property @safe @nogc sul.protocol.minecraft315.types.OptionalPosition beamTarget() { 691 return _beamTarget.value; 692 } 693 694 public pure nothrow @property @safe sul.protocol.minecraft315.types.OptionalPosition beamTarget(sul.protocol.minecraft315.types.OptionalPosition value) { 695 this._cached = false; 696 this._beamTarget.value = value; 697 if(!this._beamTarget.changed) { 698 this._beamTarget.changed = true; 699 this._changed ~= &this.encodeBeamTarget; 700 } 701 return value; 702 } 703 704 public pure nothrow @safe encodeBeamTarget(Buffer buffer) { 705 with(buffer) { 706 writeBigEndianUbyte(6); 707 writeBigEndianUbyte(9); 708 this._beamTarget.value.encode(bufferInstance); 709 } 710 } 711 712 public pure nothrow @property @safe @nogc bool showBottom() { 713 return _showBottom.value; 714 } 715 716 public pure nothrow @property @safe bool showBottom(bool value) { 717 this._cached = false; 718 this._showBottom.value = value; 719 if(!this._showBottom.changed) { 720 this._showBottom.changed = true; 721 this._changed ~= &this.encodeShowBottom; 722 } 723 return value; 724 } 725 726 public pure nothrow @safe encodeShowBottom(Buffer buffer) { 727 with(buffer) { 728 writeBigEndianUbyte(7); 729 writeBigEndianUbyte(6); 730 writeBigEndianBool(this._showBottom.value); 731 } 732 } 733 734 public pure nothrow @property @safe @nogc sul.protocol.minecraft315.types.Slot firework() { 735 return _firework.value; 736 } 737 738 public pure nothrow @property @safe sul.protocol.minecraft315.types.Slot firework(sul.protocol.minecraft315.types.Slot value) { 739 this._cached = false; 740 this._firework.value = value; 741 if(!this._firework.changed) { 742 this._firework.changed = true; 743 this._changed ~= &this.encodeFirework; 744 } 745 return value; 746 } 747 748 public pure nothrow @safe encodeFirework(Buffer buffer) { 749 with(buffer) { 750 writeBigEndianUbyte(6); 751 writeBigEndianUbyte(5); 752 this._firework.value.encode(bufferInstance); 753 } 754 } 755 756 public pure nothrow @property @safe @nogc sul.protocol.minecraft315.types.Slot item() { 757 return _item.value; 758 } 759 760 public pure nothrow @property @safe sul.protocol.minecraft315.types.Slot item(sul.protocol.minecraft315.types.Slot value) { 761 this._cached = false; 762 this._item.value = value; 763 if(!this._item.changed) { 764 this._item.changed = true; 765 this._changed ~= &this.encodeItem; 766 } 767 return value; 768 } 769 770 public pure nothrow @safe encodeItem(Buffer buffer) { 771 with(buffer) { 772 writeBigEndianUbyte(6); 773 writeBigEndianUbyte(5); 774 this._item.value.encode(bufferInstance); 775 } 776 } 777 778 public pure nothrow @property @safe @nogc uint rotation() { 779 return _rotation.value; 780 } 781 782 public pure nothrow @property @safe uint rotation(uint value) { 783 this._cached = false; 784 this._rotation.value = value; 785 if(!this._rotation.changed) { 786 this._rotation.changed = true; 787 this._changed ~= &this.encodeRotation; 788 } 789 return value; 790 } 791 792 public pure nothrow @safe encodeRotation(Buffer buffer) { 793 with(buffer) { 794 writeBigEndianUbyte(7); 795 writeBigEndianUbyte(1); 796 writeBytes(varuint.encode(this._rotation.value)); 797 } 798 } 799 800 public pure nothrow @property @safe @nogc byte livingFlags() { 801 return _livingFlags.value; 802 } 803 804 public pure nothrow @property @safe byte livingFlags(byte value) { 805 this._cached = false; 806 this._livingFlags.value = value; 807 if(!this._livingFlags.changed) { 808 this._livingFlags.changed = true; 809 this._changed ~= &this.encodeLivingFlags; 810 } 811 return value; 812 } 813 814 public pure nothrow @safe encodeLivingFlags(Buffer buffer) { 815 with(buffer) { 816 writeBigEndianUbyte(6); 817 writeBigEndianUbyte(0); 818 writeBigEndianByte(this._livingFlags.value); 819 } 820 } 821 822 public pure nothrow @property @safe bool handActive() { 823 return (_livingFlags.value >>> 0) & 1; 824 } 825 826 public pure nothrow @property @safe bool handActive(bool value) { 827 if(value) livingFlags = cast(byte)(_livingFlags.value | (cast(byte)true << 0)); 828 else livingFlags = cast(byte)(_livingFlags.value & ~(cast(byte)true << 0)); 829 return value; 830 } 831 832 public pure nothrow @property @safe bool offhand() { 833 return (_livingFlags.value >>> 1) & 1; 834 } 835 836 public pure nothrow @property @safe bool offhand(bool value) { 837 if(value) livingFlags = cast(byte)(_livingFlags.value | (cast(byte)true << 1)); 838 else livingFlags = cast(byte)(_livingFlags.value & ~(cast(byte)true << 1)); 839 return value; 840 } 841 842 public pure nothrow @property @safe @nogc float health() { 843 return _health.value; 844 } 845 846 public pure nothrow @property @safe float health(float value) { 847 this._cached = false; 848 this._health.value = value; 849 if(!this._health.changed) { 850 this._health.changed = true; 851 this._changed ~= &this.encodeHealth; 852 } 853 return value; 854 } 855 856 public pure nothrow @safe encodeHealth(Buffer buffer) { 857 with(buffer) { 858 writeBigEndianUbyte(7); 859 writeBigEndianUbyte(2); 860 writeBigEndianFloat(this._health.value); 861 } 862 } 863 864 public pure nothrow @property @safe @nogc uint potionColor() { 865 return _potionColor.value; 866 } 867 868 public pure nothrow @property @safe uint potionColor(uint value) { 869 this._cached = false; 870 this._potionColor.value = value; 871 if(!this._potionColor.changed) { 872 this._potionColor.changed = true; 873 this._changed ~= &this.encodePotionColor; 874 } 875 return value; 876 } 877 878 public pure nothrow @safe encodePotionColor(Buffer buffer) { 879 with(buffer) { 880 writeBigEndianUbyte(8); 881 writeBigEndianUbyte(1); 882 writeBytes(varuint.encode(this._potionColor.value)); 883 } 884 } 885 886 public pure nothrow @property @safe @nogc bool potionAmbient() { 887 return _potionAmbient.value; 888 } 889 890 public pure nothrow @property @safe bool potionAmbient(bool value) { 891 this._cached = false; 892 this._potionAmbient.value = value; 893 if(!this._potionAmbient.changed) { 894 this._potionAmbient.changed = true; 895 this._changed ~= &this.encodePotionAmbient; 896 } 897 return value; 898 } 899 900 public pure nothrow @safe encodePotionAmbient(Buffer buffer) { 901 with(buffer) { 902 writeBigEndianUbyte(9); 903 writeBigEndianUbyte(6); 904 writeBigEndianBool(this._potionAmbient.value); 905 } 906 } 907 908 public pure nothrow @property @safe @nogc uint arrows() { 909 return _arrows.value; 910 } 911 912 public pure nothrow @property @safe uint arrows(uint value) { 913 this._cached = false; 914 this._arrows.value = value; 915 if(!this._arrows.changed) { 916 this._arrows.changed = true; 917 this._changed ~= &this.encodeArrows; 918 } 919 return value; 920 } 921 922 public pure nothrow @safe encodeArrows(Buffer buffer) { 923 with(buffer) { 924 writeBigEndianUbyte(10); 925 writeBigEndianUbyte(1); 926 writeBytes(varuint.encode(this._arrows.value)); 927 } 928 } 929 930 public pure nothrow @property @safe @nogc float additionalHearts() { 931 return _additionalHearts.value; 932 } 933 934 public pure nothrow @property @safe float additionalHearts(float value) { 935 this._cached = false; 936 this._additionalHearts.value = value; 937 if(!this._additionalHearts.changed) { 938 this._additionalHearts.changed = true; 939 this._changed ~= &this.encodeAdditionalHearts; 940 } 941 return value; 942 } 943 944 public pure nothrow @safe encodeAdditionalHearts(Buffer buffer) { 945 with(buffer) { 946 writeBigEndianUbyte(11); 947 writeBigEndianUbyte(2); 948 writeBigEndianFloat(this._additionalHearts.value); 949 } 950 } 951 952 public pure nothrow @property @safe @nogc uint score() { 953 return _score.value; 954 } 955 956 public pure nothrow @property @safe uint score(uint value) { 957 this._cached = false; 958 this._score.value = value; 959 if(!this._score.changed) { 960 this._score.changed = true; 961 this._changed ~= &this.encodeScore; 962 } 963 return value; 964 } 965 966 public pure nothrow @safe encodeScore(Buffer buffer) { 967 with(buffer) { 968 writeBigEndianUbyte(12); 969 writeBigEndianUbyte(1); 970 writeBytes(varuint.encode(this._score.value)); 971 } 972 } 973 974 public pure nothrow @property @safe @nogc byte skinParts() { 975 return _skinParts.value; 976 } 977 978 public pure nothrow @property @safe byte skinParts(byte value) { 979 this._cached = false; 980 this._skinParts.value = value; 981 if(!this._skinParts.changed) { 982 this._skinParts.changed = true; 983 this._changed ~= &this.encodeSkinParts; 984 } 985 return value; 986 } 987 988 public pure nothrow @safe encodeSkinParts(Buffer buffer) { 989 with(buffer) { 990 writeBigEndianUbyte(13); 991 writeBigEndianUbyte(0); 992 writeBigEndianByte(this._skinParts.value); 993 } 994 } 995 996 public pure nothrow @property @safe bool cape() { 997 return (_skinParts.value >>> 0) & 1; 998 } 999 1000 public pure nothrow @property @safe bool cape(bool value) { 1001 if(value) skinParts = cast(byte)(_skinParts.value | (cast(byte)true << 0)); 1002 else skinParts = cast(byte)(_skinParts.value & ~(cast(byte)true << 0)); 1003 return value; 1004 } 1005 1006 public pure nothrow @property @safe bool jacket() { 1007 return (_skinParts.value >>> 1) & 1; 1008 } 1009 1010 public pure nothrow @property @safe bool jacket(bool value) { 1011 if(value) skinParts = cast(byte)(_skinParts.value | (cast(byte)true << 1)); 1012 else skinParts = cast(byte)(_skinParts.value & ~(cast(byte)true << 1)); 1013 return value; 1014 } 1015 1016 public pure nothrow @property @safe bool leftSleeve() { 1017 return (_skinParts.value >>> 2) & 1; 1018 } 1019 1020 public pure nothrow @property @safe bool leftSleeve(bool value) { 1021 if(value) skinParts = cast(byte)(_skinParts.value | (cast(byte)true << 2)); 1022 else skinParts = cast(byte)(_skinParts.value & ~(cast(byte)true << 2)); 1023 return value; 1024 } 1025 1026 public pure nothrow @property @safe bool rightSleeve() { 1027 return (_skinParts.value >>> 3) & 1; 1028 } 1029 1030 public pure nothrow @property @safe bool rightSleeve(bool value) { 1031 if(value) skinParts = cast(byte)(_skinParts.value | (cast(byte)true << 3)); 1032 else skinParts = cast(byte)(_skinParts.value & ~(cast(byte)true << 3)); 1033 return value; 1034 } 1035 1036 public pure nothrow @property @safe bool leftPants() { 1037 return (_skinParts.value >>> 4) & 1; 1038 } 1039 1040 public pure nothrow @property @safe bool leftPants(bool value) { 1041 if(value) skinParts = cast(byte)(_skinParts.value | (cast(byte)true << 4)); 1042 else skinParts = cast(byte)(_skinParts.value & ~(cast(byte)true << 4)); 1043 return value; 1044 } 1045 1046 public pure nothrow @property @safe bool rightPants() { 1047 return (_skinParts.value >>> 5) & 1; 1048 } 1049 1050 public pure nothrow @property @safe bool rightPants(bool value) { 1051 if(value) skinParts = cast(byte)(_skinParts.value | (cast(byte)true << 5)); 1052 else skinParts = cast(byte)(_skinParts.value & ~(cast(byte)true << 5)); 1053 return value; 1054 } 1055 1056 public pure nothrow @property @safe bool hat() { 1057 return (_skinParts.value >>> 6) & 1; 1058 } 1059 1060 public pure nothrow @property @safe bool hat(bool value) { 1061 if(value) skinParts = cast(byte)(_skinParts.value | (cast(byte)true << 6)); 1062 else skinParts = cast(byte)(_skinParts.value & ~(cast(byte)true << 6)); 1063 return value; 1064 } 1065 1066 public pure nothrow @property @safe @nogc byte mainHand() { 1067 return _mainHand.value; 1068 } 1069 1070 public pure nothrow @property @safe byte mainHand(byte value) { 1071 this._cached = false; 1072 this._mainHand.value = value; 1073 if(!this._mainHand.changed) { 1074 this._mainHand.changed = true; 1075 this._changed ~= &this.encodeMainHand; 1076 } 1077 return value; 1078 } 1079 1080 public pure nothrow @safe encodeMainHand(Buffer buffer) { 1081 with(buffer) { 1082 writeBigEndianUbyte(14); 1083 writeBigEndianUbyte(0); 1084 writeBigEndianByte(this._mainHand.value); 1085 } 1086 } 1087 1088 public pure nothrow @property @safe @nogc byte armorStandFlags() { 1089 return _armorStandFlags.value; 1090 } 1091 1092 public pure nothrow @property @safe byte armorStandFlags(byte value) { 1093 this._cached = false; 1094 this._armorStandFlags.value = value; 1095 if(!this._armorStandFlags.changed) { 1096 this._armorStandFlags.changed = true; 1097 this._changed ~= &this.encodeArmorStandFlags; 1098 } 1099 return value; 1100 } 1101 1102 public pure nothrow @safe encodeArmorStandFlags(Buffer buffer) { 1103 with(buffer) { 1104 writeBigEndianUbyte(11); 1105 writeBigEndianUbyte(0); 1106 writeBigEndianByte(this._armorStandFlags.value); 1107 } 1108 } 1109 1110 public pure nothrow @property @safe bool isSmall() { 1111 return (_armorStandFlags.value >>> 0) & 1; 1112 } 1113 1114 public pure nothrow @property @safe bool isSmall(bool value) { 1115 if(value) armorStandFlags = cast(byte)(_armorStandFlags.value | (cast(byte)true << 0)); 1116 else armorStandFlags = cast(byte)(_armorStandFlags.value & ~(cast(byte)true << 0)); 1117 return value; 1118 } 1119 1120 public pure nothrow @property @safe bool hasArms() { 1121 return (_armorStandFlags.value >>> 2) & 1; 1122 } 1123 1124 public pure nothrow @property @safe bool hasArms(bool value) { 1125 if(value) armorStandFlags = cast(byte)(_armorStandFlags.value | (cast(byte)true << 2)); 1126 else armorStandFlags = cast(byte)(_armorStandFlags.value & ~(cast(byte)true << 2)); 1127 return value; 1128 } 1129 1130 public pure nothrow @property @safe bool noBasePlate() { 1131 return (_armorStandFlags.value >>> 3) & 1; 1132 } 1133 1134 public pure nothrow @property @safe bool noBasePlate(bool value) { 1135 if(value) armorStandFlags = cast(byte)(_armorStandFlags.value | (cast(byte)true << 3)); 1136 else armorStandFlags = cast(byte)(_armorStandFlags.value & ~(cast(byte)true << 3)); 1137 return value; 1138 } 1139 1140 public pure nothrow @property @safe bool setMarker() { 1141 return (_armorStandFlags.value >>> 4) & 1; 1142 } 1143 1144 public pure nothrow @property @safe bool setMarker(bool value) { 1145 if(value) armorStandFlags = cast(byte)(_armorStandFlags.value | (cast(byte)true << 4)); 1146 else armorStandFlags = cast(byte)(_armorStandFlags.value & ~(cast(byte)true << 4)); 1147 return value; 1148 } 1149 1150 public pure nothrow @property @safe @nogc Tuple!(float, "x", float, "y", float, "z") headRotation() { 1151 return _headRotation.value; 1152 } 1153 1154 public pure nothrow @property @safe Tuple!(float, "x", float, "y", float, "z") headRotation(Tuple!(float, "x", float, "y", float, "z") value) { 1155 this._cached = false; 1156 this._headRotation.value = value; 1157 if(!this._headRotation.changed) { 1158 this._headRotation.changed = true; 1159 this._changed ~= &this.encodeHeadRotation; 1160 } 1161 return value; 1162 } 1163 1164 public pure nothrow @safe encodeHeadRotation(Buffer buffer) { 1165 with(buffer) { 1166 writeBigEndianUbyte(12); 1167 writeBigEndianUbyte(7); 1168 writeBigEndianFloat(this._headRotation.value.x); writeBigEndianFloat(this._headRotation.value.y); writeBigEndianFloat(this._headRotation.value.z); 1169 } 1170 } 1171 1172 public pure nothrow @property @safe @nogc Tuple!(float, "x", float, "y", float, "z") bodyRotation() { 1173 return _bodyRotation.value; 1174 } 1175 1176 public pure nothrow @property @safe Tuple!(float, "x", float, "y", float, "z") bodyRotation(Tuple!(float, "x", float, "y", float, "z") value) { 1177 this._cached = false; 1178 this._bodyRotation.value = value; 1179 if(!this._bodyRotation.changed) { 1180 this._bodyRotation.changed = true; 1181 this._changed ~= &this.encodeBodyRotation; 1182 } 1183 return value; 1184 } 1185 1186 public pure nothrow @safe encodeBodyRotation(Buffer buffer) { 1187 with(buffer) { 1188 writeBigEndianUbyte(13); 1189 writeBigEndianUbyte(7); 1190 writeBigEndianFloat(this._bodyRotation.value.x); writeBigEndianFloat(this._bodyRotation.value.y); writeBigEndianFloat(this._bodyRotation.value.z); 1191 } 1192 } 1193 1194 public pure nothrow @property @safe @nogc Tuple!(float, "x", float, "y", float, "z") leftArmRotation() { 1195 return _leftArmRotation.value; 1196 } 1197 1198 public pure nothrow @property @safe Tuple!(float, "x", float, "y", float, "z") leftArmRotation(Tuple!(float, "x", float, "y", float, "z") value) { 1199 this._cached = false; 1200 this._leftArmRotation.value = value; 1201 if(!this._leftArmRotation.changed) { 1202 this._leftArmRotation.changed = true; 1203 this._changed ~= &this.encodeLeftArmRotation; 1204 } 1205 return value; 1206 } 1207 1208 public pure nothrow @safe encodeLeftArmRotation(Buffer buffer) { 1209 with(buffer) { 1210 writeBigEndianUbyte(14); 1211 writeBigEndianUbyte(7); 1212 writeBigEndianFloat(this._leftArmRotation.value.x); writeBigEndianFloat(this._leftArmRotation.value.y); writeBigEndianFloat(this._leftArmRotation.value.z); 1213 } 1214 } 1215 1216 public pure nothrow @property @safe @nogc Tuple!(float, "x", float, "y", float, "z") rightArmRotation() { 1217 return _rightArmRotation.value; 1218 } 1219 1220 public pure nothrow @property @safe Tuple!(float, "x", float, "y", float, "z") rightArmRotation(Tuple!(float, "x", float, "y", float, "z") value) { 1221 this._cached = false; 1222 this._rightArmRotation.value = value; 1223 if(!this._rightArmRotation.changed) { 1224 this._rightArmRotation.changed = true; 1225 this._changed ~= &this.encodeRightArmRotation; 1226 } 1227 return value; 1228 } 1229 1230 public pure nothrow @safe encodeRightArmRotation(Buffer buffer) { 1231 with(buffer) { 1232 writeBigEndianUbyte(15); 1233 writeBigEndianUbyte(7); 1234 writeBigEndianFloat(this._rightArmRotation.value.x); writeBigEndianFloat(this._rightArmRotation.value.y); writeBigEndianFloat(this._rightArmRotation.value.z); 1235 } 1236 } 1237 1238 public pure nothrow @property @safe @nogc Tuple!(float, "x", float, "y", float, "z") leftLegRotation() { 1239 return _leftLegRotation.value; 1240 } 1241 1242 public pure nothrow @property @safe Tuple!(float, "x", float, "y", float, "z") leftLegRotation(Tuple!(float, "x", float, "y", float, "z") value) { 1243 this._cached = false; 1244 this._leftLegRotation.value = value; 1245 if(!this._leftLegRotation.changed) { 1246 this._leftLegRotation.changed = true; 1247 this._changed ~= &this.encodeLeftLegRotation; 1248 } 1249 return value; 1250 } 1251 1252 public pure nothrow @safe encodeLeftLegRotation(Buffer buffer) { 1253 with(buffer) { 1254 writeBigEndianUbyte(16); 1255 writeBigEndianUbyte(7); 1256 writeBigEndianFloat(this._leftLegRotation.value.x); writeBigEndianFloat(this._leftLegRotation.value.y); writeBigEndianFloat(this._leftLegRotation.value.z); 1257 } 1258 } 1259 1260 public pure nothrow @property @safe @nogc Tuple!(float, "x", float, "y", float, "z") rightLegRotation() { 1261 return _rightLegRotation.value; 1262 } 1263 1264 public pure nothrow @property @safe Tuple!(float, "x", float, "y", float, "z") rightLegRotation(Tuple!(float, "x", float, "y", float, "z") value) { 1265 this._cached = false; 1266 this._rightLegRotation.value = value; 1267 if(!this._rightLegRotation.changed) { 1268 this._rightLegRotation.changed = true; 1269 this._changed ~= &this.encodeRightLegRotation; 1270 } 1271 return value; 1272 } 1273 1274 public pure nothrow @safe encodeRightLegRotation(Buffer buffer) { 1275 with(buffer) { 1276 writeBigEndianUbyte(17); 1277 writeBigEndianUbyte(7); 1278 writeBigEndianFloat(this._rightLegRotation.value.x); writeBigEndianFloat(this._rightLegRotation.value.y); writeBigEndianFloat(this._rightLegRotation.value.z); 1279 } 1280 } 1281 1282 public pure nothrow @property @safe @nogc byte instentientFlags() { 1283 return _instentientFlags.value; 1284 } 1285 1286 public pure nothrow @property @safe byte instentientFlags(byte value) { 1287 this._cached = false; 1288 this._instentientFlags.value = value; 1289 if(!this._instentientFlags.changed) { 1290 this._instentientFlags.changed = true; 1291 this._changed ~= &this.encodeInstentientFlags; 1292 } 1293 return value; 1294 } 1295 1296 public pure nothrow @safe encodeInstentientFlags(Buffer buffer) { 1297 with(buffer) { 1298 writeBigEndianUbyte(11); 1299 writeBigEndianUbyte(0); 1300 writeBigEndianByte(this._instentientFlags.value); 1301 } 1302 } 1303 1304 public pure nothrow @property @safe bool noAi() { 1305 return (_instentientFlags.value >>> 0) & 1; 1306 } 1307 1308 public pure nothrow @property @safe bool noAi(bool value) { 1309 if(value) instentientFlags = cast(byte)(_instentientFlags.value | (cast(byte)true << 0)); 1310 else instentientFlags = cast(byte)(_instentientFlags.value & ~(cast(byte)true << 0)); 1311 return value; 1312 } 1313 1314 public pure nothrow @property @safe bool leftHanded() { 1315 return (_instentientFlags.value >>> 1) & 1; 1316 } 1317 1318 public pure nothrow @property @safe bool leftHanded(bool value) { 1319 if(value) instentientFlags = cast(byte)(_instentientFlags.value | (cast(byte)true << 1)); 1320 else instentientFlags = cast(byte)(_instentientFlags.value & ~(cast(byte)true << 1)); 1321 return value; 1322 } 1323 1324 public pure nothrow @property @safe @nogc byte hanging() { 1325 return _hanging.value; 1326 } 1327 1328 public pure nothrow @property @safe byte hanging(byte value) { 1329 this._cached = false; 1330 this._hanging.value = value; 1331 if(!this._hanging.changed) { 1332 this._hanging.changed = true; 1333 this._changed ~= &this.encodeHanging; 1334 } 1335 return value; 1336 } 1337 1338 public pure nothrow @safe encodeHanging(Buffer buffer) { 1339 with(buffer) { 1340 writeBigEndianUbyte(12); 1341 writeBigEndianUbyte(0); 1342 writeBigEndianByte(this._hanging.value); 1343 } 1344 } 1345 1346 public pure nothrow @property @safe @nogc bool baby() { 1347 return _baby.value; 1348 } 1349 1350 public pure nothrow @property @safe bool baby(bool value) { 1351 this._cached = false; 1352 this._baby.value = value; 1353 if(!this._baby.changed) { 1354 this._baby.changed = true; 1355 this._changed ~= &this.encodeBaby; 1356 } 1357 return value; 1358 } 1359 1360 public pure nothrow @safe encodeBaby(Buffer buffer) { 1361 with(buffer) { 1362 writeBigEndianUbyte(12); 1363 writeBigEndianUbyte(6); 1364 writeBigEndianBool(this._baby.value); 1365 } 1366 } 1367 1368 public pure nothrow @property @safe @nogc byte horseFlags() { 1369 return _horseFlags.value; 1370 } 1371 1372 public pure nothrow @property @safe byte horseFlags(byte value) { 1373 this._cached = false; 1374 this._horseFlags.value = value; 1375 if(!this._horseFlags.changed) { 1376 this._horseFlags.changed = true; 1377 this._changed ~= &this.encodeHorseFlags; 1378 } 1379 return value; 1380 } 1381 1382 public pure nothrow @safe encodeHorseFlags(Buffer buffer) { 1383 with(buffer) { 1384 writeBigEndianUbyte(13); 1385 writeBigEndianUbyte(0); 1386 writeBigEndianByte(this._horseFlags.value); 1387 } 1388 } 1389 1390 public pure nothrow @property @safe bool horseTamed() { 1391 return (_horseFlags.value >>> 1) & 1; 1392 } 1393 1394 public pure nothrow @property @safe bool horseTamed(bool value) { 1395 if(value) horseFlags = cast(byte)(_horseFlags.value | (cast(byte)true << 1)); 1396 else horseFlags = cast(byte)(_horseFlags.value & ~(cast(byte)true << 1)); 1397 return value; 1398 } 1399 1400 public pure nothrow @property @safe bool horseSaddled() { 1401 return (_horseFlags.value >>> 2) & 1; 1402 } 1403 1404 public pure nothrow @property @safe bool horseSaddled(bool value) { 1405 if(value) horseFlags = cast(byte)(_horseFlags.value | (cast(byte)true << 2)); 1406 else horseFlags = cast(byte)(_horseFlags.value & ~(cast(byte)true << 2)); 1407 return value; 1408 } 1409 1410 public pure nothrow @property @safe bool horseChested() { 1411 return (_horseFlags.value >>> 3) & 1; 1412 } 1413 1414 public pure nothrow @property @safe bool horseChested(bool value) { 1415 if(value) horseFlags = cast(byte)(_horseFlags.value | (cast(byte)true << 3)); 1416 else horseFlags = cast(byte)(_horseFlags.value & ~(cast(byte)true << 3)); 1417 return value; 1418 } 1419 1420 public pure nothrow @property @safe bool horseEating() { 1421 return (_horseFlags.value >>> 5) & 1; 1422 } 1423 1424 public pure nothrow @property @safe bool horseEating(bool value) { 1425 if(value) horseFlags = cast(byte)(_horseFlags.value | (cast(byte)true << 5)); 1426 else horseFlags = cast(byte)(_horseFlags.value & ~(cast(byte)true << 5)); 1427 return value; 1428 } 1429 1430 public pure nothrow @property @safe bool horseRearing() { 1431 return (_horseFlags.value >>> 6) & 1; 1432 } 1433 1434 public pure nothrow @property @safe bool horseRearing(bool value) { 1435 if(value) horseFlags = cast(byte)(_horseFlags.value | (cast(byte)true << 6)); 1436 else horseFlags = cast(byte)(_horseFlags.value & ~(cast(byte)true << 6)); 1437 return value; 1438 } 1439 1440 public pure nothrow @property @safe bool mouthOpen() { 1441 return (_horseFlags.value >>> 7) & 1; 1442 } 1443 1444 public pure nothrow @property @safe bool mouthOpen(bool value) { 1445 if(value) horseFlags = cast(byte)(_horseFlags.value | (cast(byte)true << 7)); 1446 else horseFlags = cast(byte)(_horseFlags.value & ~(cast(byte)true << 7)); 1447 return value; 1448 } 1449 1450 public pure nothrow @property @safe @nogc sul.protocol.minecraft315.types.OptionalUuid ownerUuid() { 1451 return _ownerUuid.value; 1452 } 1453 1454 public pure nothrow @property @safe sul.protocol.minecraft315.types.OptionalUuid ownerUuid(sul.protocol.minecraft315.types.OptionalUuid value) { 1455 this._cached = false; 1456 this._ownerUuid.value = value; 1457 if(!this._ownerUuid.changed) { 1458 this._ownerUuid.changed = true; 1459 this._changed ~= &this.encodeOwnerUuid; 1460 } 1461 return value; 1462 } 1463 1464 public pure nothrow @safe encodeOwnerUuid(Buffer buffer) { 1465 with(buffer) { 1466 writeBigEndianUbyte(14); 1467 writeBigEndianUbyte(11); 1468 this._ownerUuid.value.encode(bufferInstance); 1469 } 1470 } 1471 1472 public pure nothrow @property @safe @nogc uint horseVariant() { 1473 return _horseVariant.value; 1474 } 1475 1476 public pure nothrow @property @safe uint horseVariant(uint value) { 1477 this._cached = false; 1478 this._horseVariant.value = value; 1479 if(!this._horseVariant.changed) { 1480 this._horseVariant.changed = true; 1481 this._changed ~= &this.encodeHorseVariant; 1482 } 1483 return value; 1484 } 1485 1486 public pure nothrow @safe encodeHorseVariant(Buffer buffer) { 1487 with(buffer) { 1488 writeBigEndianUbyte(15); 1489 writeBigEndianUbyte(1); 1490 writeBytes(varuint.encode(this._horseVariant.value)); 1491 } 1492 } 1493 1494 public pure nothrow @property @safe @nogc uint horseArmor() { 1495 return _horseArmor.value; 1496 } 1497 1498 public pure nothrow @property @safe uint horseArmor(uint value) { 1499 this._cached = false; 1500 this._horseArmor.value = value; 1501 if(!this._horseArmor.changed) { 1502 this._horseArmor.changed = true; 1503 this._changed ~= &this.encodeHorseArmor; 1504 } 1505 return value; 1506 } 1507 1508 public pure nothrow @safe encodeHorseArmor(Buffer buffer) { 1509 with(buffer) { 1510 writeBigEndianUbyte(16); 1511 writeBigEndianUbyte(1); 1512 writeBytes(varuint.encode(this._horseArmor.value)); 1513 } 1514 } 1515 1516 public pure nothrow @property @safe @nogc bool chested() { 1517 return _chested.value; 1518 } 1519 1520 public pure nothrow @property @safe bool chested(bool value) { 1521 this._cached = false; 1522 this._chested.value = value; 1523 if(!this._chested.changed) { 1524 this._chested.changed = true; 1525 this._changed ~= &this.encodeChested; 1526 } 1527 return value; 1528 } 1529 1530 public pure nothrow @safe encodeChested(Buffer buffer) { 1531 with(buffer) { 1532 writeBigEndianUbyte(15); 1533 writeBigEndianUbyte(6); 1534 writeBigEndianBool(this._chested.value); 1535 } 1536 } 1537 1538 public pure nothrow @property @safe @nogc uint llamaStrength() { 1539 return _llamaStrength.value; 1540 } 1541 1542 public pure nothrow @property @safe uint llamaStrength(uint value) { 1543 this._cached = false; 1544 this._llamaStrength.value = value; 1545 if(!this._llamaStrength.changed) { 1546 this._llamaStrength.changed = true; 1547 this._changed ~= &this.encodeLlamaStrength; 1548 } 1549 return value; 1550 } 1551 1552 public pure nothrow @safe encodeLlamaStrength(Buffer buffer) { 1553 with(buffer) { 1554 writeBigEndianUbyte(16); 1555 writeBigEndianUbyte(1); 1556 writeBytes(varuint.encode(this._llamaStrength.value)); 1557 } 1558 } 1559 1560 public pure nothrow @property @safe @nogc uint carpetColor() { 1561 return _carpetColor.value; 1562 } 1563 1564 public pure nothrow @property @safe uint carpetColor(uint value) { 1565 this._cached = false; 1566 this._carpetColor.value = value; 1567 if(!this._carpetColor.changed) { 1568 this._carpetColor.changed = true; 1569 this._changed ~= &this.encodeCarpetColor; 1570 } 1571 return value; 1572 } 1573 1574 public pure nothrow @safe encodeCarpetColor(Buffer buffer) { 1575 with(buffer) { 1576 writeBigEndianUbyte(17); 1577 writeBigEndianUbyte(1); 1578 writeBytes(varuint.encode(this._carpetColor.value)); 1579 } 1580 } 1581 1582 public pure nothrow @property @safe @nogc uint llamaVariant() { 1583 return _llamaVariant.value; 1584 } 1585 1586 public pure nothrow @property @safe uint llamaVariant(uint value) { 1587 this._cached = false; 1588 this._llamaVariant.value = value; 1589 if(!this._llamaVariant.changed) { 1590 this._llamaVariant.changed = true; 1591 this._changed ~= &this.encodeLlamaVariant; 1592 } 1593 return value; 1594 } 1595 1596 public pure nothrow @safe encodeLlamaVariant(Buffer buffer) { 1597 with(buffer) { 1598 writeBigEndianUbyte(18); 1599 writeBigEndianUbyte(1); 1600 writeBytes(varuint.encode(this._llamaVariant.value)); 1601 } 1602 } 1603 1604 public pure nothrow @property @safe @nogc bool pigSaddled() { 1605 return _pigSaddled.value; 1606 } 1607 1608 public pure nothrow @property @safe bool pigSaddled(bool value) { 1609 this._cached = false; 1610 this._pigSaddled.value = value; 1611 if(!this._pigSaddled.changed) { 1612 this._pigSaddled.changed = true; 1613 this._changed ~= &this.encodePigSaddled; 1614 } 1615 return value; 1616 } 1617 1618 public pure nothrow @safe encodePigSaddled(Buffer buffer) { 1619 with(buffer) { 1620 writeBigEndianUbyte(13); 1621 writeBigEndianUbyte(6); 1622 writeBigEndianBool(this._pigSaddled.value); 1623 } 1624 } 1625 1626 public pure nothrow @property @safe @nogc uint rabbitVariant() { 1627 return _rabbitVariant.value; 1628 } 1629 1630 public pure nothrow @property @safe uint rabbitVariant(uint value) { 1631 this._cached = false; 1632 this._rabbitVariant.value = value; 1633 if(!this._rabbitVariant.changed) { 1634 this._rabbitVariant.changed = true; 1635 this._changed ~= &this.encodeRabbitVariant; 1636 } 1637 return value; 1638 } 1639 1640 public pure nothrow @safe encodeRabbitVariant(Buffer buffer) { 1641 with(buffer) { 1642 writeBigEndianUbyte(13); 1643 writeBigEndianUbyte(1); 1644 writeBytes(varuint.encode(this._rabbitVariant.value)); 1645 } 1646 } 1647 1648 public pure nothrow @property @safe @nogc bool standingUp() { 1649 return _standingUp.value; 1650 } 1651 1652 public pure nothrow @property @safe bool standingUp(bool value) { 1653 this._cached = false; 1654 this._standingUp.value = value; 1655 if(!this._standingUp.changed) { 1656 this._standingUp.changed = true; 1657 this._changed ~= &this.encodeStandingUp; 1658 } 1659 return value; 1660 } 1661 1662 public pure nothrow @safe encodeStandingUp(Buffer buffer) { 1663 with(buffer) { 1664 writeBigEndianUbyte(13); 1665 writeBigEndianUbyte(6); 1666 writeBigEndianBool(this._standingUp.value); 1667 } 1668 } 1669 1670 public pure nothrow @property @safe @nogc byte sheepFlagsAndColor() { 1671 return _sheepFlagsAndColor.value; 1672 } 1673 1674 public pure nothrow @property @safe byte sheepFlagsAndColor(byte value) { 1675 this._cached = false; 1676 this._sheepFlagsAndColor.value = value; 1677 if(!this._sheepFlagsAndColor.changed) { 1678 this._sheepFlagsAndColor.changed = true; 1679 this._changed ~= &this.encodeSheepFlagsAndColor; 1680 } 1681 return value; 1682 } 1683 1684 public pure nothrow @safe encodeSheepFlagsAndColor(Buffer buffer) { 1685 with(buffer) { 1686 writeBigEndianUbyte(13); 1687 writeBigEndianUbyte(0); 1688 writeBigEndianByte(this._sheepFlagsAndColor.value); 1689 } 1690 } 1691 1692 public pure nothrow @property @safe bool sheared() { 1693 return (_sheepFlagsAndColor.value >>> 7) & 1; 1694 } 1695 1696 public pure nothrow @property @safe bool sheared(bool value) { 1697 if(value) sheepFlagsAndColor = cast(byte)(_sheepFlagsAndColor.value | (cast(byte)true << 7)); 1698 else sheepFlagsAndColor = cast(byte)(_sheepFlagsAndColor.value & ~(cast(byte)true << 7)); 1699 return value; 1700 } 1701 1702 public pure nothrow @property @safe @nogc byte tameableFlags() { 1703 return _tameableFlags.value; 1704 } 1705 1706 public pure nothrow @property @safe byte tameableFlags(byte value) { 1707 this._cached = false; 1708 this._tameableFlags.value = value; 1709 if(!this._tameableFlags.changed) { 1710 this._tameableFlags.changed = true; 1711 this._changed ~= &this.encodeTameableFlags; 1712 } 1713 return value; 1714 } 1715 1716 public pure nothrow @safe encodeTameableFlags(Buffer buffer) { 1717 with(buffer) { 1718 writeBigEndianUbyte(13); 1719 writeBigEndianUbyte(0); 1720 writeBigEndianByte(this._tameableFlags.value); 1721 } 1722 } 1723 1724 public pure nothrow @property @safe bool sitting() { 1725 return (_tameableFlags.value >>> 0) & 1; 1726 } 1727 1728 public pure nothrow @property @safe bool sitting(bool value) { 1729 if(value) tameableFlags = cast(byte)(_tameableFlags.value | (cast(byte)true << 0)); 1730 else tameableFlags = cast(byte)(_tameableFlags.value & ~(cast(byte)true << 0)); 1731 return value; 1732 } 1733 1734 public pure nothrow @property @safe bool angry() { 1735 return (_tameableFlags.value >>> 1) & 1; 1736 } 1737 1738 public pure nothrow @property @safe bool angry(bool value) { 1739 if(value) tameableFlags = cast(byte)(_tameableFlags.value | (cast(byte)true << 1)); 1740 else tameableFlags = cast(byte)(_tameableFlags.value & ~(cast(byte)true << 1)); 1741 return value; 1742 } 1743 1744 public pure nothrow @property @safe bool tamed() { 1745 return (_tameableFlags.value >>> 2) & 1; 1746 } 1747 1748 public pure nothrow @property @safe bool tamed(bool value) { 1749 if(value) tameableFlags = cast(byte)(_tameableFlags.value | (cast(byte)true << 2)); 1750 else tameableFlags = cast(byte)(_tameableFlags.value & ~(cast(byte)true << 2)); 1751 return value; 1752 } 1753 1754 public pure nothrow @property @safe @nogc uint ocelotVariant() { 1755 return _ocelotVariant.value; 1756 } 1757 1758 public pure nothrow @property @safe uint ocelotVariant(uint value) { 1759 this._cached = false; 1760 this._ocelotVariant.value = value; 1761 if(!this._ocelotVariant.changed) { 1762 this._ocelotVariant.changed = true; 1763 this._changed ~= &this.encodeOcelotVariant; 1764 } 1765 return value; 1766 } 1767 1768 public pure nothrow @safe encodeOcelotVariant(Buffer buffer) { 1769 with(buffer) { 1770 writeBigEndianUbyte(15); 1771 writeBigEndianUbyte(1); 1772 writeBytes(varuint.encode(this._ocelotVariant.value)); 1773 } 1774 } 1775 1776 public pure nothrow @property @safe @nogc float wolfHealth() { 1777 return _wolfHealth.value; 1778 } 1779 1780 public pure nothrow @property @safe float wolfHealth(float value) { 1781 this._cached = false; 1782 this._wolfHealth.value = value; 1783 if(!this._wolfHealth.changed) { 1784 this._wolfHealth.changed = true; 1785 this._changed ~= &this.encodeWolfHealth; 1786 } 1787 return value; 1788 } 1789 1790 public pure nothrow @safe encodeWolfHealth(Buffer buffer) { 1791 with(buffer) { 1792 writeBigEndianUbyte(15); 1793 writeBigEndianUbyte(2); 1794 writeBigEndianFloat(this._wolfHealth.value); 1795 } 1796 } 1797 1798 public pure nothrow @property @safe @nogc bool begging() { 1799 return _begging.value; 1800 } 1801 1802 public pure nothrow @property @safe bool begging(bool value) { 1803 this._cached = false; 1804 this._begging.value = value; 1805 if(!this._begging.changed) { 1806 this._begging.changed = true; 1807 this._changed ~= &this.encodeBegging; 1808 } 1809 return value; 1810 } 1811 1812 public pure nothrow @safe encodeBegging(Buffer buffer) { 1813 with(buffer) { 1814 writeBigEndianUbyte(16); 1815 writeBigEndianUbyte(6); 1816 writeBigEndianBool(this._begging.value); 1817 } 1818 } 1819 1820 public pure nothrow @property @safe @nogc uint collarColor() { 1821 return _collarColor.value; 1822 } 1823 1824 public pure nothrow @property @safe uint collarColor(uint value) { 1825 this._cached = false; 1826 this._collarColor.value = value; 1827 if(!this._collarColor.changed) { 1828 this._collarColor.changed = true; 1829 this._changed ~= &this.encodeCollarColor; 1830 } 1831 return value; 1832 } 1833 1834 public pure nothrow @safe encodeCollarColor(Buffer buffer) { 1835 with(buffer) { 1836 writeBigEndianUbyte(17); 1837 writeBigEndianUbyte(1); 1838 writeBytes(varuint.encode(this._collarColor.value)); 1839 } 1840 } 1841 1842 public pure nothrow @property @safe @nogc uint profession() { 1843 return _profession.value; 1844 } 1845 1846 public pure nothrow @property @safe uint profession(uint value) { 1847 this._cached = false; 1848 this._profession.value = value; 1849 if(!this._profession.changed) { 1850 this._profession.changed = true; 1851 this._changed ~= &this.encodeProfession; 1852 } 1853 return value; 1854 } 1855 1856 public pure nothrow @safe encodeProfession(Buffer buffer) { 1857 with(buffer) { 1858 writeBigEndianUbyte(13); 1859 writeBigEndianUbyte(1); 1860 writeBytes(varuint.encode(this._profession.value)); 1861 } 1862 } 1863 1864 public pure nothrow @property @safe @nogc byte createdByPlayer() { 1865 return _createdByPlayer.value; 1866 } 1867 1868 public pure nothrow @property @safe byte createdByPlayer(byte value) { 1869 this._cached = false; 1870 this._createdByPlayer.value = value; 1871 if(!this._createdByPlayer.changed) { 1872 this._createdByPlayer.changed = true; 1873 this._changed ~= &this.encodeCreatedByPlayer; 1874 } 1875 return value; 1876 } 1877 1878 public pure nothrow @safe encodeCreatedByPlayer(Buffer buffer) { 1879 with(buffer) { 1880 writeBigEndianUbyte(12); 1881 writeBigEndianUbyte(0); 1882 writeBigEndianByte(this._createdByPlayer.value); 1883 } 1884 } 1885 1886 public pure nothrow @property @safe @nogc byte snowmanFlags() { 1887 return _snowmanFlags.value; 1888 } 1889 1890 public pure nothrow @property @safe byte snowmanFlags(byte value) { 1891 this._cached = false; 1892 this._snowmanFlags.value = value; 1893 if(!this._snowmanFlags.changed) { 1894 this._snowmanFlags.changed = true; 1895 this._changed ~= &this.encodeSnowmanFlags; 1896 } 1897 return value; 1898 } 1899 1900 public pure nothrow @safe encodeSnowmanFlags(Buffer buffer) { 1901 with(buffer) { 1902 writeBigEndianUbyte(12); 1903 writeBigEndianUbyte(0); 1904 writeBigEndianByte(this._snowmanFlags.value); 1905 } 1906 } 1907 1908 public pure nothrow @property @safe bool pumpkinless() { 1909 return (_snowmanFlags.value >>> 4) & 1; 1910 } 1911 1912 public pure nothrow @property @safe bool pumpkinless(bool value) { 1913 if(value) snowmanFlags = cast(byte)(_snowmanFlags.value | (cast(byte)true << 4)); 1914 else snowmanFlags = cast(byte)(_snowmanFlags.value & ~(cast(byte)true << 4)); 1915 return value; 1916 } 1917 1918 public pure nothrow @property @safe @nogc uint shulkerDirection() { 1919 return _shulkerDirection.value; 1920 } 1921 1922 public pure nothrow @property @safe uint shulkerDirection(uint value) { 1923 this._cached = false; 1924 this._shulkerDirection.value = value; 1925 if(!this._shulkerDirection.changed) { 1926 this._shulkerDirection.changed = true; 1927 this._changed ~= &this.encodeShulkerDirection; 1928 } 1929 return value; 1930 } 1931 1932 public pure nothrow @safe encodeShulkerDirection(Buffer buffer) { 1933 with(buffer) { 1934 writeBigEndianUbyte(12); 1935 writeBigEndianUbyte(10); 1936 writeBytes(varuint.encode(this._shulkerDirection.value)); 1937 } 1938 } 1939 1940 public pure nothrow @property @safe @nogc sul.protocol.minecraft315.types.OptionalPosition shulkerAttachment() { 1941 return _shulkerAttachment.value; 1942 } 1943 1944 public pure nothrow @property @safe sul.protocol.minecraft315.types.OptionalPosition shulkerAttachment(sul.protocol.minecraft315.types.OptionalPosition value) { 1945 this._cached = false; 1946 this._shulkerAttachment.value = value; 1947 if(!this._shulkerAttachment.changed) { 1948 this._shulkerAttachment.changed = true; 1949 this._changed ~= &this.encodeShulkerAttachment; 1950 } 1951 return value; 1952 } 1953 1954 public pure nothrow @safe encodeShulkerAttachment(Buffer buffer) { 1955 with(buffer) { 1956 writeBigEndianUbyte(13); 1957 writeBigEndianUbyte(9); 1958 this._shulkerAttachment.value.encode(bufferInstance); 1959 } 1960 } 1961 1962 public pure nothrow @property @safe @nogc byte shulkerShieldHeight() { 1963 return _shulkerShieldHeight.value; 1964 } 1965 1966 public pure nothrow @property @safe byte shulkerShieldHeight(byte value) { 1967 this._cached = false; 1968 this._shulkerShieldHeight.value = value; 1969 if(!this._shulkerShieldHeight.changed) { 1970 this._shulkerShieldHeight.changed = true; 1971 this._changed ~= &this.encodeShulkerShieldHeight; 1972 } 1973 return value; 1974 } 1975 1976 public pure nothrow @safe encodeShulkerShieldHeight(Buffer buffer) { 1977 with(buffer) { 1978 writeBigEndianUbyte(14); 1979 writeBigEndianUbyte(0); 1980 writeBigEndianByte(this._shulkerShieldHeight.value); 1981 } 1982 } 1983 1984 public pure nothrow @property @safe @nogc byte shulkerColor() { 1985 return _shulkerColor.value; 1986 } 1987 1988 public pure nothrow @property @safe byte shulkerColor(byte value) { 1989 this._cached = false; 1990 this._shulkerColor.value = value; 1991 if(!this._shulkerColor.changed) { 1992 this._shulkerColor.changed = true; 1993 this._changed ~= &this.encodeShulkerColor; 1994 } 1995 return value; 1996 } 1997 1998 public pure nothrow @safe encodeShulkerColor(Buffer buffer) { 1999 with(buffer) { 2000 writeBigEndianUbyte(15); 2001 writeBigEndianUbyte(0); 2002 writeBigEndianByte(this._shulkerColor.value); 2003 } 2004 } 2005 2006 public pure nothrow @property @safe @nogc byte blazeOnFire() { 2007 return _blazeOnFire.value; 2008 } 2009 2010 public pure nothrow @property @safe byte blazeOnFire(byte value) { 2011 this._cached = false; 2012 this._blazeOnFire.value = value; 2013 if(!this._blazeOnFire.changed) { 2014 this._blazeOnFire.changed = true; 2015 this._changed ~= &this.encodeBlazeOnFire; 2016 } 2017 return value; 2018 } 2019 2020 public pure nothrow @safe encodeBlazeOnFire(Buffer buffer) { 2021 with(buffer) { 2022 writeBigEndianUbyte(12); 2023 writeBigEndianUbyte(0); 2024 writeBigEndianByte(this._blazeOnFire.value); 2025 } 2026 } 2027 2028 public pure nothrow @property @safe @nogc uint creeperState() { 2029 return _creeperState.value; 2030 } 2031 2032 public pure nothrow @property @safe uint creeperState(uint value) { 2033 this._cached = false; 2034 this._creeperState.value = value; 2035 if(!this._creeperState.changed) { 2036 this._creeperState.changed = true; 2037 this._changed ~= &this.encodeCreeperState; 2038 } 2039 return value; 2040 } 2041 2042 public pure nothrow @safe encodeCreeperState(Buffer buffer) { 2043 with(buffer) { 2044 writeBigEndianUbyte(12); 2045 writeBigEndianUbyte(1); 2046 writeBytes(varuint.encode(this._creeperState.value)); 2047 } 2048 } 2049 2050 public pure nothrow @property @safe @nogc bool charged() { 2051 return _charged.value; 2052 } 2053 2054 public pure nothrow @property @safe bool charged(bool value) { 2055 this._cached = false; 2056 this._charged.value = value; 2057 if(!this._charged.changed) { 2058 this._charged.changed = true; 2059 this._changed ~= &this.encodeCharged; 2060 } 2061 return value; 2062 } 2063 2064 public pure nothrow @safe encodeCharged(Buffer buffer) { 2065 with(buffer) { 2066 writeBigEndianUbyte(13); 2067 writeBigEndianUbyte(6); 2068 writeBigEndianBool(this._charged.value); 2069 } 2070 } 2071 2072 public pure nothrow @property @safe @nogc bool ignited() { 2073 return _ignited.value; 2074 } 2075 2076 public pure nothrow @property @safe bool ignited(bool value) { 2077 this._cached = false; 2078 this._ignited.value = value; 2079 if(!this._ignited.changed) { 2080 this._ignited.changed = true; 2081 this._changed ~= &this.encodeIgnited; 2082 } 2083 return value; 2084 } 2085 2086 public pure nothrow @safe encodeIgnited(Buffer buffer) { 2087 with(buffer) { 2088 writeBigEndianUbyte(14); 2089 writeBigEndianUbyte(6); 2090 writeBigEndianBool(this._ignited.value); 2091 } 2092 } 2093 2094 public pure nothrow @property @safe @nogc bool rectractingSpikes() { 2095 return _rectractingSpikes.value; 2096 } 2097 2098 public pure nothrow @property @safe bool rectractingSpikes(bool value) { 2099 this._cached = false; 2100 this._rectractingSpikes.value = value; 2101 if(!this._rectractingSpikes.changed) { 2102 this._rectractingSpikes.changed = true; 2103 this._changed ~= &this.encodeRectractingSpikes; 2104 } 2105 return value; 2106 } 2107 2108 public pure nothrow @safe encodeRectractingSpikes(Buffer buffer) { 2109 with(buffer) { 2110 writeBigEndianUbyte(12); 2111 writeBigEndianUbyte(6); 2112 writeBigEndianBool(this._rectractingSpikes.value); 2113 } 2114 } 2115 2116 public pure nothrow @property @safe @nogc uint guardianTarget() { 2117 return _guardianTarget.value; 2118 } 2119 2120 public pure nothrow @property @safe uint guardianTarget(uint value) { 2121 this._cached = false; 2122 this._guardianTarget.value = value; 2123 if(!this._guardianTarget.changed) { 2124 this._guardianTarget.changed = true; 2125 this._changed ~= &this.encodeGuardianTarget; 2126 } 2127 return value; 2128 } 2129 2130 public pure nothrow @safe encodeGuardianTarget(Buffer buffer) { 2131 with(buffer) { 2132 writeBigEndianUbyte(13); 2133 writeBigEndianUbyte(1); 2134 writeBytes(varuint.encode(this._guardianTarget.value)); 2135 } 2136 } 2137 2138 public pure nothrow @property @safe @nogc byte spell() { 2139 return _spell.value; 2140 } 2141 2142 public pure nothrow @property @safe byte spell(byte value) { 2143 this._cached = false; 2144 this._spell.value = value; 2145 if(!this._spell.changed) { 2146 this._spell.changed = true; 2147 this._changed ~= &this.encodeSpell; 2148 } 2149 return value; 2150 } 2151 2152 public pure nothrow @safe encodeSpell(Buffer buffer) { 2153 with(buffer) { 2154 writeBigEndianUbyte(12); 2155 writeBigEndianUbyte(0); 2156 writeBigEndianByte(this._spell.value); 2157 } 2158 } 2159 2160 public pure nothrow @property @safe @nogc byte attackMode() { 2161 return _attackMode.value; 2162 } 2163 2164 public pure nothrow @property @safe byte attackMode(byte value) { 2165 this._cached = false; 2166 this._attackMode.value = value; 2167 if(!this._attackMode.changed) { 2168 this._attackMode.changed = true; 2169 this._changed ~= &this.encodeAttackMode; 2170 } 2171 return value; 2172 } 2173 2174 public pure nothrow @safe encodeAttackMode(Buffer buffer) { 2175 with(buffer) { 2176 writeBigEndianUbyte(12); 2177 writeBigEndianUbyte(0); 2178 writeBigEndianByte(this._attackMode.value); 2179 } 2180 } 2181 2182 public pure nothrow @property @safe @nogc bool swingingArms() { 2183 return _swingingArms.value; 2184 } 2185 2186 public pure nothrow @property @safe bool swingingArms(bool value) { 2187 this._cached = false; 2188 this._swingingArms.value = value; 2189 if(!this._swingingArms.changed) { 2190 this._swingingArms.changed = true; 2191 this._changed ~= &this.encodeSwingingArms; 2192 } 2193 return value; 2194 } 2195 2196 public pure nothrow @safe encodeSwingingArms(Buffer buffer) { 2197 with(buffer) { 2198 writeBigEndianUbyte(12); 2199 writeBigEndianUbyte(6); 2200 writeBigEndianBool(this._swingingArms.value); 2201 } 2202 } 2203 2204 public pure nothrow @property @safe @nogc byte climbing() { 2205 return _climbing.value; 2206 } 2207 2208 public pure nothrow @property @safe byte climbing(byte value) { 2209 this._cached = false; 2210 this._climbing.value = value; 2211 if(!this._climbing.changed) { 2212 this._climbing.changed = true; 2213 this._changed ~= &this.encodeClimbing; 2214 } 2215 return value; 2216 } 2217 2218 public pure nothrow @safe encodeClimbing(Buffer buffer) { 2219 with(buffer) { 2220 writeBigEndianUbyte(12); 2221 writeBigEndianUbyte(0); 2222 writeBigEndianByte(this._climbing.value); 2223 } 2224 } 2225 2226 public pure nothrow @property @safe @nogc uint centerHeadTarget() { 2227 return _centerHeadTarget.value; 2228 } 2229 2230 public pure nothrow @property @safe uint centerHeadTarget(uint value) { 2231 this._cached = false; 2232 this._centerHeadTarget.value = value; 2233 if(!this._centerHeadTarget.changed) { 2234 this._centerHeadTarget.changed = true; 2235 this._changed ~= &this.encodeCenterHeadTarget; 2236 } 2237 return value; 2238 } 2239 2240 public pure nothrow @safe encodeCenterHeadTarget(Buffer buffer) { 2241 with(buffer) { 2242 writeBigEndianUbyte(12); 2243 writeBigEndianUbyte(1); 2244 writeBytes(varuint.encode(this._centerHeadTarget.value)); 2245 } 2246 } 2247 2248 public pure nothrow @property @safe @nogc uint leftHeadTarget() { 2249 return _leftHeadTarget.value; 2250 } 2251 2252 public pure nothrow @property @safe uint leftHeadTarget(uint value) { 2253 this._cached = false; 2254 this._leftHeadTarget.value = value; 2255 if(!this._leftHeadTarget.changed) { 2256 this._leftHeadTarget.changed = true; 2257 this._changed ~= &this.encodeLeftHeadTarget; 2258 } 2259 return value; 2260 } 2261 2262 public pure nothrow @safe encodeLeftHeadTarget(Buffer buffer) { 2263 with(buffer) { 2264 writeBigEndianUbyte(13); 2265 writeBigEndianUbyte(1); 2266 writeBytes(varuint.encode(this._leftHeadTarget.value)); 2267 } 2268 } 2269 2270 public pure nothrow @property @safe @nogc uint rightHeadTarget() { 2271 return _rightHeadTarget.value; 2272 } 2273 2274 public pure nothrow @property @safe uint rightHeadTarget(uint value) { 2275 this._cached = false; 2276 this._rightHeadTarget.value = value; 2277 if(!this._rightHeadTarget.changed) { 2278 this._rightHeadTarget.changed = true; 2279 this._changed ~= &this.encodeRightHeadTarget; 2280 } 2281 return value; 2282 } 2283 2284 public pure nothrow @safe encodeRightHeadTarget(Buffer buffer) { 2285 with(buffer) { 2286 writeBigEndianUbyte(14); 2287 writeBigEndianUbyte(1); 2288 writeBytes(varuint.encode(this._rightHeadTarget.value)); 2289 } 2290 } 2291 2292 public pure nothrow @property @safe @nogc uint invulnerableTime() { 2293 return _invulnerableTime.value; 2294 } 2295 2296 public pure nothrow @property @safe uint invulnerableTime(uint value) { 2297 this._cached = false; 2298 this._invulnerableTime.value = value; 2299 if(!this._invulnerableTime.changed) { 2300 this._invulnerableTime.changed = true; 2301 this._changed ~= &this.encodeInvulnerableTime; 2302 } 2303 return value; 2304 } 2305 2306 public pure nothrow @safe encodeInvulnerableTime(Buffer buffer) { 2307 with(buffer) { 2308 writeBigEndianUbyte(15); 2309 writeBigEndianUbyte(1); 2310 writeBytes(varuint.encode(this._invulnerableTime.value)); 2311 } 2312 } 2313 2314 public pure nothrow @property @safe @nogc bool handsHeldUp() { 2315 return _handsHeldUp.value; 2316 } 2317 2318 public pure nothrow @property @safe bool handsHeldUp(bool value) { 2319 this._cached = false; 2320 this._handsHeldUp.value = value; 2321 if(!this._handsHeldUp.changed) { 2322 this._handsHeldUp.changed = true; 2323 this._changed ~= &this.encodeHandsHeldUp; 2324 } 2325 return value; 2326 } 2327 2328 public pure nothrow @safe encodeHandsHeldUp(Buffer buffer) { 2329 with(buffer) { 2330 writeBigEndianUbyte(14); 2331 writeBigEndianUbyte(6); 2332 writeBigEndianBool(this._handsHeldUp.value); 2333 } 2334 } 2335 2336 public pure nothrow @property @safe @nogc bool converting() { 2337 return _converting.value; 2338 } 2339 2340 public pure nothrow @property @safe bool converting(bool value) { 2341 this._cached = false; 2342 this._converting.value = value; 2343 if(!this._converting.changed) { 2344 this._converting.changed = true; 2345 this._changed ~= &this.encodeConverting; 2346 } 2347 return value; 2348 } 2349 2350 public pure nothrow @safe encodeConverting(Buffer buffer) { 2351 with(buffer) { 2352 writeBigEndianUbyte(15); 2353 writeBigEndianUbyte(6); 2354 writeBigEndianBool(this._converting.value); 2355 } 2356 } 2357 2358 public pure nothrow @property @safe @nogc uint zombieVillagerProfession() { 2359 return _zombieVillagerProfession.value; 2360 } 2361 2362 public pure nothrow @property @safe uint zombieVillagerProfession(uint value) { 2363 this._cached = false; 2364 this._zombieVillagerProfession.value = value; 2365 if(!this._zombieVillagerProfession.changed) { 2366 this._zombieVillagerProfession.changed = true; 2367 this._changed ~= &this.encodeZombieVillagerProfession; 2368 } 2369 return value; 2370 } 2371 2372 public pure nothrow @safe encodeZombieVillagerProfession(Buffer buffer) { 2373 with(buffer) { 2374 writeBigEndianUbyte(16); 2375 writeBigEndianUbyte(1); 2376 writeBytes(varuint.encode(this._zombieVillagerProfession.value)); 2377 } 2378 } 2379 2380 public pure nothrow @property @safe @nogc uint carriedBlock() { 2381 return _carriedBlock.value; 2382 } 2383 2384 public pure nothrow @property @safe uint carriedBlock(uint value) { 2385 this._cached = false; 2386 this._carriedBlock.value = value; 2387 if(!this._carriedBlock.changed) { 2388 this._carriedBlock.changed = true; 2389 this._changed ~= &this.encodeCarriedBlock; 2390 } 2391 return value; 2392 } 2393 2394 public pure nothrow @safe encodeCarriedBlock(Buffer buffer) { 2395 with(buffer) { 2396 writeBigEndianUbyte(12); 2397 writeBigEndianUbyte(12); 2398 writeBytes(varuint.encode(this._carriedBlock.value)); 2399 } 2400 } 2401 2402 public pure nothrow @property @safe @nogc bool screaming() { 2403 return _screaming.value; 2404 } 2405 2406 public pure nothrow @property @safe bool screaming(bool value) { 2407 this._cached = false; 2408 this._screaming.value = value; 2409 if(!this._screaming.changed) { 2410 this._screaming.changed = true; 2411 this._changed ~= &this.encodeScreaming; 2412 } 2413 return value; 2414 } 2415 2416 public pure nothrow @safe encodeScreaming(Buffer buffer) { 2417 with(buffer) { 2418 writeBigEndianUbyte(13); 2419 writeBigEndianUbyte(6); 2420 writeBigEndianBool(this._screaming.value); 2421 } 2422 } 2423 2424 public pure nothrow @property @safe @nogc uint dragonPhase() { 2425 return _dragonPhase.value; 2426 } 2427 2428 public pure nothrow @property @safe uint dragonPhase(uint value) { 2429 this._cached = false; 2430 this._dragonPhase.value = value; 2431 if(!this._dragonPhase.changed) { 2432 this._dragonPhase.changed = true; 2433 this._changed ~= &this.encodeDragonPhase; 2434 } 2435 return value; 2436 } 2437 2438 public pure nothrow @safe encodeDragonPhase(Buffer buffer) { 2439 with(buffer) { 2440 writeBigEndianUbyte(12); 2441 writeBigEndianUbyte(1); 2442 writeBytes(varuint.encode(this._dragonPhase.value)); 2443 } 2444 } 2445 2446 public pure nothrow @property @safe @nogc bool ghastAttacking() { 2447 return _ghastAttacking.value; 2448 } 2449 2450 public pure nothrow @property @safe bool ghastAttacking(bool value) { 2451 this._cached = false; 2452 this._ghastAttacking.value = value; 2453 if(!this._ghastAttacking.changed) { 2454 this._ghastAttacking.changed = true; 2455 this._changed ~= &this.encodeGhastAttacking; 2456 } 2457 return value; 2458 } 2459 2460 public pure nothrow @safe encodeGhastAttacking(Buffer buffer) { 2461 with(buffer) { 2462 writeBigEndianUbyte(12); 2463 writeBigEndianUbyte(6); 2464 writeBigEndianBool(this._ghastAttacking.value); 2465 } 2466 } 2467 2468 public pure nothrow @property @safe @nogc uint slimeSize() { 2469 return _slimeSize.value; 2470 } 2471 2472 public pure nothrow @property @safe uint slimeSize(uint value) { 2473 this._cached = false; 2474 this._slimeSize.value = value; 2475 if(!this._slimeSize.changed) { 2476 this._slimeSize.changed = true; 2477 this._changed ~= &this.encodeSlimeSize; 2478 } 2479 return value; 2480 } 2481 2482 public pure nothrow @safe encodeSlimeSize(Buffer buffer) { 2483 with(buffer) { 2484 writeBigEndianUbyte(12); 2485 writeBigEndianUbyte(1); 2486 writeBytes(varuint.encode(this._slimeSize.value)); 2487 } 2488 } 2489 2490 public pure nothrow @property @safe @nogc uint shakingPower() { 2491 return _shakingPower.value; 2492 } 2493 2494 public pure nothrow @property @safe uint shakingPower(uint value) { 2495 this._cached = false; 2496 this._shakingPower.value = value; 2497 if(!this._shakingPower.changed) { 2498 this._shakingPower.changed = true; 2499 this._changed ~= &this.encodeShakingPower; 2500 } 2501 return value; 2502 } 2503 2504 public pure nothrow @safe encodeShakingPower(Buffer buffer) { 2505 with(buffer) { 2506 writeBigEndianUbyte(6); 2507 writeBigEndianUbyte(1); 2508 writeBytes(varuint.encode(this._shakingPower.value)); 2509 } 2510 } 2511 2512 public pure nothrow @property @safe @nogc uint shakingDirection() { 2513 return _shakingDirection.value; 2514 } 2515 2516 public pure nothrow @property @safe uint shakingDirection(uint value) { 2517 this._cached = false; 2518 this._shakingDirection.value = value; 2519 if(!this._shakingDirection.changed) { 2520 this._shakingDirection.changed = true; 2521 this._changed ~= &this.encodeShakingDirection; 2522 } 2523 return value; 2524 } 2525 2526 public pure nothrow @safe encodeShakingDirection(Buffer buffer) { 2527 with(buffer) { 2528 writeBigEndianUbyte(7); 2529 writeBigEndianUbyte(1); 2530 writeBytes(varuint.encode(this._shakingDirection.value)); 2531 } 2532 } 2533 2534 public pure nothrow @property @safe @nogc float shakingMultiplier() { 2535 return _shakingMultiplier.value; 2536 } 2537 2538 public pure nothrow @property @safe float shakingMultiplier(float value) { 2539 this._cached = false; 2540 this._shakingMultiplier.value = value; 2541 if(!this._shakingMultiplier.changed) { 2542 this._shakingMultiplier.changed = true; 2543 this._changed ~= &this.encodeShakingMultiplier; 2544 } 2545 return value; 2546 } 2547 2548 public pure nothrow @safe encodeShakingMultiplier(Buffer buffer) { 2549 with(buffer) { 2550 writeBigEndianUbyte(8); 2551 writeBigEndianUbyte(2); 2552 writeBigEndianFloat(this._shakingMultiplier.value); 2553 } 2554 } 2555 2556 public pure nothrow @property @safe @nogc uint minecartBlock() { 2557 return _minecartBlock.value; 2558 } 2559 2560 public pure nothrow @property @safe uint minecartBlock(uint value) { 2561 this._cached = false; 2562 this._minecartBlock.value = value; 2563 if(!this._minecartBlock.changed) { 2564 this._minecartBlock.changed = true; 2565 this._changed ~= &this.encodeMinecartBlock; 2566 } 2567 return value; 2568 } 2569 2570 public pure nothrow @safe encodeMinecartBlock(Buffer buffer) { 2571 with(buffer) { 2572 writeBigEndianUbyte(9); 2573 writeBigEndianUbyte(1); 2574 writeBytes(varuint.encode(this._minecartBlock.value)); 2575 } 2576 } 2577 2578 public pure nothrow @property @safe @nogc uint minecartBlockPosition() { 2579 return _minecartBlockPosition.value; 2580 } 2581 2582 public pure nothrow @property @safe uint minecartBlockPosition(uint value) { 2583 this._cached = false; 2584 this._minecartBlockPosition.value = value; 2585 if(!this._minecartBlockPosition.changed) { 2586 this._minecartBlockPosition.changed = true; 2587 this._changed ~= &this.encodeMinecartBlockPosition; 2588 } 2589 return value; 2590 } 2591 2592 public pure nothrow @safe encodeMinecartBlockPosition(Buffer buffer) { 2593 with(buffer) { 2594 writeBigEndianUbyte(10); 2595 writeBigEndianUbyte(1); 2596 writeBytes(varuint.encode(this._minecartBlockPosition.value)); 2597 } 2598 } 2599 2600 public pure nothrow @property @safe @nogc bool minecartCustomBlock() { 2601 return _minecartCustomBlock.value; 2602 } 2603 2604 public pure nothrow @property @safe bool minecartCustomBlock(bool value) { 2605 this._cached = false; 2606 this._minecartCustomBlock.value = value; 2607 if(!this._minecartCustomBlock.changed) { 2608 this._minecartCustomBlock.changed = true; 2609 this._changed ~= &this.encodeMinecartCustomBlock; 2610 } 2611 return value; 2612 } 2613 2614 public pure nothrow @safe encodeMinecartCustomBlock(Buffer buffer) { 2615 with(buffer) { 2616 writeBigEndianUbyte(11); 2617 writeBigEndianUbyte(6); 2618 writeBigEndianBool(this._minecartCustomBlock.value); 2619 } 2620 } 2621 2622 public pure nothrow @property @safe @nogc bool furnacePowered() { 2623 return _furnacePowered.value; 2624 } 2625 2626 public pure nothrow @property @safe bool furnacePowered(bool value) { 2627 this._cached = false; 2628 this._furnacePowered.value = value; 2629 if(!this._furnacePowered.changed) { 2630 this._furnacePowered.changed = true; 2631 this._changed ~= &this.encodeFurnacePowered; 2632 } 2633 return value; 2634 } 2635 2636 public pure nothrow @safe encodeFurnacePowered(Buffer buffer) { 2637 with(buffer) { 2638 writeBigEndianUbyte(12); 2639 writeBigEndianUbyte(6); 2640 writeBigEndianBool(this._furnacePowered.value); 2641 } 2642 } 2643 2644 public pure nothrow @property @safe @nogc string command() { 2645 return _command.value; 2646 } 2647 2648 public pure nothrow @property @safe string command(string value) { 2649 this._cached = false; 2650 this._command.value = value; 2651 if(!this._command.changed) { 2652 this._command.changed = true; 2653 this._changed ~= &this.encodeCommand; 2654 } 2655 return value; 2656 } 2657 2658 public pure nothrow @safe encodeCommand(Buffer buffer) { 2659 with(buffer) { 2660 writeBigEndianUbyte(12); 2661 writeBigEndianUbyte(3); 2662 writeBytes(varuint.encode(cast(uint)this._command.value.length)); writeString(this._command.value); 2663 } 2664 } 2665 2666 public pure nothrow @property @safe @nogc string lastOutput() { 2667 return _lastOutput.value; 2668 } 2669 2670 public pure nothrow @property @safe string lastOutput(string value) { 2671 this._cached = false; 2672 this._lastOutput.value = value; 2673 if(!this._lastOutput.changed) { 2674 this._lastOutput.changed = true; 2675 this._changed ~= &this.encodeLastOutput; 2676 } 2677 return value; 2678 } 2679 2680 public pure nothrow @safe encodeLastOutput(Buffer buffer) { 2681 with(buffer) { 2682 writeBigEndianUbyte(13); 2683 writeBigEndianUbyte(4); 2684 writeBytes(varuint.encode(cast(uint)this._lastOutput.value.length)); writeString(this._lastOutput.value); 2685 } 2686 } 2687 2688 public pure nothrow @property @safe @nogc uint fuseTime() { 2689 return _fuseTime.value; 2690 } 2691 2692 public pure nothrow @property @safe uint fuseTime(uint value) { 2693 this._cached = false; 2694 this._fuseTime.value = value; 2695 if(!this._fuseTime.changed) { 2696 this._fuseTime.changed = true; 2697 this._changed ~= &this.encodeFuseTime; 2698 } 2699 return value; 2700 } 2701 2702 public pure nothrow @safe encodeFuseTime(Buffer buffer) { 2703 with(buffer) { 2704 writeBigEndianUbyte(6); 2705 writeBigEndianUbyte(1); 2706 writeBytes(varuint.encode(this._fuseTime.value)); 2707 } 2708 } 2709 2710 public pure nothrow @safe encode(Buffer buffer) { 2711 with(buffer) { 2712 if(this._cached) { 2713 buffer.writeBytes(this._cache); 2714 } else { 2715 immutable start = buffer._buffer.length; 2716 foreach(del ; this._changed) del(buffer); 2717 writeBigEndianUbyte(255); 2718 this._cached = true; 2719 this._cache = buffer._buffer[start..$]; 2720 } 2721 } 2722 } 2723 2724 public static pure nothrow @safe Metadata decode(Buffer buffer) { 2725 return null; 2726 } 2727 2728 }