github.com/df-mc/dragonfly@v0.9.13/server/block/hash.go (about) 1 // Code generated by cmd/blockhash; DO NOT EDIT. 2 3 package block 4 5 const ( 6 hashAir = iota 7 hashAmethyst 8 hashAncientDebris 9 hashAndesite 10 hashAnvil 11 hashBanner 12 hashBarrel 13 hashBarrier 14 hashBasalt 15 hashBeacon 16 hashBedrock 17 hashBeetrootSeeds 18 hashBlackstone 19 hashBlastFurnace 20 hashBlueIce 21 hashBone 22 hashBookshelf 23 hashBricks 24 hashCactus 25 hashCake 26 hashCalcite 27 hashCarpet 28 hashCarrot 29 hashChain 30 hashChest 31 hashChiseledQuartz 32 hashClay 33 hashCoal 34 hashCoalOre 35 hashCobblestone 36 hashCocoaBean 37 hashComposter 38 hashConcrete 39 hashConcretePowder 40 hashCopperOre 41 hashCoral 42 hashCoralBlock 43 hashCraftingTable 44 hashDeadBush 45 hashDecoratedPot 46 hashDeepslate 47 hashDeepslateBricks 48 hashDeepslateTiles 49 hashDiamond 50 hashDiamondOre 51 hashDiorite 52 hashDirt 53 hashDirtPath 54 hashDoubleFlower 55 hashDoubleTallGrass 56 hashDragonEgg 57 hashDriedKelp 58 hashDripstone 59 hashDropper 60 hashEmerald 61 hashEmeraldOre 62 hashEnchantingTable 63 hashEndBricks 64 hashEndStone 65 hashEnderChest 66 hashFarmland 67 hashFire 68 hashFletchingTable 69 hashFlower 70 hashFroglight 71 hashFurnace 72 hashGlass 73 hashGlassPane 74 hashGlazedTerracotta 75 hashGlowstone 76 hashGold 77 hashGoldOre 78 hashGranite 79 hashGrass 80 hashGravel 81 hashGrindstone 82 hashHayBale 83 hashHoneycomb 84 hashInvisibleBedrock 85 hashIron 86 hashIronBars 87 hashIronOre 88 hashItemFrame 89 hashJukebox 90 hashKelp 91 hashLadder 92 hashLantern 93 hashLapis 94 hashLapisOre 95 hashLava 96 hashLeaves 97 hashLectern 98 hashLight 99 hashLitPumpkin 100 hashLog 101 hashLoom 102 hashMelon 103 hashMelonSeeds 104 hashMossCarpet 105 hashMud 106 hashMudBricks 107 hashMuddyMangroveRoots 108 hashNetherBrickFence 109 hashNetherBricks 110 hashNetherGoldOre 111 hashNetherQuartzOre 112 hashNetherSprouts 113 hashNetherWart 114 hashNetherWartBlock 115 hashNetherite 116 hashNetherrack 117 hashNote 118 hashObsidian 119 hashPackedIce 120 hashPackedMud 121 hashPlanks 122 hashPodzol 123 hashPolishedBlackstoneBrick 124 hashPotato 125 hashPrismarine 126 hashPumpkin 127 hashPumpkinSeeds 128 hashPurpur 129 hashPurpurPillar 130 hashQuartz 131 hashQuartzBricks 132 hashQuartzPillar 133 hashRawCopper 134 hashRawGold 135 hashRawIron 136 hashReinforcedDeepslate 137 hashSand 138 hashSandstone 139 hashSeaLantern 140 hashSeaPickle 141 hashShroomlight 142 hashSign 143 hashSkull 144 hashSlab 145 hashSmithingTable 146 hashSmoker 147 hashSnow 148 hashSoulSand 149 hashSoulSoil 150 hashSponge 151 hashSporeBlossom 152 hashStainedGlass 153 hashStainedGlassPane 154 hashStainedTerracotta 155 hashStairs 156 hashStone 157 hashStoneBricks 158 hashStonecutter 159 hashSugarCane 160 hashTNT 161 hashTallGrass 162 hashTerracotta 163 hashTorch 164 hashTuff 165 hashWall 166 hashWater 167 hashWheatSeeds 168 hashWood 169 hashWoodDoor 170 hashWoodFence 171 hashWoodFenceGate 172 hashWoodTrapdoor 173 hashWool 174 hashCustomBlockBase 175 ) 176 177 // customBlockBase represents the base hash for all custom blocks. 178 var customBlockBase = uint64(hashCustomBlockBase - 1) 179 180 // NextHash returns the next free hash for custom blocks. 181 func NextHash() uint64 { 182 customBlockBase++ 183 return customBlockBase 184 } 185 186 // Hash ... 187 func (Air) Hash() uint64 { 188 return hashAir 189 } 190 191 // Hash ... 192 func (Amethyst) Hash() uint64 { 193 return hashAmethyst 194 } 195 196 // Hash ... 197 func (AncientDebris) Hash() uint64 { 198 return hashAncientDebris 199 } 200 201 // Hash ... 202 func (a Andesite) Hash() uint64 { 203 return hashAndesite | uint64(boolByte(a.Polished))<<8 204 } 205 206 // Hash ... 207 func (a Anvil) Hash() uint64 { 208 return hashAnvil | uint64(a.Type.Uint8())<<8 | uint64(a.Facing)<<10 209 } 210 211 // Hash ... 212 func (b Banner) Hash() uint64 { 213 return hashBanner | uint64(b.Attach.Uint8())<<8 214 } 215 216 // Hash ... 217 func (b Barrel) Hash() uint64 { 218 return hashBarrel | uint64(b.Facing)<<8 | uint64(boolByte(b.Open))<<11 219 } 220 221 // Hash ... 222 func (Barrier) Hash() uint64 { 223 return hashBarrier 224 } 225 226 // Hash ... 227 func (b Basalt) Hash() uint64 { 228 return hashBasalt | uint64(boolByte(b.Polished))<<8 | uint64(b.Axis)<<9 229 } 230 231 // Hash ... 232 func (Beacon) Hash() uint64 { 233 return hashBeacon 234 } 235 236 // Hash ... 237 func (b Bedrock) Hash() uint64 { 238 return hashBedrock | uint64(boolByte(b.InfiniteBurning))<<8 239 } 240 241 // Hash ... 242 func (b BeetrootSeeds) Hash() uint64 { 243 return hashBeetrootSeeds | uint64(b.Growth)<<8 244 } 245 246 // Hash ... 247 func (b Blackstone) Hash() uint64 { 248 return hashBlackstone | uint64(b.Type.Uint8())<<8 249 } 250 251 // Hash ... 252 func (b BlastFurnace) Hash() uint64 { 253 return hashBlastFurnace | uint64(b.Facing)<<8 | uint64(boolByte(b.Lit))<<11 254 } 255 256 // Hash ... 257 func (BlueIce) Hash() uint64 { 258 return hashBlueIce 259 } 260 261 // Hash ... 262 func (b Bone) Hash() uint64 { 263 return hashBone | uint64(b.Axis)<<8 264 } 265 266 // Hash ... 267 func (Bookshelf) Hash() uint64 { 268 return hashBookshelf 269 } 270 271 // Hash ... 272 func (Bricks) Hash() uint64 { 273 return hashBricks 274 } 275 276 // Hash ... 277 func (c Cactus) Hash() uint64 { 278 return hashCactus | uint64(c.Age)<<8 279 } 280 281 // Hash ... 282 func (c Cake) Hash() uint64 { 283 return hashCake | uint64(c.Bites)<<8 284 } 285 286 // Hash ... 287 func (Calcite) Hash() uint64 { 288 return hashCalcite 289 } 290 291 // Hash ... 292 func (c Carpet) Hash() uint64 { 293 return hashCarpet | uint64(c.Colour.Uint8())<<8 294 } 295 296 // Hash ... 297 func (c Carrot) Hash() uint64 { 298 return hashCarrot | uint64(c.Growth)<<8 299 } 300 301 // Hash ... 302 func (c Chain) Hash() uint64 { 303 return hashChain | uint64(c.Axis)<<8 304 } 305 306 // Hash ... 307 func (c Chest) Hash() uint64 { 308 return hashChest | uint64(c.Facing)<<8 309 } 310 311 // Hash ... 312 func (ChiseledQuartz) Hash() uint64 { 313 return hashChiseledQuartz 314 } 315 316 // Hash ... 317 func (Clay) Hash() uint64 { 318 return hashClay 319 } 320 321 // Hash ... 322 func (Coal) Hash() uint64 { 323 return hashCoal 324 } 325 326 // Hash ... 327 func (c CoalOre) Hash() uint64 { 328 return hashCoalOre | uint64(c.Type.Uint8())<<8 329 } 330 331 // Hash ... 332 func (c Cobblestone) Hash() uint64 { 333 return hashCobblestone | uint64(boolByte(c.Mossy))<<8 334 } 335 336 // Hash ... 337 func (c CocoaBean) Hash() uint64 { 338 return hashCocoaBean | uint64(c.Facing)<<8 | uint64(c.Age)<<10 339 } 340 341 // Hash ... 342 func (c Composter) Hash() uint64 { 343 return hashComposter | uint64(c.Level)<<8 344 } 345 346 // Hash ... 347 func (c Concrete) Hash() uint64 { 348 return hashConcrete | uint64(c.Colour.Uint8())<<8 349 } 350 351 // Hash ... 352 func (c ConcretePowder) Hash() uint64 { 353 return hashConcretePowder | uint64(c.Colour.Uint8())<<8 354 } 355 356 // Hash ... 357 func (c CopperOre) Hash() uint64 { 358 return hashCopperOre | uint64(c.Type.Uint8())<<8 359 } 360 361 // Hash ... 362 func (c Coral) Hash() uint64 { 363 return hashCoral | uint64(c.Type.Uint8())<<8 | uint64(boolByte(c.Dead))<<11 364 } 365 366 // Hash ... 367 func (c CoralBlock) Hash() uint64 { 368 return hashCoralBlock | uint64(c.Type.Uint8())<<8 | uint64(boolByte(c.Dead))<<11 369 } 370 371 // Hash ... 372 func (CraftingTable) Hash() uint64 { 373 return hashCraftingTable 374 } 375 376 // Hash ... 377 func (DeadBush) Hash() uint64 { 378 return hashDeadBush 379 } 380 381 // Hash ... 382 func (p DecoratedPot) Hash() uint64 { 383 return hashDecoratedPot | uint64(p.Facing)<<8 384 } 385 386 // Hash ... 387 func (d Deepslate) Hash() uint64 { 388 return hashDeepslate | uint64(d.Type.Uint8())<<8 | uint64(d.Axis)<<10 389 } 390 391 // Hash ... 392 func (d DeepslateBricks) Hash() uint64 { 393 return hashDeepslateBricks | uint64(boolByte(d.Cracked))<<8 394 } 395 396 // Hash ... 397 func (d DeepslateTiles) Hash() uint64 { 398 return hashDeepslateTiles | uint64(boolByte(d.Cracked))<<8 399 } 400 401 // Hash ... 402 func (Diamond) Hash() uint64 { 403 return hashDiamond 404 } 405 406 // Hash ... 407 func (d DiamondOre) Hash() uint64 { 408 return hashDiamondOre | uint64(d.Type.Uint8())<<8 409 } 410 411 // Hash ... 412 func (d Diorite) Hash() uint64 { 413 return hashDiorite | uint64(boolByte(d.Polished))<<8 414 } 415 416 // Hash ... 417 func (d Dirt) Hash() uint64 { 418 return hashDirt | uint64(boolByte(d.Coarse))<<8 419 } 420 421 // Hash ... 422 func (DirtPath) Hash() uint64 { 423 return hashDirtPath 424 } 425 426 // Hash ... 427 func (d DoubleFlower) Hash() uint64 { 428 return hashDoubleFlower | uint64(boolByte(d.UpperPart))<<8 | uint64(d.Type.Uint8())<<9 429 } 430 431 // Hash ... 432 func (d DoubleTallGrass) Hash() uint64 { 433 return hashDoubleTallGrass | uint64(boolByte(d.UpperPart))<<8 | uint64(d.Type.Uint8())<<9 434 } 435 436 // Hash ... 437 func (DragonEgg) Hash() uint64 { 438 return hashDragonEgg 439 } 440 441 // Hash ... 442 func (DriedKelp) Hash() uint64 { 443 return hashDriedKelp 444 } 445 446 // Hash ... 447 func (Dripstone) Hash() uint64 { 448 return hashDripstone 449 } 450 451 // Hash ... 452 func (Emerald) Hash() uint64 { 453 return hashEmerald 454 } 455 456 // Hash ... 457 func (e EmeraldOre) Hash() uint64 { 458 return hashEmeraldOre | uint64(e.Type.Uint8())<<8 459 } 460 461 // Hash ... 462 func (EnchantingTable) Hash() uint64 { 463 return hashEnchantingTable 464 } 465 466 // Hash ... 467 func (EndBricks) Hash() uint64 { 468 return hashEndBricks 469 } 470 471 // Hash ... 472 func (EndStone) Hash() uint64 { 473 return hashEndStone 474 } 475 476 // Hash ... 477 func (c EnderChest) Hash() uint64 { 478 return hashEnderChest | uint64(c.Facing)<<8 479 } 480 481 // Hash ... 482 func (f Farmland) Hash() uint64 { 483 return hashFarmland | uint64(f.Hydration)<<8 484 } 485 486 // Hash ... 487 func (f Fire) Hash() uint64 { 488 return hashFire | uint64(f.Type.Uint8())<<8 | uint64(f.Age)<<9 489 } 490 491 // Hash ... 492 func (FletchingTable) Hash() uint64 { 493 return hashFletchingTable 494 } 495 496 // Hash ... 497 func (f Flower) Hash() uint64 { 498 return hashFlower | uint64(f.Type.Uint8())<<8 499 } 500 501 // Hash ... 502 func (f Froglight) Hash() uint64 { 503 return hashFroglight | uint64(f.Type.Uint8())<<8 | uint64(f.Axis)<<10 504 } 505 506 // Hash ... 507 func (f Furnace) Hash() uint64 { 508 return hashFurnace | uint64(f.Facing)<<8 | uint64(boolByte(f.Lit))<<11 509 } 510 511 // Hash ... 512 func (Glass) Hash() uint64 { 513 return hashGlass 514 } 515 516 // Hash ... 517 func (GlassPane) Hash() uint64 { 518 return hashGlassPane 519 } 520 521 // Hash ... 522 func (t GlazedTerracotta) Hash() uint64 { 523 return hashGlazedTerracotta | uint64(t.Colour.Uint8())<<8 | uint64(t.Facing)<<12 524 } 525 526 // Hash ... 527 func (Glowstone) Hash() uint64 { 528 return hashGlowstone 529 } 530 531 // Hash ... 532 func (Gold) Hash() uint64 { 533 return hashGold 534 } 535 536 // Hash ... 537 func (g GoldOre) Hash() uint64 { 538 return hashGoldOre | uint64(g.Type.Uint8())<<8 539 } 540 541 // Hash ... 542 func (g Granite) Hash() uint64 { 543 return hashGranite | uint64(boolByte(g.Polished))<<8 544 } 545 546 // Hash ... 547 func (Grass) Hash() uint64 { 548 return hashGrass 549 } 550 551 // Hash ... 552 func (Gravel) Hash() uint64 { 553 return hashGravel 554 } 555 556 // Hash ... 557 func (g Grindstone) Hash() uint64 { 558 return hashGrindstone | uint64(g.Attach.Uint8())<<8 | uint64(g.Facing)<<10 559 } 560 561 // Hash ... 562 func (h HayBale) Hash() uint64 { 563 return hashHayBale | uint64(h.Axis)<<8 564 } 565 566 // Hash ... 567 func (Honeycomb) Hash() uint64 { 568 return hashHoneycomb 569 } 570 571 // Hash ... 572 func (InvisibleBedrock) Hash() uint64 { 573 return hashInvisibleBedrock 574 } 575 576 // Hash ... 577 func (Iron) Hash() uint64 { 578 return hashIron 579 } 580 581 // Hash ... 582 func (IronBars) Hash() uint64 { 583 return hashIronBars 584 } 585 586 // Hash ... 587 func (i IronOre) Hash() uint64 { 588 return hashIronOre | uint64(i.Type.Uint8())<<8 589 } 590 591 // Hash ... 592 func (i ItemFrame) Hash() uint64 { 593 return hashItemFrame | uint64(i.Facing)<<8 | uint64(boolByte(i.Glowing))<<11 594 } 595 596 // Hash ... 597 func (Jukebox) Hash() uint64 { 598 return hashJukebox 599 } 600 601 // Hash ... 602 func (k Kelp) Hash() uint64 { 603 return hashKelp | uint64(k.Age)<<8 604 } 605 606 // Hash ... 607 func (l Ladder) Hash() uint64 { 608 return hashLadder | uint64(l.Facing)<<8 609 } 610 611 // Hash ... 612 func (l Lantern) Hash() uint64 { 613 return hashLantern | uint64(boolByte(l.Hanging))<<8 | uint64(l.Type.Uint8())<<9 614 } 615 616 // Hash ... 617 func (Lapis) Hash() uint64 { 618 return hashLapis 619 } 620 621 // Hash ... 622 func (l LapisOre) Hash() uint64 { 623 return hashLapisOre | uint64(l.Type.Uint8())<<8 624 } 625 626 // Hash ... 627 func (l Lava) Hash() uint64 { 628 return hashLava | uint64(boolByte(l.Still))<<8 | uint64(l.Depth)<<9 | uint64(boolByte(l.Falling))<<17 629 } 630 631 // Hash ... 632 func (l Leaves) Hash() uint64 { 633 return hashLeaves | uint64(l.Wood.Uint8())<<8 | uint64(boolByte(l.Persistent))<<12 | uint64(boolByte(l.ShouldUpdate))<<13 634 } 635 636 // Hash ... 637 func (l Lectern) Hash() uint64 { 638 return hashLectern | uint64(l.Facing)<<8 639 } 640 641 // Hash ... 642 func (l Light) Hash() uint64 { 643 return hashLight | uint64(l.Level)<<8 644 } 645 646 // Hash ... 647 func (l LitPumpkin) Hash() uint64 { 648 return hashLitPumpkin | uint64(l.Facing)<<8 649 } 650 651 // Hash ... 652 func (l Log) Hash() uint64 { 653 return hashLog | uint64(l.Wood.Uint8())<<8 | uint64(boolByte(l.Stripped))<<12 | uint64(l.Axis)<<13 654 } 655 656 // Hash ... 657 func (l Loom) Hash() uint64 { 658 return hashLoom | uint64(l.Facing)<<8 659 } 660 661 // Hash ... 662 func (Melon) Hash() uint64 { 663 return hashMelon 664 } 665 666 // Hash ... 667 func (m MelonSeeds) Hash() uint64 { 668 return hashMelonSeeds | uint64(m.Growth)<<8 | uint64(m.Direction)<<16 669 } 670 671 // Hash ... 672 func (MossCarpet) Hash() uint64 { 673 return hashMossCarpet 674 } 675 676 // Hash ... 677 func (Mud) Hash() uint64 { 678 return hashMud 679 } 680 681 // Hash ... 682 func (MudBricks) Hash() uint64 { 683 return hashMudBricks 684 } 685 686 // Hash ... 687 func (m MuddyMangroveRoots) Hash() uint64 { 688 return hashMuddyMangroveRoots | uint64(m.Axis)<<8 689 } 690 691 // Hash ... 692 func (NetherBrickFence) Hash() uint64 { 693 return hashNetherBrickFence 694 } 695 696 // Hash ... 697 func (n NetherBricks) Hash() uint64 { 698 return hashNetherBricks | uint64(n.Type.Uint8())<<8 699 } 700 701 // Hash ... 702 func (NetherGoldOre) Hash() uint64 { 703 return hashNetherGoldOre 704 } 705 706 // Hash ... 707 func (NetherQuartzOre) Hash() uint64 { 708 return hashNetherQuartzOre 709 } 710 711 // Hash ... 712 func (NetherSprouts) Hash() uint64 { 713 return hashNetherSprouts 714 } 715 716 // Hash ... 717 func (n NetherWart) Hash() uint64 { 718 return hashNetherWart | uint64(n.Age)<<8 719 } 720 721 // Hash ... 722 func (n NetherWartBlock) Hash() uint64 { 723 return hashNetherWartBlock | uint64(boolByte(n.Warped))<<8 724 } 725 726 // Hash ... 727 func (Netherite) Hash() uint64 { 728 return hashNetherite 729 } 730 731 // Hash ... 732 func (Netherrack) Hash() uint64 { 733 return hashNetherrack 734 } 735 736 // Hash ... 737 func (Note) Hash() uint64 { 738 return hashNote 739 } 740 741 // Hash ... 742 func (o Obsidian) Hash() uint64 { 743 return hashObsidian | uint64(boolByte(o.Crying))<<8 744 } 745 746 // Hash ... 747 func (PackedIce) Hash() uint64 { 748 return hashPackedIce 749 } 750 751 // Hash ... 752 func (PackedMud) Hash() uint64 { 753 return hashPackedMud 754 } 755 756 // Hash ... 757 func (p Planks) Hash() uint64 { 758 return hashPlanks | uint64(p.Wood.Uint8())<<8 759 } 760 761 // Hash ... 762 func (Podzol) Hash() uint64 { 763 return hashPodzol 764 } 765 766 // Hash ... 767 func (b PolishedBlackstoneBrick) Hash() uint64 { 768 return hashPolishedBlackstoneBrick | uint64(boolByte(b.Cracked))<<8 769 } 770 771 // Hash ... 772 func (p Potato) Hash() uint64 { 773 return hashPotato | uint64(p.Growth)<<8 774 } 775 776 // Hash ... 777 func (p Prismarine) Hash() uint64 { 778 return hashPrismarine | uint64(p.Type.Uint8())<<8 779 } 780 781 // Hash ... 782 func (p Pumpkin) Hash() uint64 { 783 return hashPumpkin | uint64(boolByte(p.Carved))<<8 | uint64(p.Facing)<<9 784 } 785 786 // Hash ... 787 func (p PumpkinSeeds) Hash() uint64 { 788 return hashPumpkinSeeds | uint64(p.Growth)<<8 | uint64(p.Direction)<<16 789 } 790 791 // Hash ... 792 func (Purpur) Hash() uint64 { 793 return hashPurpur 794 } 795 796 // Hash ... 797 func (p PurpurPillar) Hash() uint64 { 798 return hashPurpurPillar | uint64(p.Axis)<<8 799 } 800 801 // Hash ... 802 func (q Quartz) Hash() uint64 { 803 return hashQuartz | uint64(boolByte(q.Smooth))<<8 804 } 805 806 // Hash ... 807 func (QuartzBricks) Hash() uint64 { 808 return hashQuartzBricks 809 } 810 811 // Hash ... 812 func (q QuartzPillar) Hash() uint64 { 813 return hashQuartzPillar | uint64(q.Axis)<<8 814 } 815 816 // Hash ... 817 func (RawCopper) Hash() uint64 { 818 return hashRawCopper 819 } 820 821 // Hash ... 822 func (RawGold) Hash() uint64 { 823 return hashRawGold 824 } 825 826 // Hash ... 827 func (RawIron) Hash() uint64 { 828 return hashRawIron 829 } 830 831 // Hash ... 832 func (ReinforcedDeepslate) Hash() uint64 { 833 return hashReinforcedDeepslate 834 } 835 836 // Hash ... 837 func (s Sand) Hash() uint64 { 838 return hashSand | uint64(boolByte(s.Red))<<8 839 } 840 841 // Hash ... 842 func (s Sandstone) Hash() uint64 { 843 return hashSandstone | uint64(s.Type.Uint8())<<8 | uint64(boolByte(s.Red))<<10 844 } 845 846 // Hash ... 847 func (SeaLantern) Hash() uint64 { 848 return hashSeaLantern 849 } 850 851 // Hash ... 852 func (s SeaPickle) Hash() uint64 { 853 return hashSeaPickle | uint64(s.AdditionalCount)<<8 | uint64(boolByte(s.Dead))<<16 854 } 855 856 // Hash ... 857 func (Shroomlight) Hash() uint64 { 858 return hashShroomlight 859 } 860 861 // Hash ... 862 func (s Sign) Hash() uint64 { 863 return hashSign | uint64(s.Wood.Uint8())<<8 | uint64(s.Attach.Uint8())<<12 864 } 865 866 // Hash ... 867 func (s Skull) Hash() uint64 { 868 return hashSkull | uint64(s.Attach.FaceUint8())<<8 869 } 870 871 // Hash ... 872 func (s Slab) Hash() uint64 { 873 return hashSlab | s.Block.Hash()<<8 | uint64(boolByte(s.Top))<<24 | uint64(boolByte(s.Double))<<25 874 } 875 876 // Hash ... 877 func (SmithingTable) Hash() uint64 { 878 return hashSmithingTable 879 } 880 881 // Hash ... 882 func (s Smoker) Hash() uint64 { 883 return hashSmoker | uint64(s.Facing)<<8 | uint64(boolByte(s.Lit))<<11 884 } 885 886 // Hash ... 887 func (Snow) Hash() uint64 { 888 return hashSnow 889 } 890 891 // Hash ... 892 func (SoulSand) Hash() uint64 { 893 return hashSoulSand 894 } 895 896 // Hash ... 897 func (SoulSoil) Hash() uint64 { 898 return hashSoulSoil 899 } 900 901 // Hash ... 902 func (s Sponge) Hash() uint64 { 903 return hashSponge | uint64(boolByte(s.Wet))<<8 904 } 905 906 // Hash ... 907 func (SporeBlossom) Hash() uint64 { 908 return hashSporeBlossom 909 } 910 911 // Hash ... 912 func (g StainedGlass) Hash() uint64 { 913 return hashStainedGlass | uint64(g.Colour.Uint8())<<8 914 } 915 916 // Hash ... 917 func (p StainedGlassPane) Hash() uint64 { 918 return hashStainedGlassPane | uint64(p.Colour.Uint8())<<8 919 } 920 921 // Hash ... 922 func (t StainedTerracotta) Hash() uint64 { 923 return hashStainedTerracotta | uint64(t.Colour.Uint8())<<8 924 } 925 926 // Hash ... 927 func (s Stairs) Hash() uint64 { 928 return hashStairs | s.Block.Hash()<<8 | uint64(boolByte(s.UpsideDown))<<24 | uint64(s.Facing)<<25 929 } 930 931 // Hash ... 932 func (s Stone) Hash() uint64 { 933 return hashStone | uint64(boolByte(s.Smooth))<<8 934 } 935 936 // Hash ... 937 func (s StoneBricks) Hash() uint64 { 938 return hashStoneBricks | uint64(s.Type.Uint8())<<8 939 } 940 941 // Hash ... 942 func (s Stonecutter) Hash() uint64 { 943 return hashStonecutter | uint64(s.Facing)<<8 944 } 945 946 // Hash ... 947 func (c SugarCane) Hash() uint64 { 948 return hashSugarCane | uint64(c.Age)<<8 949 } 950 951 // Hash ... 952 func (TNT) Hash() uint64 { 953 return hashTNT 954 } 955 956 // Hash ... 957 func (g TallGrass) Hash() uint64 { 958 return hashTallGrass | uint64(g.Type.Uint8())<<8 959 } 960 961 // Hash ... 962 func (Terracotta) Hash() uint64 { 963 return hashTerracotta 964 } 965 966 // Hash ... 967 func (t Torch) Hash() uint64 { 968 return hashTorch | uint64(t.Facing)<<8 | uint64(t.Type.Uint8())<<11 969 } 970 971 // Hash ... 972 func (Tuff) Hash() uint64 { 973 return hashTuff 974 } 975 976 // Hash ... 977 func (w Wall) Hash() uint64 { 978 return hashWall | w.Block.Hash()<<8 | uint64(w.NorthConnection.Uint8())<<24 | uint64(w.EastConnection.Uint8())<<26 | uint64(w.SouthConnection.Uint8())<<28 | uint64(w.WestConnection.Uint8())<<30 | uint64(boolByte(w.Post))<<32 979 } 980 981 // Hash ... 982 func (w Water) Hash() uint64 { 983 return hashWater | uint64(boolByte(w.Still))<<8 | uint64(w.Depth)<<9 | uint64(boolByte(w.Falling))<<17 984 } 985 986 // Hash ... 987 func (s WheatSeeds) Hash() uint64 { 988 return hashWheatSeeds | uint64(s.Growth)<<8 989 } 990 991 // Hash ... 992 func (w Wood) Hash() uint64 { 993 return hashWood | uint64(w.Wood.Uint8())<<8 | uint64(boolByte(w.Stripped))<<12 | uint64(w.Axis)<<13 994 } 995 996 // Hash ... 997 func (d WoodDoor) Hash() uint64 { 998 return hashWoodDoor | uint64(d.Wood.Uint8())<<8 | uint64(d.Facing)<<12 | uint64(boolByte(d.Open))<<14 | uint64(boolByte(d.Top))<<15 | uint64(boolByte(d.Right))<<16 999 } 1000 1001 // Hash ... 1002 func (w WoodFence) Hash() uint64 { 1003 return hashWoodFence | uint64(w.Wood.Uint8())<<8 1004 } 1005 1006 // Hash ... 1007 func (f WoodFenceGate) Hash() uint64 { 1008 return hashWoodFenceGate | uint64(f.Wood.Uint8())<<8 | uint64(f.Facing)<<12 | uint64(boolByte(f.Open))<<14 | uint64(boolByte(f.Lowered))<<15 1009 } 1010 1011 // Hash ... 1012 func (t WoodTrapdoor) Hash() uint64 { 1013 return hashWoodTrapdoor | uint64(t.Wood.Uint8())<<8 | uint64(t.Facing)<<12 | uint64(boolByte(t.Open))<<14 | uint64(boolByte(t.Top))<<15 1014 } 1015 1016 // Hash ... 1017 func (w Wool) Hash() uint64 { 1018 return hashWool | uint64(w.Colour.Uint8())<<8 1019 }