1 /* 2 * This file has been automatically generated by Soupply and released under the MIT license. 3 * Generated from java393 4 */ 5 module soupply.java393.metadata; 6 7 import xpacket; 8 9 import xserial.serial : EndianType, serializeLength, serializeNumber, deserializeLength, deserializeNumber; 10 11 import soupply.util; 12 13 static import soupply.java393.types; 14 15 class MetadataValue : PacketImpl!(Endian.bigEndian, varuint, varuint) 16 { 17 18 @EncodeOnly ubyte type; 19 20 this(ubyte type) pure nothrow @safe @nogc 21 { 22 this.type = type; 23 } 24 25 mixin Make; 26 27 } 28 29 class MetadataByte : MetadataValue 30 { 31 32 byte value; 33 34 this() pure nothrow @safe @nogc 35 { 36 super(0); 37 } 38 39 this(byte value) pure nothrow @safe @nogc 40 { 41 this(); 42 this.value = value; 43 } 44 45 mixin Make; 46 47 } 48 49 class MetadataInt : MetadataValue 50 { 51 52 @Var uint value; 53 54 this() pure nothrow @safe @nogc 55 { 56 super(1); 57 } 58 59 this(uint value) pure nothrow @safe @nogc 60 { 61 this(); 62 this.value = value; 63 } 64 65 mixin Make; 66 67 } 68 69 class MetadataFloat : MetadataValue 70 { 71 72 float value; 73 74 this() pure nothrow @safe @nogc 75 { 76 super(2); 77 } 78 79 this(float value) pure nothrow @safe @nogc 80 { 81 this(); 82 this.value = value; 83 } 84 85 mixin Make; 86 87 } 88 89 class MetadataString : MetadataValue 90 { 91 92 string value; 93 94 this() pure nothrow @safe @nogc 95 { 96 super(3); 97 } 98 99 this(string value) pure nothrow @safe @nogc 100 { 101 this(); 102 this.value = value; 103 } 104 105 mixin Make; 106 107 } 108 109 class MetadataChat : MetadataValue 110 { 111 112 string value; 113 114 this() pure nothrow @safe @nogc 115 { 116 super(4); 117 } 118 119 this(string value) pure nothrow @safe @nogc 120 { 121 this(); 122 this.value = value; 123 } 124 125 mixin Make; 126 127 } 128 129 class MetadataOptionalChat : MetadataValue 130 { 131 132 soupply.java393.types.OptionalChat value; 133 134 this() pure nothrow @safe @nogc 135 { 136 super(5); 137 } 138 139 this(soupply.java393.types.OptionalChat value) pure nothrow @safe @nogc 140 { 141 this(); 142 this.value = value; 143 } 144 145 mixin Make; 146 147 } 148 149 class MetadataSlot : MetadataValue 150 { 151 152 soupply.java393.types.Slot value; 153 154 this() pure nothrow @safe @nogc 155 { 156 super(6); 157 } 158 159 this(soupply.java393.types.Slot value) pure nothrow @safe @nogc 160 { 161 this(); 162 this.value = value; 163 } 164 165 mixin Make; 166 167 } 168 169 class MetadataBool : MetadataValue 170 { 171 172 bool value; 173 174 this() pure nothrow @safe @nogc 175 { 176 super(7); 177 } 178 179 this(bool value) pure nothrow @safe @nogc 180 { 181 this(); 182 this.value = value; 183 } 184 185 mixin Make; 186 187 } 188 189 class MetadataRotation : MetadataValue 190 { 191 192 Vector!(float, "xyz") value; 193 194 this() pure nothrow @safe @nogc 195 { 196 super(8); 197 } 198 199 this(Vector!(float, "xyz") value) pure nothrow @safe @nogc 200 { 201 this(); 202 this.value = value; 203 } 204 205 mixin Make; 206 207 } 208 209 class MetadataPosition : MetadataValue 210 { 211 212 ulong value; 213 214 this() pure nothrow @safe @nogc 215 { 216 super(9); 217 } 218 219 this(ulong value) pure nothrow @safe @nogc 220 { 221 this(); 222 this.value = value; 223 } 224 225 mixin Make; 226 227 } 228 229 class MetadataOptionalPosition : MetadataValue 230 { 231 232 soupply.java393.types.OptionalPosition value; 233 234 this() pure nothrow @safe @nogc 235 { 236 super(10); 237 } 238 239 this(soupply.java393.types.OptionalPosition value) pure nothrow @safe @nogc 240 { 241 this(); 242 this.value = value; 243 } 244 245 mixin Make; 246 247 } 248 249 class MetadataDirection : MetadataValue 250 { 251 252 @Var uint value; 253 254 this() pure nothrow @safe @nogc 255 { 256 super(11); 257 } 258 259 this(uint value) pure nothrow @safe @nogc 260 { 261 this(); 262 this.value = value; 263 } 264 265 mixin Make; 266 267 } 268 269 class MetadataOptionalUuid : MetadataValue 270 { 271 272 soupply.java393.types.OptionalUuid value; 273 274 this() pure nothrow @safe @nogc 275 { 276 super(12); 277 } 278 279 this(soupply.java393.types.OptionalUuid value) pure nothrow @safe @nogc 280 { 281 this(); 282 this.value = value; 283 } 284 285 mixin Make; 286 287 } 288 289 class MetadataBlock : MetadataValue 290 { 291 292 @Var uint value; 293 294 this() pure nothrow @safe @nogc 295 { 296 super(13); 297 } 298 299 this(uint value) pure nothrow @safe @nogc 300 { 301 this(); 302 this.value = value; 303 } 304 305 mixin Make; 306 307 } 308 309 class MetadataNbt : MetadataValue 310 { 311 312 @NoLength ubyte[] value; 313 314 this() pure nothrow @safe @nogc 315 { 316 super(14); 317 } 318 319 this(ubyte[] value) pure nothrow @safe @nogc 320 { 321 this(); 322 this.value = value; 323 } 324 325 mixin Make; 326 327 } 328 329 class MetadataParticle : MetadataValue 330 { 331 332 soupply.java393.types.Particle value; 333 334 this() pure nothrow @safe @nogc 335 { 336 super(15); 337 } 338 339 this(soupply.java393.types.Particle value) pure nothrow @safe @nogc 340 { 341 this(); 342 this.value = value; 343 } 344 345 mixin Make; 346 347 } 348 349 class Metadata 350 { 351 352 MetadataValue[ubyte] values; 353 354 this() 355 { 356 this.values[0] = new MetadataByte((byte).init); 357 } 358 359 void serialize(Buffer buffer) 360 { 361 foreach(id, value; values) 362 { 363 serializeNumber!(EndianType.bigEndian, ubyte)(buffer, id); 364 value.encodeBody(buffer); 365 } 366 buffer.write(ubyte(255)); 367 } 368 369 void deserialize(Buffer buffer) 370 { 371 ubyte id; 372 while((id = buffer.read!ubyte()) != 255) 373 { 374 switch(deserializeNumber!(EndianType.bigEndian, ubyte)(buffer)) 375 { 376 case 0: 377 auto value = new MetadataByte(); 378 value.decodeBody(buffer); 379 this.values[id] = value; 380 break; 381 case 1: 382 auto value = new MetadataInt(); 383 value.decodeBody(buffer); 384 this.values[id] = value; 385 break; 386 case 2: 387 auto value = new MetadataFloat(); 388 value.decodeBody(buffer); 389 this.values[id] = value; 390 break; 391 case 3: 392 auto value = new MetadataString(); 393 value.decodeBody(buffer); 394 this.values[id] = value; 395 break; 396 case 4: 397 auto value = new MetadataChat(); 398 value.decodeBody(buffer); 399 this.values[id] = value; 400 break; 401 case 5: 402 auto value = new MetadataOptionalChat(); 403 value.decodeBody(buffer); 404 this.values[id] = value; 405 break; 406 case 6: 407 auto value = new MetadataSlot(); 408 value.decodeBody(buffer); 409 this.values[id] = value; 410 break; 411 case 7: 412 auto value = new MetadataBool(); 413 value.decodeBody(buffer); 414 this.values[id] = value; 415 break; 416 case 8: 417 auto value = new MetadataRotation(); 418 value.decodeBody(buffer); 419 this.values[id] = value; 420 break; 421 case 9: 422 auto value = new MetadataPosition(); 423 value.decodeBody(buffer); 424 this.values[id] = value; 425 break; 426 case 10: 427 auto value = new MetadataOptionalPosition(); 428 value.decodeBody(buffer); 429 this.values[id] = value; 430 break; 431 case 11: 432 auto value = new MetadataDirection(); 433 value.decodeBody(buffer); 434 this.values[id] = value; 435 break; 436 case 12: 437 auto value = new MetadataOptionalUuid(); 438 value.decodeBody(buffer); 439 this.values[id] = value; 440 break; 441 case 13: 442 auto value = new MetadataBlock(); 443 value.decodeBody(buffer); 444 this.values[id] = value; 445 break; 446 case 14: 447 auto value = new MetadataNbt(); 448 value.decodeBody(buffer); 449 this.values[id] = value; 450 break; 451 case 15: 452 auto value = new MetadataParticle(); 453 value.decodeBody(buffer); 454 this.values[id] = value; 455 break; 456 default: throw new Exception("Unknown metadata type"); 457 } 458 } 459 } 460 461 @property byte entityFlags() 462 { 463 auto ptr = 0 in this.values; 464 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 465 return (byte).init; 466 } 467 468 @property byte entityFlags(byte value) 469 { 470 auto ptr = 0 in this.values; 471 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 472 else this.values[0] = new MetadataByte(value); 473 return value; 474 } 475 476 @property uint air() 477 { 478 auto ptr = 1 in this.values; 479 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 480 return uint(300); 481 } 482 483 @property uint air(uint value) 484 { 485 auto ptr = 1 in this.values; 486 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 487 else this.values[1] = new MetadataInt(value); 488 return value; 489 } 490 491 @property soupply.java393.types.OptionalChat customName() 492 { 493 auto ptr = 2 in this.values; 494 if(ptr && cast(MetadataOptionalChat)*ptr) return (cast(MetadataOptionalChat)*ptr).value; 495 return (soupply.java393.types.OptionalChat).init; 496 } 497 498 @property soupply.java393.types.OptionalChat customName(soupply.java393.types.OptionalChat value) 499 { 500 auto ptr = 2 in this.values; 501 if(ptr && cast(MetadataOptionalChat)*ptr) (cast(MetadataOptionalChat)*ptr).value = value; 502 else this.values[2] = new MetadataOptionalChat(value); 503 return value; 504 } 505 506 @property bool customNameVisible() 507 { 508 auto ptr = 3 in this.values; 509 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 510 return (bool).init; 511 } 512 513 @property bool customNameVisible(bool value) 514 { 515 auto ptr = 3 in this.values; 516 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 517 else this.values[3] = new MetadataBool(value); 518 return value; 519 } 520 521 @property bool silent() 522 { 523 auto ptr = 4 in this.values; 524 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 525 return (bool).init; 526 } 527 528 @property bool silent(bool value) 529 { 530 auto ptr = 4 in this.values; 531 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 532 else this.values[4] = new MetadataBool(value); 533 return value; 534 } 535 536 @property bool noGravity() 537 { 538 auto ptr = 5 in this.values; 539 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 540 return (bool).init; 541 } 542 543 @property bool noGravity(bool value) 544 { 545 auto ptr = 5 in this.values; 546 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 547 else this.values[5] = new MetadataBool(value); 548 return value; 549 } 550 551 @property soupply.java393.types.Slot potion() 552 { 553 auto ptr = 6 in this.values; 554 if(ptr && cast(MetadataSlot)*ptr) return (cast(MetadataSlot)*ptr).value; 555 return (soupply.java393.types.Slot).init; 556 } 557 558 @property soupply.java393.types.Slot potion(soupply.java393.types.Slot value) 559 { 560 auto ptr = 6 in this.values; 561 if(ptr && cast(MetadataSlot)*ptr) (cast(MetadataSlot)*ptr).value = value; 562 else this.values[6] = new MetadataSlot(value); 563 return value; 564 } 565 566 @property ulong spawnPosition() 567 { 568 auto ptr = 6 in this.values; 569 if(ptr && cast(MetadataPosition)*ptr) return (cast(MetadataPosition)*ptr).value; 570 return (ulong).init; 571 } 572 573 @property ulong spawnPosition(ulong value) 574 { 575 auto ptr = 6 in this.values; 576 if(ptr && cast(MetadataPosition)*ptr) (cast(MetadataPosition)*ptr).value = value; 577 else this.values[6] = new MetadataPosition(value); 578 return value; 579 } 580 581 @property float radius() 582 { 583 auto ptr = 6 in this.values; 584 if(ptr && cast(MetadataFloat)*ptr) return (cast(MetadataFloat)*ptr).value; 585 return float(0.5); 586 } 587 588 @property float radius(float value) 589 { 590 auto ptr = 6 in this.values; 591 if(ptr && cast(MetadataFloat)*ptr) (cast(MetadataFloat)*ptr).value = value; 592 else this.values[6] = new MetadataFloat(value); 593 return value; 594 } 595 596 @property uint color() 597 { 598 auto ptr = 7 in this.values; 599 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 600 return uint(0); 601 } 602 603 @property uint color(uint value) 604 { 605 auto ptr = 7 in this.values; 606 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 607 else this.values[7] = new MetadataInt(value); 608 return value; 609 } 610 611 @property bool isSinglePoint() 612 { 613 auto ptr = 8 in this.values; 614 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 615 return (bool).init; 616 } 617 618 @property bool isSinglePoint(bool value) 619 { 620 auto ptr = 8 in this.values; 621 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 622 else this.values[8] = new MetadataBool(value); 623 return value; 624 } 625 626 @property soupply.java393.types.Particle particle() 627 { 628 auto ptr = 9 in this.values; 629 if(ptr && cast(MetadataParticle)*ptr) return (cast(MetadataParticle)*ptr).value; 630 return (soupply.java393.types.Particle).init; 631 } 632 633 @property soupply.java393.types.Particle particle(soupply.java393.types.Particle value) 634 { 635 auto ptr = 9 in this.values; 636 if(ptr && cast(MetadataParticle)*ptr) (cast(MetadataParticle)*ptr).value = value; 637 else this.values[9] = new MetadataParticle(value); 638 return value; 639 } 640 641 @property uint hookedEntity() 642 { 643 auto ptr = 6 in this.values; 644 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 645 return (uint).init; 646 } 647 648 @property uint hookedEntity(uint value) 649 { 650 auto ptr = 6 in this.values; 651 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 652 else this.values[6] = new MetadataInt(value); 653 return value; 654 } 655 656 @property byte arrowFlags() 657 { 658 auto ptr = 6 in this.values; 659 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 660 return (byte).init; 661 } 662 663 @property byte arrowFlags(byte value) 664 { 665 auto ptr = 6 in this.values; 666 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 667 else this.values[6] = new MetadataByte(value); 668 return value; 669 } 670 671 @property uint timeSinceLastHit() 672 { 673 auto ptr = 6 in this.values; 674 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 675 return (uint).init; 676 } 677 678 @property uint timeSinceLastHit(uint value) 679 { 680 auto ptr = 6 in this.values; 681 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 682 else this.values[6] = new MetadataInt(value); 683 return value; 684 } 685 686 @property uint forwardDirection() 687 { 688 auto ptr = 7 in this.values; 689 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 690 return uint(1); 691 } 692 693 @property uint forwardDirection(uint value) 694 { 695 auto ptr = 7 in this.values; 696 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 697 else this.values[7] = new MetadataInt(value); 698 return value; 699 } 700 701 @property float damageTaken() 702 { 703 auto ptr = 8 in this.values; 704 if(ptr && cast(MetadataFloat)*ptr) return (cast(MetadataFloat)*ptr).value; 705 return float(0); 706 } 707 708 @property float damageTaken(float value) 709 { 710 auto ptr = 8 in this.values; 711 if(ptr && cast(MetadataFloat)*ptr) (cast(MetadataFloat)*ptr).value = value; 712 else this.values[8] = new MetadataFloat(value); 713 return value; 714 } 715 716 @property uint boatVariant() 717 { 718 auto ptr = 9 in this.values; 719 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 720 return (uint).init; 721 } 722 723 @property uint boatVariant(uint value) 724 { 725 auto ptr = 9 in this.values; 726 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 727 else this.values[9] = new MetadataInt(value); 728 return value; 729 } 730 731 @property bool rightPaddleTurning() 732 { 733 auto ptr = 10 in this.values; 734 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 735 return (bool).init; 736 } 737 738 @property bool rightPaddleTurning(bool value) 739 { 740 auto ptr = 10 in this.values; 741 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 742 else this.values[10] = new MetadataBool(value); 743 return value; 744 } 745 746 @property bool leftPaddleTurning() 747 { 748 auto ptr = 11 in this.values; 749 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 750 return (bool).init; 751 } 752 753 @property bool leftPaddleTurning(bool value) 754 { 755 auto ptr = 11 in this.values; 756 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 757 else this.values[11] = new MetadataBool(value); 758 return value; 759 } 760 761 @property uint splashTimer() 762 { 763 auto ptr = 12 in this.values; 764 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 765 return (uint).init; 766 } 767 768 @property uint splashTimer(uint value) 769 { 770 auto ptr = 12 in this.values; 771 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 772 else this.values[12] = new MetadataInt(value); 773 return value; 774 } 775 776 @property soupply.java393.types.OptionalPosition beamTarget() 777 { 778 auto ptr = 6 in this.values; 779 if(ptr && cast(MetadataOptionalPosition)*ptr) return (cast(MetadataOptionalPosition)*ptr).value; 780 return (soupply.java393.types.OptionalPosition).init; 781 } 782 783 @property soupply.java393.types.OptionalPosition beamTarget(soupply.java393.types.OptionalPosition value) 784 { 785 auto ptr = 6 in this.values; 786 if(ptr && cast(MetadataOptionalPosition)*ptr) (cast(MetadataOptionalPosition)*ptr).value = value; 787 else this.values[6] = new MetadataOptionalPosition(value); 788 return value; 789 } 790 791 @property bool showBottom() 792 { 793 auto ptr = 7 in this.values; 794 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 795 return (bool).init; 796 } 797 798 @property bool showBottom(bool value) 799 { 800 auto ptr = 7 in this.values; 801 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 802 else this.values[7] = new MetadataBool(value); 803 return value; 804 } 805 806 @property soupply.java393.types.Slot firework() 807 { 808 auto ptr = 6 in this.values; 809 if(ptr && cast(MetadataSlot)*ptr) return (cast(MetadataSlot)*ptr).value; 810 return (soupply.java393.types.Slot).init; 811 } 812 813 @property soupply.java393.types.Slot firework(soupply.java393.types.Slot value) 814 { 815 auto ptr = 6 in this.values; 816 if(ptr && cast(MetadataSlot)*ptr) (cast(MetadataSlot)*ptr).value = value; 817 else this.values[6] = new MetadataSlot(value); 818 return value; 819 } 820 821 @property uint fireworkThrower() 822 { 823 auto ptr = 7 in this.values; 824 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 825 return (uint).init; 826 } 827 828 @property uint fireworkThrower(uint value) 829 { 830 auto ptr = 7 in this.values; 831 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 832 else this.values[7] = new MetadataInt(value); 833 return value; 834 } 835 836 @property soupply.java393.types.Slot item() 837 { 838 auto ptr = 6 in this.values; 839 if(ptr && cast(MetadataSlot)*ptr) return (cast(MetadataSlot)*ptr).value; 840 return (soupply.java393.types.Slot).init; 841 } 842 843 @property soupply.java393.types.Slot item(soupply.java393.types.Slot value) 844 { 845 auto ptr = 6 in this.values; 846 if(ptr && cast(MetadataSlot)*ptr) (cast(MetadataSlot)*ptr).value = value; 847 else this.values[6] = new MetadataSlot(value); 848 return value; 849 } 850 851 @property uint rotation() 852 { 853 auto ptr = 7 in this.values; 854 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 855 return (uint).init; 856 } 857 858 @property uint rotation(uint value) 859 { 860 auto ptr = 7 in this.values; 861 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 862 else this.values[7] = new MetadataInt(value); 863 return value; 864 } 865 866 @property uint loyaltyLevel() 867 { 868 auto ptr = 7 in this.values; 869 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 870 return (uint).init; 871 } 872 873 @property uint loyaltyLevel(uint value) 874 { 875 auto ptr = 7 in this.values; 876 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 877 else this.values[7] = new MetadataInt(value); 878 return value; 879 } 880 881 @property byte livingFlags() 882 { 883 auto ptr = 6 in this.values; 884 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 885 return (byte).init; 886 } 887 888 @property byte livingFlags(byte value) 889 { 890 auto ptr = 6 in this.values; 891 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 892 else this.values[6] = new MetadataByte(value); 893 return value; 894 } 895 896 @property float health() 897 { 898 auto ptr = 7 in this.values; 899 if(ptr && cast(MetadataFloat)*ptr) return (cast(MetadataFloat)*ptr).value; 900 return float(1); 901 } 902 903 @property float health(float value) 904 { 905 auto ptr = 7 in this.values; 906 if(ptr && cast(MetadataFloat)*ptr) (cast(MetadataFloat)*ptr).value = value; 907 else this.values[7] = new MetadataFloat(value); 908 return value; 909 } 910 911 @property uint potionColor() 912 { 913 auto ptr = 8 in this.values; 914 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 915 return (uint).init; 916 } 917 918 @property uint potionColor(uint value) 919 { 920 auto ptr = 8 in this.values; 921 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 922 else this.values[8] = new MetadataInt(value); 923 return value; 924 } 925 926 @property bool potionAmbient() 927 { 928 auto ptr = 9 in this.values; 929 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 930 return (bool).init; 931 } 932 933 @property bool potionAmbient(bool value) 934 { 935 auto ptr = 9 in this.values; 936 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 937 else this.values[9] = new MetadataBool(value); 938 return value; 939 } 940 941 @property uint arrows() 942 { 943 auto ptr = 10 in this.values; 944 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 945 return (uint).init; 946 } 947 948 @property uint arrows(uint value) 949 { 950 auto ptr = 10 in this.values; 951 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 952 else this.values[10] = new MetadataInt(value); 953 return value; 954 } 955 956 @property float additionalHearts() 957 { 958 auto ptr = 11 in this.values; 959 if(ptr && cast(MetadataFloat)*ptr) return (cast(MetadataFloat)*ptr).value; 960 return float(0); 961 } 962 963 @property float additionalHearts(float value) 964 { 965 auto ptr = 11 in this.values; 966 if(ptr && cast(MetadataFloat)*ptr) (cast(MetadataFloat)*ptr).value = value; 967 else this.values[11] = new MetadataFloat(value); 968 return value; 969 } 970 971 @property uint score() 972 { 973 auto ptr = 12 in this.values; 974 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 975 return (uint).init; 976 } 977 978 @property uint score(uint value) 979 { 980 auto ptr = 12 in this.values; 981 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 982 else this.values[12] = new MetadataInt(value); 983 return value; 984 } 985 986 @property byte skinParts() 987 { 988 auto ptr = 13 in this.values; 989 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 990 return byte(0); 991 } 992 993 @property byte skinParts(byte value) 994 { 995 auto ptr = 13 in this.values; 996 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 997 else this.values[13] = new MetadataByte(value); 998 return value; 999 } 1000 1001 @property byte mainHand() 1002 { 1003 auto ptr = 14 in this.values; 1004 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1005 return byte(1); 1006 } 1007 1008 @property byte mainHand(byte value) 1009 { 1010 auto ptr = 14 in this.values; 1011 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1012 else this.values[14] = new MetadataByte(value); 1013 return value; 1014 } 1015 1016 @property ubyte[] leftShoulder() 1017 { 1018 auto ptr = 15 in this.values; 1019 if(ptr && cast(MetadataNbt)*ptr) return (cast(MetadataNbt)*ptr).value; 1020 return (ubyte[]).init; 1021 } 1022 1023 @property ubyte[] leftShoulder(ubyte[] value) 1024 { 1025 auto ptr = 15 in this.values; 1026 if(ptr && cast(MetadataNbt)*ptr) (cast(MetadataNbt)*ptr).value = value; 1027 else this.values[15] = new MetadataNbt(value); 1028 return value; 1029 } 1030 1031 @property ubyte[] rightShoulder() 1032 { 1033 auto ptr = 16 in this.values; 1034 if(ptr && cast(MetadataNbt)*ptr) return (cast(MetadataNbt)*ptr).value; 1035 return (ubyte[]).init; 1036 } 1037 1038 @property ubyte[] rightShoulder(ubyte[] value) 1039 { 1040 auto ptr = 16 in this.values; 1041 if(ptr && cast(MetadataNbt)*ptr) (cast(MetadataNbt)*ptr).value = value; 1042 else this.values[16] = new MetadataNbt(value); 1043 return value; 1044 } 1045 1046 @property byte armorStandFlags() 1047 { 1048 auto ptr = 11 in this.values; 1049 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1050 return (byte).init; 1051 } 1052 1053 @property byte armorStandFlags(byte value) 1054 { 1055 auto ptr = 11 in this.values; 1056 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1057 else this.values[11] = new MetadataByte(value); 1058 return value; 1059 } 1060 1061 @property Vector!(float, "xyz") headRotation() 1062 { 1063 auto ptr = 12 in this.values; 1064 if(ptr && cast(MetadataRotation)*ptr) return (cast(MetadataRotation)*ptr).value; 1065 return (Vector!(float, "xyz")).init; 1066 } 1067 1068 @property Vector!(float, "xyz") headRotation(Vector!(float, "xyz") value) 1069 { 1070 auto ptr = 12 in this.values; 1071 if(ptr && cast(MetadataRotation)*ptr) (cast(MetadataRotation)*ptr).value = value; 1072 else this.values[12] = new MetadataRotation(value); 1073 return value; 1074 } 1075 1076 @property Vector!(float, "xyz") bodyRotation() 1077 { 1078 auto ptr = 13 in this.values; 1079 if(ptr && cast(MetadataRotation)*ptr) return (cast(MetadataRotation)*ptr).value; 1080 return (Vector!(float, "xyz")).init; 1081 } 1082 1083 @property Vector!(float, "xyz") bodyRotation(Vector!(float, "xyz") value) 1084 { 1085 auto ptr = 13 in this.values; 1086 if(ptr && cast(MetadataRotation)*ptr) (cast(MetadataRotation)*ptr).value = value; 1087 else this.values[13] = new MetadataRotation(value); 1088 return value; 1089 } 1090 1091 @property Vector!(float, "xyz") leftArmRotation() 1092 { 1093 auto ptr = 14 in this.values; 1094 if(ptr && cast(MetadataRotation)*ptr) return (cast(MetadataRotation)*ptr).value; 1095 return (Vector!(float, "xyz")).init; 1096 } 1097 1098 @property Vector!(float, "xyz") leftArmRotation(Vector!(float, "xyz") value) 1099 { 1100 auto ptr = 14 in this.values; 1101 if(ptr && cast(MetadataRotation)*ptr) (cast(MetadataRotation)*ptr).value = value; 1102 else this.values[14] = new MetadataRotation(value); 1103 return value; 1104 } 1105 1106 @property Vector!(float, "xyz") rightArmRotation() 1107 { 1108 auto ptr = 15 in this.values; 1109 if(ptr && cast(MetadataRotation)*ptr) return (cast(MetadataRotation)*ptr).value; 1110 return (Vector!(float, "xyz")).init; 1111 } 1112 1113 @property Vector!(float, "xyz") rightArmRotation(Vector!(float, "xyz") value) 1114 { 1115 auto ptr = 15 in this.values; 1116 if(ptr && cast(MetadataRotation)*ptr) (cast(MetadataRotation)*ptr).value = value; 1117 else this.values[15] = new MetadataRotation(value); 1118 return value; 1119 } 1120 1121 @property Vector!(float, "xyz") leftLegRotation() 1122 { 1123 auto ptr = 16 in this.values; 1124 if(ptr && cast(MetadataRotation)*ptr) return (cast(MetadataRotation)*ptr).value; 1125 return (Vector!(float, "xyz")).init; 1126 } 1127 1128 @property Vector!(float, "xyz") leftLegRotation(Vector!(float, "xyz") value) 1129 { 1130 auto ptr = 16 in this.values; 1131 if(ptr && cast(MetadataRotation)*ptr) (cast(MetadataRotation)*ptr).value = value; 1132 else this.values[16] = new MetadataRotation(value); 1133 return value; 1134 } 1135 1136 @property Vector!(float, "xyz") rightLegRotation() 1137 { 1138 auto ptr = 17 in this.values; 1139 if(ptr && cast(MetadataRotation)*ptr) return (cast(MetadataRotation)*ptr).value; 1140 return (Vector!(float, "xyz")).init; 1141 } 1142 1143 @property Vector!(float, "xyz") rightLegRotation(Vector!(float, "xyz") value) 1144 { 1145 auto ptr = 17 in this.values; 1146 if(ptr && cast(MetadataRotation)*ptr) (cast(MetadataRotation)*ptr).value = value; 1147 else this.values[17] = new MetadataRotation(value); 1148 return value; 1149 } 1150 1151 @property byte instentientFlags() 1152 { 1153 auto ptr = 11 in this.values; 1154 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1155 return (byte).init; 1156 } 1157 1158 @property byte instentientFlags(byte value) 1159 { 1160 auto ptr = 11 in this.values; 1161 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1162 else this.values[11] = new MetadataByte(value); 1163 return value; 1164 } 1165 1166 @property byte hanging() 1167 { 1168 auto ptr = 12 in this.values; 1169 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1170 return (byte).init; 1171 } 1172 1173 @property byte hanging(byte value) 1174 { 1175 auto ptr = 12 in this.values; 1176 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1177 else this.values[12] = new MetadataByte(value); 1178 return value; 1179 } 1180 1181 @property bool baby() 1182 { 1183 auto ptr = 12 in this.values; 1184 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1185 return (bool).init; 1186 } 1187 1188 @property bool baby(bool value) 1189 { 1190 auto ptr = 12 in this.values; 1191 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1192 else this.values[12] = new MetadataBool(value); 1193 return value; 1194 } 1195 1196 @property byte horseFlags() 1197 { 1198 auto ptr = 13 in this.values; 1199 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1200 return (byte).init; 1201 } 1202 1203 @property byte horseFlags(byte value) 1204 { 1205 auto ptr = 13 in this.values; 1206 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1207 else this.values[13] = new MetadataByte(value); 1208 return value; 1209 } 1210 1211 @property soupply.java393.types.OptionalUuid ownerUuid() 1212 { 1213 auto ptr = 14 in this.values; 1214 if(ptr && cast(MetadataOptionalUuid)*ptr) return (cast(MetadataOptionalUuid)*ptr).value; 1215 return (soupply.java393.types.OptionalUuid).init; 1216 } 1217 1218 @property soupply.java393.types.OptionalUuid ownerUuid(soupply.java393.types.OptionalUuid value) 1219 { 1220 auto ptr = 14 in this.values; 1221 if(ptr && cast(MetadataOptionalUuid)*ptr) (cast(MetadataOptionalUuid)*ptr).value = value; 1222 else this.values[14] = new MetadataOptionalUuid(value); 1223 return value; 1224 } 1225 1226 @property uint horseVariant() 1227 { 1228 auto ptr = 15 in this.values; 1229 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1230 return (uint).init; 1231 } 1232 1233 @property uint horseVariant(uint value) 1234 { 1235 auto ptr = 15 in this.values; 1236 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1237 else this.values[15] = new MetadataInt(value); 1238 return value; 1239 } 1240 1241 @property uint horseArmor() 1242 { 1243 auto ptr = 16 in this.values; 1244 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1245 return (uint).init; 1246 } 1247 1248 @property uint horseArmor(uint value) 1249 { 1250 auto ptr = 16 in this.values; 1251 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1252 else this.values[16] = new MetadataInt(value); 1253 return value; 1254 } 1255 1256 @property bool chested() 1257 { 1258 auto ptr = 15 in this.values; 1259 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1260 return (bool).init; 1261 } 1262 1263 @property bool chested(bool value) 1264 { 1265 auto ptr = 15 in this.values; 1266 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1267 else this.values[15] = new MetadataBool(value); 1268 return value; 1269 } 1270 1271 @property uint llamaStrength() 1272 { 1273 auto ptr = 16 in this.values; 1274 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1275 return (uint).init; 1276 } 1277 1278 @property uint llamaStrength(uint value) 1279 { 1280 auto ptr = 16 in this.values; 1281 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1282 else this.values[16] = new MetadataInt(value); 1283 return value; 1284 } 1285 1286 @property uint carpetColor() 1287 { 1288 auto ptr = 17 in this.values; 1289 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1290 return uint(-1); 1291 } 1292 1293 @property uint carpetColor(uint value) 1294 { 1295 auto ptr = 17 in this.values; 1296 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1297 else this.values[17] = new MetadataInt(value); 1298 return value; 1299 } 1300 1301 @property uint llamaVariant() 1302 { 1303 auto ptr = 18 in this.values; 1304 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1305 return (uint).init; 1306 } 1307 1308 @property uint llamaVariant(uint value) 1309 { 1310 auto ptr = 18 in this.values; 1311 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1312 else this.values[18] = new MetadataInt(value); 1313 return value; 1314 } 1315 1316 @property bool pigSaddled() 1317 { 1318 auto ptr = 13 in this.values; 1319 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1320 return (bool).init; 1321 } 1322 1323 @property bool pigSaddled(bool value) 1324 { 1325 auto ptr = 13 in this.values; 1326 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1327 else this.values[13] = new MetadataBool(value); 1328 return value; 1329 } 1330 1331 @property uint carrotBoost() 1332 { 1333 auto ptr = 14 in this.values; 1334 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1335 return (uint).init; 1336 } 1337 1338 @property uint carrotBoost(uint value) 1339 { 1340 auto ptr = 14 in this.values; 1341 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1342 else this.values[14] = new MetadataInt(value); 1343 return value; 1344 } 1345 1346 @property uint rabbitVariant() 1347 { 1348 auto ptr = 13 in this.values; 1349 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1350 return (uint).init; 1351 } 1352 1353 @property uint rabbitVariant(uint value) 1354 { 1355 auto ptr = 13 in this.values; 1356 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1357 else this.values[13] = new MetadataInt(value); 1358 return value; 1359 } 1360 1361 @property bool standingUp() 1362 { 1363 auto ptr = 13 in this.values; 1364 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1365 return (bool).init; 1366 } 1367 1368 @property bool standingUp(bool value) 1369 { 1370 auto ptr = 13 in this.values; 1371 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1372 else this.values[13] = new MetadataBool(value); 1373 return value; 1374 } 1375 1376 @property byte sheepFlagsAndColor() 1377 { 1378 auto ptr = 13 in this.values; 1379 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1380 return (byte).init; 1381 } 1382 1383 @property byte sheepFlagsAndColor(byte value) 1384 { 1385 auto ptr = 13 in this.values; 1386 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1387 else this.values[13] = new MetadataByte(value); 1388 return value; 1389 } 1390 1391 @property byte tameableFlags() 1392 { 1393 auto ptr = 13 in this.values; 1394 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1395 return (byte).init; 1396 } 1397 1398 @property byte tameableFlags(byte value) 1399 { 1400 auto ptr = 13 in this.values; 1401 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1402 else this.values[13] = new MetadataByte(value); 1403 return value; 1404 } 1405 1406 @property uint ocelotVariant() 1407 { 1408 auto ptr = 15 in this.values; 1409 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1410 return (uint).init; 1411 } 1412 1413 @property uint ocelotVariant(uint value) 1414 { 1415 auto ptr = 15 in this.values; 1416 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1417 else this.values[15] = new MetadataInt(value); 1418 return value; 1419 } 1420 1421 @property uint parrotColor() 1422 { 1423 auto ptr = 15 in this.values; 1424 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1425 return (uint).init; 1426 } 1427 1428 @property uint parrotColor(uint value) 1429 { 1430 auto ptr = 15 in this.values; 1431 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1432 else this.values[15] = new MetadataInt(value); 1433 return value; 1434 } 1435 1436 @property float wolfHealth() 1437 { 1438 auto ptr = 15 in this.values; 1439 if(ptr && cast(MetadataFloat)*ptr) return (cast(MetadataFloat)*ptr).value; 1440 return (float).init; 1441 } 1442 1443 @property float wolfHealth(float value) 1444 { 1445 auto ptr = 15 in this.values; 1446 if(ptr && cast(MetadataFloat)*ptr) (cast(MetadataFloat)*ptr).value = value; 1447 else this.values[15] = new MetadataFloat(value); 1448 return value; 1449 } 1450 1451 @property bool begging() 1452 { 1453 auto ptr = 16 in this.values; 1454 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1455 return (bool).init; 1456 } 1457 1458 @property bool begging(bool value) 1459 { 1460 auto ptr = 16 in this.values; 1461 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1462 else this.values[16] = new MetadataBool(value); 1463 return value; 1464 } 1465 1466 @property uint collarColor() 1467 { 1468 auto ptr = 17 in this.values; 1469 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1470 return uint(14); 1471 } 1472 1473 @property uint collarColor(uint value) 1474 { 1475 auto ptr = 17 in this.values; 1476 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1477 else this.values[17] = new MetadataInt(value); 1478 return value; 1479 } 1480 1481 @property uint profession() 1482 { 1483 auto ptr = 13 in this.values; 1484 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1485 return (uint).init; 1486 } 1487 1488 @property uint profession(uint value) 1489 { 1490 auto ptr = 13 in this.values; 1491 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1492 else this.values[13] = new MetadataInt(value); 1493 return value; 1494 } 1495 1496 @property byte createdByPlayer() 1497 { 1498 auto ptr = 12 in this.values; 1499 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1500 return (byte).init; 1501 } 1502 1503 @property byte createdByPlayer(byte value) 1504 { 1505 auto ptr = 12 in this.values; 1506 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1507 else this.values[12] = new MetadataByte(value); 1508 return value; 1509 } 1510 1511 @property byte snowmanFlags() 1512 { 1513 auto ptr = 12 in this.values; 1514 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1515 return (byte).init; 1516 } 1517 1518 @property byte snowmanFlags(byte value) 1519 { 1520 auto ptr = 12 in this.values; 1521 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1522 else this.values[12] = new MetadataByte(value); 1523 return value; 1524 } 1525 1526 @property uint shulkerDirection() 1527 { 1528 auto ptr = 12 in this.values; 1529 if(ptr && cast(MetadataDirection)*ptr) return (cast(MetadataDirection)*ptr).value; 1530 return (uint).init; 1531 } 1532 1533 @property uint shulkerDirection(uint value) 1534 { 1535 auto ptr = 12 in this.values; 1536 if(ptr && cast(MetadataDirection)*ptr) (cast(MetadataDirection)*ptr).value = value; 1537 else this.values[12] = new MetadataDirection(value); 1538 return value; 1539 } 1540 1541 @property soupply.java393.types.OptionalPosition shulkerAttachment() 1542 { 1543 auto ptr = 13 in this.values; 1544 if(ptr && cast(MetadataOptionalPosition)*ptr) return (cast(MetadataOptionalPosition)*ptr).value; 1545 return (soupply.java393.types.OptionalPosition).init; 1546 } 1547 1548 @property soupply.java393.types.OptionalPosition shulkerAttachment(soupply.java393.types.OptionalPosition value) 1549 { 1550 auto ptr = 13 in this.values; 1551 if(ptr && cast(MetadataOptionalPosition)*ptr) (cast(MetadataOptionalPosition)*ptr).value = value; 1552 else this.values[13] = new MetadataOptionalPosition(value); 1553 return value; 1554 } 1555 1556 @property byte shulkerShieldHeight() 1557 { 1558 auto ptr = 14 in this.values; 1559 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1560 return (byte).init; 1561 } 1562 1563 @property byte shulkerShieldHeight(byte value) 1564 { 1565 auto ptr = 14 in this.values; 1566 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1567 else this.values[14] = new MetadataByte(value); 1568 return value; 1569 } 1570 1571 @property byte shulkerColor() 1572 { 1573 auto ptr = 15 in this.values; 1574 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1575 return (byte).init; 1576 } 1577 1578 @property byte shulkerColor(byte value) 1579 { 1580 auto ptr = 15 in this.values; 1581 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1582 else this.values[15] = new MetadataByte(value); 1583 return value; 1584 } 1585 1586 @property byte blazeOnFire() 1587 { 1588 auto ptr = 12 in this.values; 1589 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1590 return (byte).init; 1591 } 1592 1593 @property byte blazeOnFire(byte value) 1594 { 1595 auto ptr = 12 in this.values; 1596 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1597 else this.values[12] = new MetadataByte(value); 1598 return value; 1599 } 1600 1601 @property uint creeperState() 1602 { 1603 auto ptr = 12 in this.values; 1604 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1605 return uint(-1); 1606 } 1607 1608 @property uint creeperState(uint value) 1609 { 1610 auto ptr = 12 in this.values; 1611 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1612 else this.values[12] = new MetadataInt(value); 1613 return value; 1614 } 1615 1616 @property bool charged() 1617 { 1618 auto ptr = 13 in this.values; 1619 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1620 return (bool).init; 1621 } 1622 1623 @property bool charged(bool value) 1624 { 1625 auto ptr = 13 in this.values; 1626 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1627 else this.values[13] = new MetadataBool(value); 1628 return value; 1629 } 1630 1631 @property bool ignited() 1632 { 1633 auto ptr = 14 in this.values; 1634 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1635 return (bool).init; 1636 } 1637 1638 @property bool ignited(bool value) 1639 { 1640 auto ptr = 14 in this.values; 1641 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1642 else this.values[14] = new MetadataBool(value); 1643 return value; 1644 } 1645 1646 @property bool rectractingSpikes() 1647 { 1648 auto ptr = 12 in this.values; 1649 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1650 return (bool).init; 1651 } 1652 1653 @property bool rectractingSpikes(bool value) 1654 { 1655 auto ptr = 12 in this.values; 1656 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1657 else this.values[12] = new MetadataBool(value); 1658 return value; 1659 } 1660 1661 @property uint guardianTarget() 1662 { 1663 auto ptr = 13 in this.values; 1664 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1665 return (uint).init; 1666 } 1667 1668 @property uint guardianTarget(uint value) 1669 { 1670 auto ptr = 13 in this.values; 1671 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1672 else this.values[13] = new MetadataInt(value); 1673 return value; 1674 } 1675 1676 @property byte spell() 1677 { 1678 auto ptr = 12 in this.values; 1679 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1680 return (byte).init; 1681 } 1682 1683 @property byte spell(byte value) 1684 { 1685 auto ptr = 12 in this.values; 1686 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1687 else this.values[12] = new MetadataByte(value); 1688 return value; 1689 } 1690 1691 @property byte attackMode() 1692 { 1693 auto ptr = 12 in this.values; 1694 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1695 return (byte).init; 1696 } 1697 1698 @property byte attackMode(byte value) 1699 { 1700 auto ptr = 12 in this.values; 1701 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1702 else this.values[12] = new MetadataByte(value); 1703 return value; 1704 } 1705 1706 @property bool swingingArms() 1707 { 1708 auto ptr = 12 in this.values; 1709 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1710 return (bool).init; 1711 } 1712 1713 @property bool swingingArms(bool value) 1714 { 1715 auto ptr = 12 in this.values; 1716 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1717 else this.values[12] = new MetadataBool(value); 1718 return value; 1719 } 1720 1721 @property byte climbing() 1722 { 1723 auto ptr = 12 in this.values; 1724 if(ptr && cast(MetadataByte)*ptr) return (cast(MetadataByte)*ptr).value; 1725 return (byte).init; 1726 } 1727 1728 @property byte climbing(byte value) 1729 { 1730 auto ptr = 12 in this.values; 1731 if(ptr && cast(MetadataByte)*ptr) (cast(MetadataByte)*ptr).value = value; 1732 else this.values[12] = new MetadataByte(value); 1733 return value; 1734 } 1735 1736 @property uint centerHeadTarget() 1737 { 1738 auto ptr = 12 in this.values; 1739 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1740 return (uint).init; 1741 } 1742 1743 @property uint centerHeadTarget(uint value) 1744 { 1745 auto ptr = 12 in this.values; 1746 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1747 else this.values[12] = new MetadataInt(value); 1748 return value; 1749 } 1750 1751 @property uint leftHeadTarget() 1752 { 1753 auto ptr = 13 in this.values; 1754 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1755 return (uint).init; 1756 } 1757 1758 @property uint leftHeadTarget(uint value) 1759 { 1760 auto ptr = 13 in this.values; 1761 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1762 else this.values[13] = new MetadataInt(value); 1763 return value; 1764 } 1765 1766 @property uint rightHeadTarget() 1767 { 1768 auto ptr = 14 in this.values; 1769 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1770 return (uint).init; 1771 } 1772 1773 @property uint rightHeadTarget(uint value) 1774 { 1775 auto ptr = 14 in this.values; 1776 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1777 else this.values[14] = new MetadataInt(value); 1778 return value; 1779 } 1780 1781 @property uint invulnerableTime() 1782 { 1783 auto ptr = 15 in this.values; 1784 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1785 return (uint).init; 1786 } 1787 1788 @property uint invulnerableTime(uint value) 1789 { 1790 auto ptr = 15 in this.values; 1791 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1792 else this.values[15] = new MetadataInt(value); 1793 return value; 1794 } 1795 1796 @property bool handsHeldUp() 1797 { 1798 auto ptr = 14 in this.values; 1799 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1800 return (bool).init; 1801 } 1802 1803 @property bool handsHeldUp(bool value) 1804 { 1805 auto ptr = 14 in this.values; 1806 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1807 else this.values[14] = new MetadataBool(value); 1808 return value; 1809 } 1810 1811 @property bool converting() 1812 { 1813 auto ptr = 15 in this.values; 1814 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1815 return (bool).init; 1816 } 1817 1818 @property bool converting(bool value) 1819 { 1820 auto ptr = 15 in this.values; 1821 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1822 else this.values[15] = new MetadataBool(value); 1823 return value; 1824 } 1825 1826 @property uint zombieVillagerProfession() 1827 { 1828 auto ptr = 16 in this.values; 1829 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1830 return (uint).init; 1831 } 1832 1833 @property uint zombieVillagerProfession(uint value) 1834 { 1835 auto ptr = 16 in this.values; 1836 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1837 else this.values[16] = new MetadataInt(value); 1838 return value; 1839 } 1840 1841 @property uint carriedBlock() 1842 { 1843 auto ptr = 12 in this.values; 1844 if(ptr && cast(MetadataBlock)*ptr) return (cast(MetadataBlock)*ptr).value; 1845 return (uint).init; 1846 } 1847 1848 @property uint carriedBlock(uint value) 1849 { 1850 auto ptr = 12 in this.values; 1851 if(ptr && cast(MetadataBlock)*ptr) (cast(MetadataBlock)*ptr).value = value; 1852 else this.values[12] = new MetadataBlock(value); 1853 return value; 1854 } 1855 1856 @property bool screaming() 1857 { 1858 auto ptr = 13 in this.values; 1859 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1860 return (bool).init; 1861 } 1862 1863 @property bool screaming(bool value) 1864 { 1865 auto ptr = 13 in this.values; 1866 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1867 else this.values[13] = new MetadataBool(value); 1868 return value; 1869 } 1870 1871 @property uint dragonPhase() 1872 { 1873 auto ptr = 12 in this.values; 1874 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1875 return (uint).init; 1876 } 1877 1878 @property uint dragonPhase(uint value) 1879 { 1880 auto ptr = 12 in this.values; 1881 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1882 else this.values[12] = new MetadataInt(value); 1883 return value; 1884 } 1885 1886 @property bool ghastAttacking() 1887 { 1888 auto ptr = 12 in this.values; 1889 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1890 return (bool).init; 1891 } 1892 1893 @property bool ghastAttacking(bool value) 1894 { 1895 auto ptr = 12 in this.values; 1896 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 1897 else this.values[12] = new MetadataBool(value); 1898 return value; 1899 } 1900 1901 @property uint slimeSize() 1902 { 1903 auto ptr = 12 in this.values; 1904 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1905 return uint(1); 1906 } 1907 1908 @property uint slimeSize(uint value) 1909 { 1910 auto ptr = 12 in this.values; 1911 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1912 else this.values[12] = new MetadataInt(value); 1913 return value; 1914 } 1915 1916 @property uint shakingPower() 1917 { 1918 auto ptr = 6 in this.values; 1919 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1920 return (uint).init; 1921 } 1922 1923 @property uint shakingPower(uint value) 1924 { 1925 auto ptr = 6 in this.values; 1926 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1927 else this.values[6] = new MetadataInt(value); 1928 return value; 1929 } 1930 1931 @property uint shakingDirection() 1932 { 1933 auto ptr = 7 in this.values; 1934 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1935 return (uint).init; 1936 } 1937 1938 @property uint shakingDirection(uint value) 1939 { 1940 auto ptr = 7 in this.values; 1941 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1942 else this.values[7] = new MetadataInt(value); 1943 return value; 1944 } 1945 1946 @property float shakingMultiplier() 1947 { 1948 auto ptr = 8 in this.values; 1949 if(ptr && cast(MetadataFloat)*ptr) return (cast(MetadataFloat)*ptr).value; 1950 return float(0); 1951 } 1952 1953 @property float shakingMultiplier(float value) 1954 { 1955 auto ptr = 8 in this.values; 1956 if(ptr && cast(MetadataFloat)*ptr) (cast(MetadataFloat)*ptr).value = value; 1957 else this.values[8] = new MetadataFloat(value); 1958 return value; 1959 } 1960 1961 @property uint minecartBlock() 1962 { 1963 auto ptr = 9 in this.values; 1964 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1965 return (uint).init; 1966 } 1967 1968 @property uint minecartBlock(uint value) 1969 { 1970 auto ptr = 9 in this.values; 1971 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1972 else this.values[9] = new MetadataInt(value); 1973 return value; 1974 } 1975 1976 @property uint minecartBlockPosition() 1977 { 1978 auto ptr = 10 in this.values; 1979 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 1980 return uint(6); 1981 } 1982 1983 @property uint minecartBlockPosition(uint value) 1984 { 1985 auto ptr = 10 in this.values; 1986 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 1987 else this.values[10] = new MetadataInt(value); 1988 return value; 1989 } 1990 1991 @property bool minecartCustomBlock() 1992 { 1993 auto ptr = 11 in this.values; 1994 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 1995 return (bool).init; 1996 } 1997 1998 @property bool minecartCustomBlock(bool value) 1999 { 2000 auto ptr = 11 in this.values; 2001 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 2002 else this.values[11] = new MetadataBool(value); 2003 return value; 2004 } 2005 2006 @property bool furnacePowered() 2007 { 2008 auto ptr = 12 in this.values; 2009 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 2010 return (bool).init; 2011 } 2012 2013 @property bool furnacePowered(bool value) 2014 { 2015 auto ptr = 12 in this.values; 2016 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 2017 else this.values[12] = new MetadataBool(value); 2018 return value; 2019 } 2020 2021 @property string command() 2022 { 2023 auto ptr = 12 in this.values; 2024 if(ptr && cast(MetadataString)*ptr) return (cast(MetadataString)*ptr).value; 2025 return (string).init; 2026 } 2027 2028 @property string command(string value) 2029 { 2030 auto ptr = 12 in this.values; 2031 if(ptr && cast(MetadataString)*ptr) (cast(MetadataString)*ptr).value = value; 2032 else this.values[12] = new MetadataString(value); 2033 return value; 2034 } 2035 2036 @property string lastOutput() 2037 { 2038 auto ptr = 13 in this.values; 2039 if(ptr && cast(MetadataChat)*ptr) return (cast(MetadataChat)*ptr).value; 2040 return (string).init; 2041 } 2042 2043 @property string lastOutput(string value) 2044 { 2045 auto ptr = 13 in this.values; 2046 if(ptr && cast(MetadataChat)*ptr) (cast(MetadataChat)*ptr).value = value; 2047 else this.values[13] = new MetadataChat(value); 2048 return value; 2049 } 2050 2051 @property uint fuseTime() 2052 { 2053 auto ptr = 6 in this.values; 2054 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 2055 return (uint).init; 2056 } 2057 2058 @property uint fuseTime(uint value) 2059 { 2060 auto ptr = 6 in this.values; 2061 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 2062 else this.values[6] = new MetadataInt(value); 2063 return value; 2064 } 2065 2066 @property uint phantomSize() 2067 { 2068 auto ptr = 12 in this.values; 2069 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 2070 return (uint).init; 2071 } 2072 2073 @property uint phantomSize(uint value) 2074 { 2075 auto ptr = 12 in this.values; 2076 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 2077 else this.values[12] = new MetadataInt(value); 2078 return value; 2079 } 2080 2081 @property bool fromBucket() 2082 { 2083 auto ptr = 12 in this.values; 2084 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 2085 return (bool).init; 2086 } 2087 2088 @property bool fromBucket(bool value) 2089 { 2090 auto ptr = 12 in this.values; 2091 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 2092 else this.values[12] = new MetadataBool(value); 2093 return value; 2094 } 2095 2096 @property uint puffState() 2097 { 2098 auto ptr = 13 in this.values; 2099 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 2100 return (uint).init; 2101 } 2102 2103 @property uint puffState(uint value) 2104 { 2105 auto ptr = 13 in this.values; 2106 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 2107 else this.values[13] = new MetadataInt(value); 2108 return value; 2109 } 2110 2111 @property uint tropicalFishVariant() 2112 { 2113 auto ptr = 13 in this.values; 2114 if(ptr && cast(MetadataInt)*ptr) return (cast(MetadataInt)*ptr).value; 2115 return (uint).init; 2116 } 2117 2118 @property uint tropicalFishVariant(uint value) 2119 { 2120 auto ptr = 13 in this.values; 2121 if(ptr && cast(MetadataInt)*ptr) (cast(MetadataInt)*ptr).value = value; 2122 else this.values[13] = new MetadataInt(value); 2123 return value; 2124 } 2125 2126 @property ulong homePosition() 2127 { 2128 auto ptr = 13 in this.values; 2129 if(ptr && cast(MetadataPosition)*ptr) return (cast(MetadataPosition)*ptr).value; 2130 return (ulong).init; 2131 } 2132 2133 @property ulong homePosition(ulong value) 2134 { 2135 auto ptr = 13 in this.values; 2136 if(ptr && cast(MetadataPosition)*ptr) (cast(MetadataPosition)*ptr).value = value; 2137 else this.values[13] = new MetadataPosition(value); 2138 return value; 2139 } 2140 2141 @property bool hasEgg() 2142 { 2143 auto ptr = 14 in this.values; 2144 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 2145 return (bool).init; 2146 } 2147 2148 @property bool hasEgg(bool value) 2149 { 2150 auto ptr = 14 in this.values; 2151 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 2152 else this.values[14] = new MetadataBool(value); 2153 return value; 2154 } 2155 2156 @property bool layingEgg() 2157 { 2158 auto ptr = 15 in this.values; 2159 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 2160 return (bool).init; 2161 } 2162 2163 @property bool layingEgg(bool value) 2164 { 2165 auto ptr = 15 in this.values; 2166 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 2167 else this.values[15] = new MetadataBool(value); 2168 return value; 2169 } 2170 2171 @property ulong travelPos() 2172 { 2173 auto ptr = 16 in this.values; 2174 if(ptr && cast(MetadataPosition)*ptr) return (cast(MetadataPosition)*ptr).value; 2175 return (ulong).init; 2176 } 2177 2178 @property ulong travelPos(ulong value) 2179 { 2180 auto ptr = 16 in this.values; 2181 if(ptr && cast(MetadataPosition)*ptr) (cast(MetadataPosition)*ptr).value = value; 2182 else this.values[16] = new MetadataPosition(value); 2183 return value; 2184 } 2185 2186 @property bool goingHome() 2187 { 2188 auto ptr = 17 in this.values; 2189 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 2190 return (bool).init; 2191 } 2192 2193 @property bool goingHome(bool value) 2194 { 2195 auto ptr = 17 in this.values; 2196 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 2197 else this.values[17] = new MetadataBool(value); 2198 return value; 2199 } 2200 2201 @property bool traveling() 2202 { 2203 auto ptr = 18 in this.values; 2204 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 2205 return (bool).init; 2206 } 2207 2208 @property bool traveling(bool value) 2209 { 2210 auto ptr = 18 in this.values; 2211 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 2212 else this.values[18] = new MetadataBool(value); 2213 return value; 2214 } 2215 2216 @property bool hasTarget() 2217 { 2218 auto ptr = 15 in this.values; 2219 if(ptr && cast(MetadataBool)*ptr) return (cast(MetadataBool)*ptr).value; 2220 return (bool).init; 2221 } 2222 2223 @property bool hasTarget(bool value) 2224 { 2225 auto ptr = 15 in this.values; 2226 if(ptr && cast(MetadataBool)*ptr) (cast(MetadataBool)*ptr).value = value; 2227 else this.values[15] = new MetadataBool(value); 2228 return value; 2229 } 2230 2231 }