// Code generated by cmd/blockhash; DO NOT EDIT. package block import "github.com/df-mc/dragonfly/server/world" const ( hashAir = iota hashAmethyst hashAncientDebris hashAndesite hashAnvil hashBambooBlock hashBambooMosaic hashBanner hashBarrel hashBarrier hashBasalt hashBeacon hashBed hashBedrock hashBeetrootSeeds hashBlackstone hashBlastFurnace hashBlueIce hashBone hashBookshelf hashBrewingStand hashBricks hashCactus hashCake hashCalcite hashCampfire hashCarpet hashCarrot hashChest hashChiseledQuartz hashClay hashCoal hashCoalOre hashCobblestone hashCobweb hashCocoaBean hashComposter hashConcrete hashConcretePowder hashCopper hashCopperBars hashCopperChain hashCopperDoor hashCopperGolemStatue hashCopperGrate hashCopperLantern hashCopperOre hashCopperTorch hashCopperTrapdoor hashCoral hashCoralBlock hashCraftingTable hashDeadBush hashDecoratedPot hashDeepslate hashDeepslateBricks hashDeepslateTiles hashDiamond hashDiamondOre hashDiorite hashDirt hashDirtPath hashDoubleFlower hashDoubleTallGrass hashDragonEgg hashDriedKelp hashDripstone hashEmerald hashEmeraldOre hashEnchantingTable hashEndBricks hashEndRod hashEndStone hashEnderChest hashFarmland hashFern hashFire hashFletchingTable hashFlower hashFroglight hashFurnace hashGlass hashGlassPane hashGlazedTerracotta hashGlowstone hashGold hashGoldOre hashGranite hashGrass hashGravel hashGrindstone hashHayBale hashHoneycomb hashHopper hashInfestedCobblestone hashInfestedDeepslate hashInfestedStone hashInfestedStoneBricks hashInvisibleBedrock hashIron hashIronBars hashIronChain hashIronOre hashItemFrame hashJukebox hashKelp hashLadder hashLantern hashLapis hashLapisOre hashLava hashLeaves hashLectern hashLever hashLight hashLilyPad hashLitPumpkin hashLog hashLoom hashMagma hashMelon hashMelonSeeds hashMossCarpet hashMud hashMudBricks hashMuddyMangroveRoots hashNetherBrickFence hashNetherBricks hashNetherGoldOre hashNetherQuartzOre hashNetherSprouts hashNetherWart hashNetherWartBlock hashNetherite hashNetherrack hashNote hashObsidian hashPackedIce hashPackedMud hashPinkPetals hashPlanks hashPodzol hashPolishedBlackstoneBrick hashPolishedTuff hashPotato hashPrismarine hashPumpkin hashPumpkinSeeds hashPurpur hashPurpurPillar hashQuartz hashQuartzBricks hashQuartzPillar hashRawCopper hashRawGold hashRawIron hashRedstoneBlock hashRedstoneOre hashRedstoneTorch hashRedstoneWire hashReinforcedDeepslate hashResin hashResinBricks hashSand hashSandstone hashSeaLantern hashSeaPickle hashShortGrass hashShroomlight hashSign hashSkull hashSlab hashSlime hashSmithingTable hashSmoker hashSmoothBasalt hashSnow hashSoulSand hashSoulSoil hashSponge hashSporeBlossom hashStainedGlass hashStainedGlassPane hashStainedTerracotta hashStairs hashStone hashStoneBricks hashStonecutter hashString hashSugarCane hashTNT hashTerracotta hashTorch hashTuff hashTuffBricks hashVines hashWall hashWater hashWheatSeeds hashWood hashWoodDoor hashWoodFence hashWoodFenceGate hashWoodTrapdoor hashWool hashCustomBlockBase ) // customBlockBase represents the base hash for all custom blocks. var customBlockBase = uint64(hashCustomBlockBase - 1) // NextHash returns the next free hash for custom blocks. func NextHash() uint64 { customBlockBase++ return customBlockBase } func (Air) Hash() (uint64, uint64) { return hashAir, 0 } func (Amethyst) Hash() (uint64, uint64) { return hashAmethyst, 0 } func (AncientDebris) Hash() (uint64, uint64) { return hashAncientDebris, 0 } func (a Andesite) Hash() (uint64, uint64) { return hashAndesite, uint64(boolByte(a.Polished)) } func (a Anvil) Hash() (uint64, uint64) { return hashAnvil, uint64(a.Type.Uint8()) | uint64(a.Facing)<<2 } func (b BambooBlock) Hash() (uint64, uint64) { return hashBambooBlock, uint64(b.Axis) | uint64(boolByte(b.Stripped))<<2 } func (BambooMosaic) Hash() (uint64, uint64) { return hashBambooMosaic, 0 } func (b Banner) Hash() (uint64, uint64) { return hashBanner, uint64(b.Attach.Uint8()) } func (b Barrel) Hash() (uint64, uint64) { return hashBarrel, uint64(b.Facing) | uint64(boolByte(b.Open))<<3 } func (Barrier) Hash() (uint64, uint64) { return hashBarrier, 0 } func (b Basalt) Hash() (uint64, uint64) { return hashBasalt, uint64(boolByte(b.Polished)) | uint64(b.Axis)<<1 } func (Beacon) Hash() (uint64, uint64) { return hashBeacon, 0 } func (b Bed) Hash() (uint64, uint64) { return hashBed, uint64(b.Facing) | uint64(boolByte(b.Head))<<2 } func (b Bedrock) Hash() (uint64, uint64) { return hashBedrock, uint64(boolByte(b.InfiniteBurning)) } func (b BeetrootSeeds) Hash() (uint64, uint64) { return hashBeetrootSeeds, uint64(b.Growth) } func (b Blackstone) Hash() (uint64, uint64) { return hashBlackstone, uint64(b.Type.Uint8()) } func (b BlastFurnace) Hash() (uint64, uint64) { return hashBlastFurnace, uint64(b.Facing) | uint64(boolByte(b.Lit))<<2 } func (BlueIce) Hash() (uint64, uint64) { return hashBlueIce, 0 } func (b Bone) Hash() (uint64, uint64) { return hashBone, uint64(b.Axis) } func (Bookshelf) Hash() (uint64, uint64) { return hashBookshelf, 0 } func (b BrewingStand) Hash() (uint64, uint64) { return hashBrewingStand, uint64(boolByte(b.LeftSlot)) | uint64(boolByte(b.MiddleSlot))<<1 | uint64(boolByte(b.RightSlot))<<2 } func (Bricks) Hash() (uint64, uint64) { return hashBricks, 0 } func (c Cactus) Hash() (uint64, uint64) { return hashCactus, uint64(c.Age) } func (c Cake) Hash() (uint64, uint64) { return hashCake, uint64(c.Bites) } func (Calcite) Hash() (uint64, uint64) { return hashCalcite, 0 } func (c Campfire) Hash() (uint64, uint64) { return hashCampfire, uint64(c.Facing) | uint64(boolByte(c.Extinguished))<<2 | uint64(c.Type.Uint8())<<3 } func (c Carpet) Hash() (uint64, uint64) { return hashCarpet, uint64(c.Colour.Uint8()) } func (c Carrot) Hash() (uint64, uint64) { return hashCarrot, uint64(c.Growth) } func (c Chest) Hash() (uint64, uint64) { return hashChest, uint64(c.Facing) } func (ChiseledQuartz) Hash() (uint64, uint64) { return hashChiseledQuartz, 0 } func (Clay) Hash() (uint64, uint64) { return hashClay, 0 } func (Coal) Hash() (uint64, uint64) { return hashCoal, 0 } func (c CoalOre) Hash() (uint64, uint64) { return hashCoalOre, uint64(c.Type.Uint8()) } func (c Cobblestone) Hash() (uint64, uint64) { return hashCobblestone, uint64(boolByte(c.Mossy)) } func (Cobweb) Hash() (uint64, uint64) { return hashCobweb, 0 } func (c CocoaBean) Hash() (uint64, uint64) { return hashCocoaBean, uint64(c.Facing) | uint64(c.Age)<<2 } func (c Composter) Hash() (uint64, uint64) { return hashComposter, uint64(c.Level) } func (c Concrete) Hash() (uint64, uint64) { return hashConcrete, uint64(c.Colour.Uint8()) } func (c ConcretePowder) Hash() (uint64, uint64) { return hashConcretePowder, uint64(c.Colour.Uint8()) } func (c Copper) Hash() (uint64, uint64) { return hashCopper, uint64(c.Type.Uint8()) | uint64(c.Oxidation.Uint8())<<2 | uint64(boolByte(c.Waxed))<<4 } func (c CopperBars) Hash() (uint64, uint64) { return hashCopperBars, uint64(c.Oxidation.Uint8()) | uint64(boolByte(c.Waxed))<<2 } func (c CopperChain) Hash() (uint64, uint64) { return hashCopperChain, uint64(c.Axis) | uint64(c.Oxidation.Uint8())<<2 | uint64(boolByte(c.Waxed))<<4 } func (d CopperDoor) Hash() (uint64, uint64) { return hashCopperDoor, uint64(d.Oxidation.Uint8()) | uint64(boolByte(d.Waxed))<<2 | uint64(d.Facing)<<3 | uint64(boolByte(d.Open))<<5 | uint64(boolByte(d.Top))<<6 | uint64(boolByte(d.Right))<<7 } func (c CopperGolemStatue) Hash() (uint64, uint64) { return hashCopperGolemStatue, uint64(c.Facing) | uint64(c.Oxidation.Uint8())<<2 | uint64(boolByte(c.Waxed))<<4 } func (c CopperGrate) Hash() (uint64, uint64) { return hashCopperGrate, uint64(c.Oxidation.Uint8()) | uint64(boolByte(c.Waxed))<<2 } func (c CopperLantern) Hash() (uint64, uint64) { return hashCopperLantern, uint64(boolByte(c.Hanging)) | uint64(c.Oxidation.Uint8())<<1 | uint64(boolByte(c.Waxed))<<3 } func (c CopperOre) Hash() (uint64, uint64) { return hashCopperOre, uint64(c.Type.Uint8()) } func (t CopperTorch) Hash() (uint64, uint64) { return hashCopperTorch, uint64(t.Facing) } func (t CopperTrapdoor) Hash() (uint64, uint64) { return hashCopperTrapdoor, uint64(t.Oxidation.Uint8()) | uint64(boolByte(t.Waxed))<<2 | uint64(t.Facing)<<3 | uint64(boolByte(t.Open))<<5 | uint64(boolByte(t.Top))<<6 } func (c Coral) Hash() (uint64, uint64) { return hashCoral, uint64(c.Type.Uint8()) | uint64(boolByte(c.Dead))<<3 } func (c CoralBlock) Hash() (uint64, uint64) { return hashCoralBlock, uint64(c.Type.Uint8()) | uint64(boolByte(c.Dead))<<3 } func (CraftingTable) Hash() (uint64, uint64) { return hashCraftingTable, 0 } func (DeadBush) Hash() (uint64, uint64) { return hashDeadBush, 0 } func (p DecoratedPot) Hash() (uint64, uint64) { return hashDecoratedPot, uint64(p.Facing) } func (d Deepslate) Hash() (uint64, uint64) { return hashDeepslate, uint64(d.Type.Uint8()) | uint64(d.Axis)<<2 } func (d DeepslateBricks) Hash() (uint64, uint64) { return hashDeepslateBricks, uint64(boolByte(d.Cracked)) } func (d DeepslateTiles) Hash() (uint64, uint64) { return hashDeepslateTiles, uint64(boolByte(d.Cracked)) } func (Diamond) Hash() (uint64, uint64) { return hashDiamond, 0 } func (d DiamondOre) Hash() (uint64, uint64) { return hashDiamondOre, uint64(d.Type.Uint8()) } func (d Diorite) Hash() (uint64, uint64) { return hashDiorite, uint64(boolByte(d.Polished)) } func (d Dirt) Hash() (uint64, uint64) { return hashDirt, uint64(boolByte(d.Coarse)) } func (DirtPath) Hash() (uint64, uint64) { return hashDirtPath, 0 } func (d DoubleFlower) Hash() (uint64, uint64) { return hashDoubleFlower, uint64(boolByte(d.UpperPart)) | uint64(d.Type.Uint8())<<1 } func (d DoubleTallGrass) Hash() (uint64, uint64) { return hashDoubleTallGrass, uint64(boolByte(d.UpperPart)) | uint64(d.Type.Uint8())<<1 } func (DragonEgg) Hash() (uint64, uint64) { return hashDragonEgg, 0 } func (DriedKelp) Hash() (uint64, uint64) { return hashDriedKelp, 0 } func (Dripstone) Hash() (uint64, uint64) { return hashDripstone, 0 } func (Emerald) Hash() (uint64, uint64) { return hashEmerald, 0 } func (e EmeraldOre) Hash() (uint64, uint64) { return hashEmeraldOre, uint64(e.Type.Uint8()) } func (EnchantingTable) Hash() (uint64, uint64) { return hashEnchantingTable, 0 } func (EndBricks) Hash() (uint64, uint64) { return hashEndBricks, 0 } func (e EndRod) Hash() (uint64, uint64) { return hashEndRod, uint64(e.Facing) } func (EndStone) Hash() (uint64, uint64) { return hashEndStone, 0 } func (c EnderChest) Hash() (uint64, uint64) { return hashEnderChest, uint64(c.Facing) } func (f Farmland) Hash() (uint64, uint64) { return hashFarmland, uint64(f.Hydration) } func (Fern) Hash() (uint64, uint64) { return hashFern, 0 } func (f Fire) Hash() (uint64, uint64) { return hashFire, uint64(f.Type.Uint8()) | uint64(f.Age)<<1 } func (FletchingTable) Hash() (uint64, uint64) { return hashFletchingTable, 0 } func (f Flower) Hash() (uint64, uint64) { return hashFlower, uint64(f.Type.Uint8()) } func (f Froglight) Hash() (uint64, uint64) { return hashFroglight, uint64(f.Type.Uint8()) | uint64(f.Axis)<<2 } func (f Furnace) Hash() (uint64, uint64) { return hashFurnace, uint64(f.Facing) | uint64(boolByte(f.Lit))<<2 } func (Glass) Hash() (uint64, uint64) { return hashGlass, 0 } func (GlassPane) Hash() (uint64, uint64) { return hashGlassPane, 0 } func (t GlazedTerracotta) Hash() (uint64, uint64) { return hashGlazedTerracotta, uint64(t.Colour.Uint8()) | uint64(t.Facing)<<4 } func (Glowstone) Hash() (uint64, uint64) { return hashGlowstone, 0 } func (Gold) Hash() (uint64, uint64) { return hashGold, 0 } func (g GoldOre) Hash() (uint64, uint64) { return hashGoldOre, uint64(g.Type.Uint8()) } func (g Granite) Hash() (uint64, uint64) { return hashGranite, uint64(boolByte(g.Polished)) } func (Grass) Hash() (uint64, uint64) { return hashGrass, 0 } func (Gravel) Hash() (uint64, uint64) { return hashGravel, 0 } func (g Grindstone) Hash() (uint64, uint64) { return hashGrindstone, uint64(g.Attach.Uint8()) | uint64(g.Facing)<<2 } func (h HayBale) Hash() (uint64, uint64) { return hashHayBale, uint64(h.Axis) } func (Honeycomb) Hash() (uint64, uint64) { return hashHoneycomb, 0 } func (h Hopper) Hash() (uint64, uint64) { return hashHopper, uint64(h.Facing) | uint64(boolByte(h.Powered))<<3 } func (InfestedCobblestone) Hash() (uint64, uint64) { return hashInfestedCobblestone, 0 } func (i InfestedDeepslate) Hash() (uint64, uint64) { return hashInfestedDeepslate, uint64(i.Axis) } func (InfestedStone) Hash() (uint64, uint64) { return hashInfestedStone, 0 } func (i InfestedStoneBricks) Hash() (uint64, uint64) { return hashInfestedStoneBricks, uint64(i.Type.Uint8()) } func (InvisibleBedrock) Hash() (uint64, uint64) { return hashInvisibleBedrock, 0 } func (Iron) Hash() (uint64, uint64) { return hashIron, 0 } func (IronBars) Hash() (uint64, uint64) { return hashIronBars, 0 } func (c IronChain) Hash() (uint64, uint64) { return hashIronChain, uint64(c.Axis) } func (i IronOre) Hash() (uint64, uint64) { return hashIronOre, uint64(i.Type.Uint8()) } func (i ItemFrame) Hash() (uint64, uint64) { return hashItemFrame, uint64(i.Facing) | uint64(boolByte(i.Glowing))<<3 } func (Jukebox) Hash() (uint64, uint64) { return hashJukebox, 0 } func (k Kelp) Hash() (uint64, uint64) { return hashKelp, uint64(k.Age) } func (l Ladder) Hash() (uint64, uint64) { return hashLadder, uint64(l.Facing) } func (l Lantern) Hash() (uint64, uint64) { return hashLantern, uint64(boolByte(l.Hanging)) | uint64(l.Type.Uint8())<<1 } func (Lapis) Hash() (uint64, uint64) { return hashLapis, 0 } func (l LapisOre) Hash() (uint64, uint64) { return hashLapisOre, uint64(l.Type.Uint8()) } func (l Lava) Hash() (uint64, uint64) { return hashLava, uint64(boolByte(l.Still)) | uint64(l.Depth)<<1 | uint64(boolByte(l.Falling))<<9 } func (l Leaves) Hash() (uint64, uint64) { return hashLeaves, uint64(l.Type.Uint8()) | uint64(boolByte(l.Persistent))<<4 | uint64(boolByte(l.ShouldUpdate))<<5 } func (l Lectern) Hash() (uint64, uint64) { return hashLectern, uint64(l.Facing) } func (l Lever) Hash() (uint64, uint64) { return hashLever, uint64(boolByte(l.Powered)) | uint64(l.Facing)<<1 | uint64(l.Direction)<<4 } func (l Light) Hash() (uint64, uint64) { return hashLight, uint64(l.Level) } func (LilyPad) Hash() (uint64, uint64) { return hashLilyPad, 0 } func (l LitPumpkin) Hash() (uint64, uint64) { return hashLitPumpkin, uint64(l.Facing) } func (l Log) Hash() (uint64, uint64) { return hashLog, uint64(l.Wood.Uint8()) | uint64(boolByte(l.Stripped))<<4 | uint64(l.Axis)<<5 } func (l Loom) Hash() (uint64, uint64) { return hashLoom, uint64(l.Facing) } func (Magma) Hash() (uint64, uint64) { return hashMagma, 0 } func (Melon) Hash() (uint64, uint64) { return hashMelon, 0 } func (m MelonSeeds) Hash() (uint64, uint64) { return hashMelonSeeds, uint64(m.Growth) | uint64(m.Direction)<<8 } func (MossCarpet) Hash() (uint64, uint64) { return hashMossCarpet, 0 } func (Mud) Hash() (uint64, uint64) { return hashMud, 0 } func (MudBricks) Hash() (uint64, uint64) { return hashMudBricks, 0 } func (m MuddyMangroveRoots) Hash() (uint64, uint64) { return hashMuddyMangroveRoots, uint64(m.Axis) } func (NetherBrickFence) Hash() (uint64, uint64) { return hashNetherBrickFence, 0 } func (n NetherBricks) Hash() (uint64, uint64) { return hashNetherBricks, uint64(n.Type.Uint8()) } func (NetherGoldOre) Hash() (uint64, uint64) { return hashNetherGoldOre, 0 } func (NetherQuartzOre) Hash() (uint64, uint64) { return hashNetherQuartzOre, 0 } func (NetherSprouts) Hash() (uint64, uint64) { return hashNetherSprouts, 0 } func (n NetherWart) Hash() (uint64, uint64) { return hashNetherWart, uint64(n.Age) } func (n NetherWartBlock) Hash() (uint64, uint64) { return hashNetherWartBlock, uint64(boolByte(n.Warped)) } func (Netherite) Hash() (uint64, uint64) { return hashNetherite, 0 } func (Netherrack) Hash() (uint64, uint64) { return hashNetherrack, 0 } func (Note) Hash() (uint64, uint64) { return hashNote, 0 } func (o Obsidian) Hash() (uint64, uint64) { return hashObsidian, uint64(boolByte(o.Crying)) } func (PackedIce) Hash() (uint64, uint64) { return hashPackedIce, 0 } func (PackedMud) Hash() (uint64, uint64) { return hashPackedMud, 0 } func (p PinkPetals) Hash() (uint64, uint64) { return hashPinkPetals, uint64(p.AdditionalCount) | uint64(p.Facing)<<8 } func (p Planks) Hash() (uint64, uint64) { return hashPlanks, uint64(p.Wood.Uint8()) } func (Podzol) Hash() (uint64, uint64) { return hashPodzol, 0 } func (b PolishedBlackstoneBrick) Hash() (uint64, uint64) { return hashPolishedBlackstoneBrick, uint64(boolByte(b.Cracked)) } func (PolishedTuff) Hash() (uint64, uint64) { return hashPolishedTuff, 0 } func (p Potato) Hash() (uint64, uint64) { return hashPotato, uint64(p.Growth) } func (p Prismarine) Hash() (uint64, uint64) { return hashPrismarine, uint64(p.Type.Uint8()) } func (p Pumpkin) Hash() (uint64, uint64) { return hashPumpkin, uint64(boolByte(p.Carved)) | uint64(p.Facing)<<1 } func (p PumpkinSeeds) Hash() (uint64, uint64) { return hashPumpkinSeeds, uint64(p.Growth) | uint64(p.Direction)<<8 } func (Purpur) Hash() (uint64, uint64) { return hashPurpur, 0 } func (p PurpurPillar) Hash() (uint64, uint64) { return hashPurpurPillar, uint64(p.Axis) } func (q Quartz) Hash() (uint64, uint64) { return hashQuartz, uint64(boolByte(q.Smooth)) } func (QuartzBricks) Hash() (uint64, uint64) { return hashQuartzBricks, 0 } func (q QuartzPillar) Hash() (uint64, uint64) { return hashQuartzPillar, uint64(q.Axis) } func (RawCopper) Hash() (uint64, uint64) { return hashRawCopper, 0 } func (RawGold) Hash() (uint64, uint64) { return hashRawGold, 0 } func (RawIron) Hash() (uint64, uint64) { return hashRawIron, 0 } func (RedstoneBlock) Hash() (uint64, uint64) { return hashRedstoneBlock, 0 } func (r RedstoneOre) Hash() (uint64, uint64) { return hashRedstoneOre, uint64(r.Type.Uint8()) | uint64(boolByte(r.Lit))<<1 } func (t RedstoneTorch) Hash() (uint64, uint64) { return hashRedstoneTorch, uint64(t.Facing) | uint64(boolByte(t.Lit))<<3 } func (r RedstoneWire) Hash() (uint64, uint64) { return hashRedstoneWire, uint64(r.Power) } func (ReinforcedDeepslate) Hash() (uint64, uint64) { return hashReinforcedDeepslate, 0 } func (Resin) Hash() (uint64, uint64) { return hashResin, 0 } func (r ResinBricks) Hash() (uint64, uint64) { return hashResinBricks, uint64(boolByte(r.Chiseled)) } func (s Sand) Hash() (uint64, uint64) { return hashSand, uint64(boolByte(s.Red)) } func (s Sandstone) Hash() (uint64, uint64) { return hashSandstone, uint64(s.Type.Uint8()) | uint64(boolByte(s.Red))<<2 } func (SeaLantern) Hash() (uint64, uint64) { return hashSeaLantern, 0 } func (s SeaPickle) Hash() (uint64, uint64) { return hashSeaPickle, uint64(s.AdditionalCount) | uint64(boolByte(s.Dead))<<8 } func (ShortGrass) Hash() (uint64, uint64) { return hashShortGrass, 0 } func (Shroomlight) Hash() (uint64, uint64) { return hashShroomlight, 0 } func (s Sign) Hash() (uint64, uint64) { return hashSign, uint64(s.Wood.Uint8()) | uint64(s.Attach.Uint8())<<4 } func (s Skull) Hash() (uint64, uint64) { return hashSkull, uint64(s.Type.Uint8()) | uint64(s.Attach.FaceUint8())<<3 } func (s Slab) Hash() (uint64, uint64) { return hashSlab, world.BlockHash(s.Block) | uint64(boolByte(s.Top))<<32 | uint64(boolByte(s.Double))<<33 } func (Slime) Hash() (uint64, uint64) { return hashSlime, 0 } func (SmithingTable) Hash() (uint64, uint64) { return hashSmithingTable, 0 } func (s Smoker) Hash() (uint64, uint64) { return hashSmoker, uint64(s.Facing) | uint64(boolByte(s.Lit))<<2 } func (SmoothBasalt) Hash() (uint64, uint64) { return hashSmoothBasalt, 0 } func (Snow) Hash() (uint64, uint64) { return hashSnow, 0 } func (SoulSand) Hash() (uint64, uint64) { return hashSoulSand, 0 } func (SoulSoil) Hash() (uint64, uint64) { return hashSoulSoil, 0 } func (s Sponge) Hash() (uint64, uint64) { return hashSponge, uint64(boolByte(s.Wet)) } func (SporeBlossom) Hash() (uint64, uint64) { return hashSporeBlossom, 0 } func (g StainedGlass) Hash() (uint64, uint64) { return hashStainedGlass, uint64(g.Colour.Uint8()) } func (p StainedGlassPane) Hash() (uint64, uint64) { return hashStainedGlassPane, uint64(p.Colour.Uint8()) } func (t StainedTerracotta) Hash() (uint64, uint64) { return hashStainedTerracotta, uint64(t.Colour.Uint8()) } func (s Stairs) Hash() (uint64, uint64) { return hashStairs, world.BlockHash(s.Block) | uint64(boolByte(s.UpsideDown))<<32 | uint64(s.Facing)<<33 } func (s Stone) Hash() (uint64, uint64) { return hashStone, uint64(boolByte(s.Smooth)) } func (s StoneBricks) Hash() (uint64, uint64) { return hashStoneBricks, uint64(s.Type.Uint8()) } func (s Stonecutter) Hash() (uint64, uint64) { return hashStonecutter, uint64(s.Facing) } func (s String) Hash() (uint64, uint64) { return hashString, uint64(boolByte(s.Attached)) | uint64(boolByte(s.Disarmed))<<1 | uint64(boolByte(s.Powered))<<2 | uint64(boolByte(s.Suspended))<<3 } func (c SugarCane) Hash() (uint64, uint64) { return hashSugarCane, uint64(c.Age) } func (TNT) Hash() (uint64, uint64) { return hashTNT, 0 } func (Terracotta) Hash() (uint64, uint64) { return hashTerracotta, 0 } func (t Torch) Hash() (uint64, uint64) { return hashTorch, uint64(t.Facing) | uint64(t.Type.Uint8())<<3 } func (t Tuff) Hash() (uint64, uint64) { return hashTuff, uint64(boolByte(t.Chiseled)) } func (t TuffBricks) Hash() (uint64, uint64) { return hashTuffBricks, uint64(boolByte(t.Chiseled)) } func (v Vines) Hash() (uint64, uint64) { return hashVines, uint64(boolByte(v.NorthDirection)) | uint64(boolByte(v.EastDirection))<<1 | uint64(boolByte(v.SouthDirection))<<2 | uint64(boolByte(v.WestDirection))<<3 } func (w Wall) Hash() (uint64, uint64) { return hashWall, world.BlockHash(w.Block) | uint64(w.NorthConnection.Uint8())<<32 | uint64(w.EastConnection.Uint8())<<34 | uint64(w.SouthConnection.Uint8())<<36 | uint64(w.WestConnection.Uint8())<<38 | uint64(boolByte(w.Post))<<40 } func (w Water) Hash() (uint64, uint64) { return hashWater, uint64(boolByte(w.Still)) | uint64(w.Depth)<<1 | uint64(boolByte(w.Falling))<<9 } func (s WheatSeeds) Hash() (uint64, uint64) { return hashWheatSeeds, uint64(s.Growth) } func (w Wood) Hash() (uint64, uint64) { return hashWood, uint64(w.Wood.Uint8()) | uint64(boolByte(w.Stripped))<<4 | uint64(w.Axis)<<5 } func (d WoodDoor) Hash() (uint64, uint64) { return hashWoodDoor, uint64(d.Wood.Uint8()) | uint64(d.Facing)<<4 | uint64(boolByte(d.Open))<<6 | uint64(boolByte(d.Top))<<7 | uint64(boolByte(d.Right))<<8 } func (w WoodFence) Hash() (uint64, uint64) { return hashWoodFence, uint64(w.Wood.Uint8()) } func (f WoodFenceGate) Hash() (uint64, uint64) { return hashWoodFenceGate, uint64(f.Wood.Uint8()) | uint64(f.Facing)<<4 | uint64(boolByte(f.Open))<<6 | uint64(boolByte(f.Lowered))<<7 } func (t WoodTrapdoor) Hash() (uint64, uint64) { return hashWoodTrapdoor, uint64(t.Wood.Uint8()) | uint64(t.Facing)<<4 | uint64(boolByte(t.Open))<<6 | uint64(boolByte(t.Top))<<7 } func (w Wool) Hash() (uint64, uint64) { return hashWool, uint64(w.Colour.Uint8()) }