diff options
author | Tiger Wang <ziwei.tiger@outlook.com> | 2020-07-18 15:22:14 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@outlook.com> | 2020-07-18 20:23:10 +0200 |
commit | 7425305154fb0005fde9f077cd30100c53d511a4 (patch) | |
tree | 0aeba36b1443daae94c38fe1a45075d1d31bd221 /src/Registries/Blocks.h | |
parent | Move IsValidSocket out of global namespace (diff) | |
download | cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.gz cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.bz2 cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.lz cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.xz cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.zst cuberite-7425305154fb0005fde9f077cd30100c53d511a4.zip |
Diffstat (limited to '')
-rw-r--r-- | src/Registries/Blocks.h | 25809 |
1 files changed, 25809 insertions, 0 deletions
diff --git a/src/Registries/Blocks.h b/src/Registries/Blocks.h new file mode 100644 index 000000000..d7fdf236c --- /dev/null +++ b/src/Registries/Blocks.h @@ -0,0 +1,25809 @@ +#pragma once + +#include "Globals.h" +#include "../Defines.h" + +namespace Block +{ + enum class Type + { + AcaciaButton, + AcaciaDoor, + AcaciaFence, + AcaciaFenceGate, + AcaciaLeaves, + AcaciaLog, + AcaciaPlanks, + AcaciaPressurePlate, + AcaciaSapling, + AcaciaSign, + AcaciaSlab, + AcaciaStairs, + AcaciaTrapdoor, + AcaciaWallSign, + AcaciaWood, + ActivatorRail, + Air, + Allium, + AncientDebris, + Andesite, + AndesiteSlab, + AndesiteStairs, + AndesiteWall, + Anvil, + AttachedMelonStem, + AttachedPumpkinStem, + AzureBluet, + Bamboo, + BambooSapling, + Barrel, + Barrier, + Basalt, + Beacon, + Bedrock, + BeeNest, + Beehive, + Beetroots, + Bell, + BirchButton, + BirchDoor, + BirchFence, + BirchFenceGate, + BirchLeaves, + BirchLog, + BirchPlanks, + BirchPressurePlate, + BirchSapling, + BirchSign, + BirchSlab, + BirchStairs, + BirchTrapdoor, + BirchWallSign, + BirchWood, + BlackBanner, + BlackBed, + BlackCarpet, + BlackConcrete, + BlackConcretePowder, + BlackGlazedTerracotta, + BlackShulkerBox, + BlackStainedGlass, + BlackStainedGlassPane, + BlackTerracotta, + BlackWallBanner, + BlackWool, + Blackstone, + BlackstoneSlab, + BlackstoneStairs, + BlackstoneWall, + BlastFurnace, + BlueBanner, + BlueBed, + BlueCarpet, + BlueConcrete, + BlueConcretePowder, + BlueGlazedTerracotta, + BlueIce, + BlueOrchid, + BlueShulkerBox, + BlueStainedGlass, + BlueStainedGlassPane, + BlueTerracotta, + BlueWallBanner, + BlueWool, + BoneBlock, + Bookshelf, + BrainCoral, + BrainCoralBlock, + BrainCoralFan, + BrainCoralWallFan, + BrewingStand, + BrickSlab, + BrickStairs, + BrickWall, + Bricks, + BrownBanner, + BrownBed, + BrownCarpet, + BrownConcrete, + BrownConcretePowder, + BrownGlazedTerracotta, + BrownMushroom, + BrownMushroomBlock, + BrownShulkerBox, + BrownStainedGlass, + BrownStainedGlassPane, + BrownTerracotta, + BrownWallBanner, + BrownWool, + BubbleColumn, + BubbleCoral, + BubbleCoralBlock, + BubbleCoralFan, + BubbleCoralWallFan, + Cactus, + Cake, + Campfire, + Carrots, + CartographyTable, + CarvedPumpkin, + Cauldron, + CaveAir, + Chain, + ChainCommandBlock, + Chest, + ChippedAnvil, + ChiseledNetherBricks, + ChiseledPolishedBlackstone, + ChiseledQuartzBlock, + ChiseledRedSandstone, + ChiseledSandstone, + ChiseledStoneBricks, + ChorusFlower, + ChorusPlant, + Clay, + CoalBlock, + CoalOre, + CoarseDirt, + Cobblestone, + CobblestoneSlab, + CobblestoneStairs, + CobblestoneWall, + Cobweb, + Cocoa, + CommandBlock, + Comparator, + Composter, + Conduit, + Cornflower, + CrackedNetherBricks, + CrackedPolishedBlackstoneBricks, + CrackedStoneBricks, + CraftingTable, + CreeperHead, + CreeperWallHead, + CrimsonButton, + CrimsonDoor, + CrimsonFence, + CrimsonFenceGate, + CrimsonFungus, + CrimsonHyphae, + CrimsonNylium, + CrimsonPlanks, + CrimsonPressurePlate, + CrimsonRoots, + CrimsonSign, + CrimsonSlab, + CrimsonStairs, + CrimsonStem, + CrimsonTrapdoor, + CrimsonWallSign, + CryingObsidian, + CutRedSandstone, + CutRedSandstoneSlab, + CutSandstone, + CutSandstoneSlab, + CyanBanner, + CyanBed, + CyanCarpet, + CyanConcrete, + CyanConcretePowder, + CyanGlazedTerracotta, + CyanShulkerBox, + CyanStainedGlass, + CyanStainedGlassPane, + CyanTerracotta, + CyanWallBanner, + CyanWool, + DamagedAnvil, + Dandelion, + DarkOakButton, + DarkOakDoor, + DarkOakFence, + DarkOakFenceGate, + DarkOakLeaves, + DarkOakLog, + DarkOakPlanks, + DarkOakPressurePlate, + DarkOakSapling, + DarkOakSign, + DarkOakSlab, + DarkOakStairs, + DarkOakTrapdoor, + DarkOakWallSign, + DarkOakWood, + DarkPrismarine, + DarkPrismarineSlab, + DarkPrismarineStairs, + DaylightDetector, + DeadBrainCoral, + DeadBrainCoralBlock, + DeadBrainCoralFan, + DeadBrainCoralWallFan, + DeadBubbleCoral, + DeadBubbleCoralBlock, + DeadBubbleCoralFan, + DeadBubbleCoralWallFan, + DeadBush, + DeadFireCoral, + DeadFireCoralBlock, + DeadFireCoralFan, + DeadFireCoralWallFan, + DeadHornCoral, + DeadHornCoralBlock, + DeadHornCoralFan, + DeadHornCoralWallFan, + DeadTubeCoral, + DeadTubeCoralBlock, + DeadTubeCoralFan, + DeadTubeCoralWallFan, + DetectorRail, + DiamondBlock, + DiamondOre, + Diorite, + DioriteSlab, + DioriteStairs, + DioriteWall, + Dirt, + Dispenser, + DragonEgg, + DragonHead, + DragonWallHead, + DriedKelpBlock, + Dropper, + EmeraldBlock, + EmeraldOre, + EnchantingTable, + EndGateway, + EndPortal, + EndPortalFrame, + EndRod, + EndStone, + EndStoneBrickSlab, + EndStoneBrickStairs, + EndStoneBrickWall, + EndStoneBricks, + EnderChest, + Farmland, + Fern, + Fire, + FireCoral, + FireCoralBlock, + FireCoralFan, + FireCoralWallFan, + FletchingTable, + FlowerPot, + FrostedIce, + Furnace, + GildedBlackstone, + Glass, + GlassPane, + Glowstone, + GoldBlock, + GoldOre, + Granite, + GraniteSlab, + GraniteStairs, + GraniteWall, + Grass, + GrassBlock, + GrassPath, + Gravel, + GrayBanner, + GrayBed, + GrayCarpet, + GrayConcrete, + GrayConcretePowder, + GrayGlazedTerracotta, + GrayShulkerBox, + GrayStainedGlass, + GrayStainedGlassPane, + GrayTerracotta, + GrayWallBanner, + GrayWool, + GreenBanner, + GreenBed, + GreenCarpet, + GreenConcrete, + GreenConcretePowder, + GreenGlazedTerracotta, + GreenShulkerBox, + GreenStainedGlass, + GreenStainedGlassPane, + GreenTerracotta, + GreenWallBanner, + GreenWool, + Grindstone, + HayBale, + HeavyWeightedPressurePlate, + HoneyBlock, + HoneycombBlock, + Hopper, + HornCoral, + HornCoralBlock, + HornCoralFan, + HornCoralWallFan, + Ice, + InfestedChiseledStoneBricks, + InfestedCobblestone, + InfestedCrackedStoneBricks, + InfestedMossyStoneBricks, + InfestedStone, + InfestedStoneBricks, + IronBars, + IronBlock, + IronDoor, + IronOre, + IronTrapdoor, + JackOLantern, + Jigsaw, + Jukebox, + JungleButton, + JungleDoor, + JungleFence, + JungleFenceGate, + JungleLeaves, + JungleLog, + JunglePlanks, + JunglePressurePlate, + JungleSapling, + JungleSign, + JungleSlab, + JungleStairs, + JungleTrapdoor, + JungleWallSign, + JungleWood, + Kelp, + KelpPlant, + Ladder, + Lantern, + LapisBlock, + LapisOre, + LargeFern, + Lava, + Lectern, + Lever, + LightBlueBanner, + LightBlueBed, + LightBlueCarpet, + LightBlueConcrete, + LightBlueConcretePowder, + LightBlueGlazedTerracotta, + LightBlueShulkerBox, + LightBlueStainedGlass, + LightBlueStainedGlassPane, + LightBlueTerracotta, + LightBlueWallBanner, + LightBlueWool, + LightGrayBanner, + LightGrayBed, + LightGrayCarpet, + LightGrayConcrete, + LightGrayConcretePowder, + LightGrayGlazedTerracotta, + LightGrayShulkerBox, + LightGrayStainedGlass, + LightGrayStainedGlassPane, + LightGrayTerracotta, + LightGrayWallBanner, + LightGrayWool, + LightWeightedPressurePlate, + Lilac, + LilyOfTheValley, + LilyPad, + LimeBanner, + LimeBed, + LimeCarpet, + LimeConcrete, + LimeConcretePowder, + LimeGlazedTerracotta, + LimeShulkerBox, + LimeStainedGlass, + LimeStainedGlassPane, + LimeTerracotta, + LimeWallBanner, + LimeWool, + Lodestone, + Loom, + MagentaBanner, + MagentaBed, + MagentaCarpet, + MagentaConcrete, + MagentaConcretePowder, + MagentaGlazedTerracotta, + MagentaShulkerBox, + MagentaStainedGlass, + MagentaStainedGlassPane, + MagentaTerracotta, + MagentaWallBanner, + MagentaWool, + MagmaBlock, + Melon, + MelonStem, + MossyCobblestone, + MossyCobblestoneSlab, + MossyCobblestoneStairs, + MossyCobblestoneWall, + MossyStoneBrickSlab, + MossyStoneBrickStairs, + MossyStoneBrickWall, + MossyStoneBricks, + MovingPiston, + MushroomStem, + Mycelium, + NetherBrickFence, + NetherBrickSlab, + NetherBrickStairs, + NetherBrickWall, + NetherBricks, + NetherGoldOre, + NetherPortal, + NetherQuartzOre, + NetherSprouts, + NetherWart, + NetherWartBlock, + NetheriteBlock, + Netherrack, + NoteBlock, + OakButton, + OakDoor, + OakFence, + OakFenceGate, + OakLeaves, + OakLog, + OakPlanks, + OakPressurePlate, + OakSapling, + OakSign, + OakSlab, + OakStairs, + OakTrapdoor, + OakWallSign, + OakWood, + Observer, + Obsidian, + OrangeBanner, + OrangeBed, + OrangeCarpet, + OrangeConcrete, + OrangeConcretePowder, + OrangeGlazedTerracotta, + OrangeShulkerBox, + OrangeStainedGlass, + OrangeStainedGlassPane, + OrangeTerracotta, + OrangeTulip, + OrangeWallBanner, + OrangeWool, + OxeyeDaisy, + PackedIce, + Peony, + PetrifiedOakSlab, + PinkBanner, + PinkBed, + PinkCarpet, + PinkConcrete, + PinkConcretePowder, + PinkGlazedTerracotta, + PinkShulkerBox, + PinkStainedGlass, + PinkStainedGlassPane, + PinkTerracotta, + PinkTulip, + PinkWallBanner, + PinkWool, + Piston, + PistonHead, + PlayerHead, + PlayerWallHead, + Podzol, + PolishedAndesite, + PolishedAndesiteSlab, + PolishedAndesiteStairs, + PolishedBasalt, + PolishedBlackstone, + PolishedBlackstoneBrickSlab, + PolishedBlackstoneBrickStairs, + PolishedBlackstoneBrickWall, + PolishedBlackstoneBricks, + PolishedBlackstoneButton, + PolishedBlackstonePressurePlate, + PolishedBlackstoneSlab, + PolishedBlackstoneStairs, + PolishedBlackstoneWall, + PolishedDiorite, + PolishedDioriteSlab, + PolishedDioriteStairs, + PolishedGranite, + PolishedGraniteSlab, + PolishedGraniteStairs, + Poppy, + Potatoes, + PottedAcaciaSapling, + PottedAllium, + PottedAzureBluet, + PottedBamboo, + PottedBirchSapling, + PottedBlueOrchid, + PottedBrownMushroom, + PottedCactus, + PottedCornflower, + PottedCrimsonFungus, + PottedCrimsonRoots, + PottedDandelion, + PottedDarkOakSapling, + PottedDeadBush, + PottedFern, + PottedJungleSapling, + PottedLilyOfTheValley, + PottedOakSapling, + PottedOrangeTulip, + PottedOxeyeDaisy, + PottedPinkTulip, + PottedPoppy, + PottedRedMushroom, + PottedRedTulip, + PottedSpruceSapling, + PottedWarpedFungus, + PottedWarpedRoots, + PottedWhiteTulip, + PottedWitherRose, + PoweredRail, + Prismarine, + PrismarineBrickSlab, + PrismarineBrickStairs, + PrismarineBricks, + PrismarineSlab, + PrismarineStairs, + PrismarineWall, + Pumpkin, + PumpkinStem, + PurpleBanner, + PurpleBed, + PurpleCarpet, + PurpleConcrete, + PurpleConcretePowder, + PurpleGlazedTerracotta, + PurpleShulkerBox, + PurpleStainedGlass, + PurpleStainedGlassPane, + PurpleTerracotta, + PurpleWallBanner, + PurpleWool, + PurpurBlock, + PurpurPillar, + PurpurSlab, + PurpurStairs, + QuartzBlock, + QuartzBricks, + QuartzPillar, + QuartzSlab, + QuartzStairs, + Rail, + RedBanner, + RedBed, + RedCarpet, + RedConcrete, + RedConcretePowder, + RedGlazedTerracotta, + RedMushroom, + RedMushroomBlock, + RedNetherBrickSlab, + RedNetherBrickStairs, + RedNetherBrickWall, + RedNetherBricks, + RedSand, + RedSandstone, + RedSandstoneSlab, + RedSandstoneStairs, + RedSandstoneWall, + RedShulkerBox, + RedStainedGlass, + RedStainedGlassPane, + RedTerracotta, + RedTulip, + RedWallBanner, + RedWool, + RedstoneBlock, + RedstoneLamp, + RedstoneOre, + RedstoneTorch, + RedstoneWallTorch, + RedstoneWire, + Repeater, + RepeatingCommandBlock, + RespawnAnchor, + RoseBush, + Sand, + Sandstone, + SandstoneSlab, + SandstoneStairs, + SandstoneWall, + Scaffolding, + SeaLantern, + SeaPickle, + Seagrass, + Shroomlight, + ShulkerBox, + SkeletonSkull, + SkeletonWallSkull, + SlimeBlock, + SmithingTable, + Smoker, + SmoothQuartz, + SmoothQuartzSlab, + SmoothQuartzStairs, + SmoothRedSandstone, + SmoothRedSandstoneSlab, + SmoothRedSandstoneStairs, + SmoothSandstone, + SmoothSandstoneSlab, + SmoothSandstoneStairs, + SmoothStone, + SmoothStoneSlab, + Snow, + SnowBlock, + SoulCampfire, + SoulFire, + SoulLantern, + SoulSand, + SoulSoil, + SoulTorch, + SoulWallTorch, + Spawner, + Sponge, + SpruceButton, + SpruceDoor, + SpruceFence, + SpruceFenceGate, + SpruceLeaves, + SpruceLog, + SprucePlanks, + SprucePressurePlate, + SpruceSapling, + SpruceSign, + SpruceSlab, + SpruceStairs, + SpruceTrapdoor, + SpruceWallSign, + SpruceWood, + StickyPiston, + Stone, + StoneBrickSlab, + StoneBrickStairs, + StoneBrickWall, + StoneBricks, + StoneButton, + StonePressurePlate, + StoneSlab, + StoneStairs, + Stonecutter, + StrippedAcaciaLog, + StrippedAcaciaWood, + StrippedBirchLog, + StrippedBirchWood, + StrippedCrimsonHyphae, + StrippedCrimsonStem, + StrippedDarkOakLog, + StrippedDarkOakWood, + StrippedJungleLog, + StrippedJungleWood, + StrippedOakLog, + StrippedOakWood, + StrippedSpruceLog, + StrippedSpruceWood, + StrippedWarpedHyphae, + StrippedWarpedStem, + StructureBlock, + StructureVoid, + SugarCane, + Sunflower, + SweetBerryBush, + TallGrass, + TallSeagrass, + Target, + Terracotta, + Tnt, + Torch, + TrappedChest, + Tripwire, + TripwireHook, + TubeCoral, + TubeCoralBlock, + TubeCoralFan, + TubeCoralWallFan, + TurtleEgg, + TwistingVines, + TwistingVinesPlant, + Vine, + VoidAir, + WallTorch, + WarpedButton, + WarpedDoor, + WarpedFence, + WarpedFenceGate, + WarpedFungus, + WarpedHyphae, + WarpedNylium, + WarpedPlanks, + WarpedPressurePlate, + WarpedRoots, + WarpedSign, + WarpedSlab, + WarpedStairs, + WarpedStem, + WarpedTrapdoor, + WarpedWallSign, + WarpedWartBlock, + Water, + WeepingVines, + WeepingVinesPlant, + WetSponge, + Wheat, + WhiteBanner, + WhiteBed, + WhiteCarpet, + WhiteConcrete, + WhiteConcretePowder, + WhiteGlazedTerracotta, + WhiteShulkerBox, + WhiteStainedGlass, + WhiteStainedGlassPane, + WhiteTerracotta, + WhiteTulip, + WhiteWallBanner, + WhiteWool, + WitherRose, + WitherSkeletonSkull, + WitherSkeletonWallSkull, + YellowBanner, + YellowBed, + YellowCarpet, + YellowConcrete, + YellowConcretePowder, + YellowGlazedTerracotta, + YellowShulkerBox, + YellowStainedGlass, + YellowStainedGlassPane, + YellowTerracotta, + YellowWallBanner, + YellowWool, + ZombieHead, + ZombieWallHead + }; + enum Type Type(short ID); + bool Is(short ID, enum Type Type); + namespace AcaciaButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short AcaciaButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6443; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6447; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6451; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6455; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6459; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6463; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6444; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6448; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6452; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6456; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6460; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6464; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6445; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6449; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6453; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6457; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6461; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6465; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6442; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6446; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6450; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6454; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6458; + return 6462; + } + short AcaciaButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace AcaciaDoor + { + enum class Half + { + Upper, + Lower + }; + enum class Hinge + { + Left, + Right + }; + constexpr short AcaciaDoor(eBlockFace Facing, enum Half Half, enum Hinge Hinge, bool Open, bool Powered) + { + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 8955; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 8987; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 8956; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 8988; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 8957; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 8989; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 8958; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 8990; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 8959; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 8991; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 8960; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 8992; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 8961; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 8930; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 8962; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 8931; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 8963; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 8932; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 8964; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 8933; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 8965; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 8934; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 8966; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 8935; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 8967; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 8936; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 8968; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 8937; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 8969; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 8938; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 8970; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 8939; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 8971; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 8940; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 8972; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 8941; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 8973; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 8942; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 8974; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 8943; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 8975; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 8944; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 8976; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 8945; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 8977; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 8946; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 8978; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 8947; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 8979; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 8948; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 8980; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 8949; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 8981; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 8950; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 8982; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 8951; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 8983; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 8952; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 8984; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 8953; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Right) return 8985; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 8954; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 8986; + return 8993; + } + short AcaciaDoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Hinge Hinge(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace AcaciaFence + { + constexpr short AcaciaFence(bool East, bool North, bool South, bool West) + { + if (!false && South && !West && East && North) return 8677; + if (!false && South && !West && East && !North) return 8685; + if (!false && South && !West && !East && North) return 8693; + if (!false && South && !West && !East && !North) return 8701; + if (false && !South && West && East && North) return 8678; + if (false && !South && West && East && !North) return 8686; + if (false && !South && West && !East && North) return 8694; + if (false && !South && West && !East && !North) return 8702; + if (false && !South && !West && East && North) return 8679; + if (false && !South && !West && East && !North) return 8687; + if (false && !South && !West && !East && North) return 8695; + if (false && !South && !West && !East && !North) return 8703; + if (!false && !South && West && East && North) return 8680; + if (!false && !South && West && East && !North) return 8688; + if (!false && !South && West && !East && North) return 8696; + if (!false && !South && West && !East && !North) return 8704; + if (!false && !South && !West && East && North) return 8681; + if (!false && !South && !West && East && !North) return 8689; + if (!false && !South && !West && !East && North) return 8697; + if (false && South && West && East && North) return 8674; + if (false && South && West && East && !North) return 8682; + if (false && South && West && !East && North) return 8690; + if (false && South && West && !East && !North) return 8698; + if (false && South && !West && East && North) return 8675; + if (false && South && !West && East && !North) return 8683; + if (false && South && !West && !East && North) return 8691; + if (false && South && !West && !East && !North) return 8699; + if (!false && South && West && East && North) return 8676; + if (!false && South && West && East && !North) return 8684; + if (!false && South && West && !East && North) return 8692; + if (!false && South && West && !East && !North) return 8700; + return 8705; + } + short AcaciaFence(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace AcaciaFenceGate + { + constexpr short AcaciaFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) + { + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8522; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8530; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8538; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8515; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8523; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8531; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8539; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8516; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8524; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8532; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8540; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8517; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8525; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8533; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8541; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8518; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8526; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8534; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8542; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8519; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8527; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8535; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8543; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8520; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8528; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8536; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8544; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8521; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8529; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8537; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8514; + return 8545; + } + short AcaciaFenceGate(); + eBlockFace Facing(short ID); + bool InWall(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace AcaciaLeaves + { + constexpr short AcaciaLeaves(unsigned char Distance, bool Persistent) + { + if (Persistent && Distance == 7) return 213; + if (!Persistent && Distance == 3) return 206; + if (!Persistent && Distance == 7) return 214; + if (Persistent && Distance == 4) return 207; + if (!Persistent && Distance == 4) return 208; + if (Persistent && Distance == 1) return 201; + if (Persistent && Distance == 5) return 209; + if (!Persistent && Distance == 1) return 202; + if (!Persistent && Distance == 5) return 210; + if (Persistent && Distance == 2) return 203; + if (Persistent && Distance == 6) return 211; + if (!Persistent && Distance == 2) return 204; + if (!Persistent && Distance == 6) return 212; + return 205; + } + short AcaciaLeaves(); + unsigned char Distance(short ID); + bool Persistent(short ID); + } + namespace AcaciaLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short AcaciaLog(enum Axis Axis) + { + if (Axis == Axis::X) return 85; + if (Axis == Axis::Y) return 86; + return 87; + } + short AcaciaLog(); + enum Axis Axis(short ID); + } + namespace AcaciaPlanks + { + constexpr short AcaciaPlanks() + { + return 19; + } + } + namespace AcaciaPressurePlate + { + constexpr short AcaciaPressurePlate(bool Powered) + { + if (Powered) return 3881; + return 3882; + } + short AcaciaPressurePlate(); + bool Powered(short ID); + } + namespace AcaciaSapling + { + constexpr short AcaciaSapling(unsigned char Stage) + { + if (Stage == 0) return 29; + return 30; + } + short AcaciaSapling(); + unsigned char Stage(short ID); + } + namespace AcaciaSign + { + constexpr short AcaciaSign(unsigned char Rotation) + { + if (Rotation == 3 && false) return 3483; + if (Rotation == 4 && false) return 3485; + if (Rotation == 5 && false) return 3487; + if (Rotation == 6 && false) return 3489; + if (Rotation == 7 && false) return 3491; + if (Rotation == 8 && false) return 3493; + if (Rotation == 9 && false) return 3495; + if (Rotation == 10 && false) return 3497; + if (Rotation == 11 && false) return 3499; + if (Rotation == 12 && false) return 3501; + if (Rotation == 13 && false) return 3503; + if (Rotation == 14 && false) return 3505; + if (Rotation == 15 && false) return 3507; + if (Rotation == 0 && !false) return 3478; + if (Rotation == 1 && !false) return 3480; + if (Rotation == 2 && !false) return 3482; + if (Rotation == 3 && !false) return 3484; + if (Rotation == 4 && !false) return 3486; + if (Rotation == 5 && !false) return 3488; + if (Rotation == 6 && !false) return 3490; + if (Rotation == 7 && !false) return 3492; + if (Rotation == 8 && !false) return 3494; + if (Rotation == 9 && !false) return 3496; + if (Rotation == 10 && !false) return 3498; + if (Rotation == 11 && !false) return 3500; + if (Rotation == 12 && !false) return 3502; + if (Rotation == 13 && !false) return 3504; + if (Rotation == 14 && !false) return 3506; + if (Rotation == 0 && false) return 3477; + if (Rotation == 1 && false) return 3479; + if (Rotation == 2 && false) return 3481; + return 3508; + } + short AcaciaSign(); + unsigned char Rotation(short ID); + bool Waterlogged(short ID); + } + namespace AcaciaSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short AcaciaSlab(enum Type Type) + { + if (Type == Type::Top && !false) return 8325; + if (Type == Type::Double && !false) return 8329; + if (Type == Type::Bottom && false) return 8326; + if (Type == Type::Bottom && !false) return 8327; + if (Type == Type::Top && false) return 8324; + return 8328; + } + short AcaciaSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace AcaciaStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short AcaciaStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7425; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7426; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7427; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7428; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7429; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7430; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7431; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7432; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7433; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7434; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7435; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7436; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7437; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7438; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7375; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7439; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7376; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7440; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7377; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7441; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7378; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7442; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7379; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7443; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7380; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7444; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7381; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7445; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7382; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7446; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7383; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7447; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7384; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7448; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7385; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7449; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7386; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7450; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7387; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7451; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7388; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7452; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7389; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7453; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7390; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7454; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7391; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7392; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7393; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7394; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7395; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7396; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7397; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7398; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7399; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7400; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7401; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7402; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7403; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7404; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7405; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7406; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7407; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7408; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7409; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7410; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7411; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7412; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7413; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7414; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7415; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7416; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7417; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7418; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7419; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7420; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7421; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7422; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7423; + return 7424; + } + short AcaciaStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace AcaciaTrapdoor + { + enum class Half + { + Top, + Bottom + }; + constexpr short AcaciaTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) + { + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4384; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4400; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4416; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4369; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4385; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4401; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4417; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4370; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4386; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4402; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4418; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4371; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4387; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4403; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4419; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4372; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4388; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4404; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4420; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4373; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4389; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4405; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4421; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4374; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4390; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4406; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4422; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4375; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4391; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4407; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4423; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4376; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4392; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4408; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4424; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4377; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4393; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4409; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4425; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4378; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4394; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4410; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4426; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4379; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4395; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4411; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4427; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4380; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4396; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4412; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4428; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4381; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4397; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4413; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4429; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4382; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4398; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4414; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4367; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4383; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4399; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4415; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4368; + return 4430; + } + short AcaciaTrapdoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + bool Open(short ID); + bool Powered(short ID); + bool Waterlogged(short ID); + } + namespace AcaciaWallSign + { + constexpr short AcaciaWallSign(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 3764; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 3765; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 3759; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 3760; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 3761; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 3762; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 3763; + return 3766; + } + short AcaciaWallSign(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace AcaciaWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short AcaciaWood(enum Axis Axis) + { + if (Axis == Axis::X) return 121; + if (Axis == Axis::Y) return 122; + return 123; + } + short AcaciaWood(); + enum Axis Axis(short ID); + } + namespace ActivatorRail + { + enum class Shape + { + NorthSouth, + EastWest, + AscendingEast, + AscendingWest, + AscendingNorth, + AscendingSouth + }; + constexpr short ActivatorRail(bool Powered, enum Shape Shape) + { + if (Shape == Shape::AscendingWest && Powered) return 6826; + if (Shape == Shape::AscendingNorth && Powered) return 6827; + if (Shape == Shape::AscendingSouth && Powered) return 6828; + if (Shape == Shape::NorthSouth && !Powered) return 6829; + if (Shape == Shape::EastWest && !Powered) return 6830; + if (Shape == Shape::AscendingEast && !Powered) return 6831; + if (Shape == Shape::AscendingWest && !Powered) return 6832; + if (Shape == Shape::AscendingNorth && !Powered) return 6833; + if (Shape == Shape::AscendingSouth && !Powered) return 6834; + if (Shape == Shape::NorthSouth && Powered) return 6823; + if (Shape == Shape::EastWest && Powered) return 6824; + return 6825; + } + short ActivatorRail(); + bool Powered(short ID); + enum Shape Shape(short ID); + } + namespace Air + { + constexpr short Air() + { + return -0; + } + } + namespace Allium + { + constexpr short Allium() + { + return 1415; + } + } + namespace AncientDebris + { + constexpr short AncientDebris() + { + return 15827; + } + } + namespace Andesite + { + constexpr short Andesite() + { + return 6; + } + } + namespace AndesiteSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short AndesiteSlab(enum Type Type) + { + if (Type == Type::Bottom && false) return 10845; + if (Type == Type::Bottom && !false) return 10846; + if (Type == Type::Top && false) return 10843; + if (Type == Type::Double && false) return 10847; + if (Type == Type::Top && !false) return 10844; + return 10848; + } + short AndesiteSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace AndesiteStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short AndesiteStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10469; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10470; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10471; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10472; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10473; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10474; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10475; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10476; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10477; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10478; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10479; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10480; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10481; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10482; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10483; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10484; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10485; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10486; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10487; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10488; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10489; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10490; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10491; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10492; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10493; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10494; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10495; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10496; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10497; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10498; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10499; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10500; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10501; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10502; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10503; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10504; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10505; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10506; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10507; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10508; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10509; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10510; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10511; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10512; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10513; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10514; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10515; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10516; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10517; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10518; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10519; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10520; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10521; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10522; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10523; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10524; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10525; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10526; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10527; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10528; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10529; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10530; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10531; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10532; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10533; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10534; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10535; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10536; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10537; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10538; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10539; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10540; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10541; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10542; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10543; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10544; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10545; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10546; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10547; + return 10548; + } + short AndesiteStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace AndesiteWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short AndesiteWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 13138; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 13142; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 13146; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 13150; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 13154; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 13158; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 13162; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 13166; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 13170; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 13174; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 13178; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 13182; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 13186; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 13190; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 13194; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 13198; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 13202; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 13206; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 13210; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 13214; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13218; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 13222; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 13226; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13230; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 13234; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 13238; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13242; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 13246; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 13250; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 13254; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 13258; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 13262; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 13266; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 13270; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 13274; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 13278; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 13282; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 13286; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13290; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 13294; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 13298; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13302; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 13306; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 13310; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13314; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 13318; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13322; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13326; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 13330; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13334; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13338; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 13342; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13346; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13350; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 13354; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 13358; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13362; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 13366; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 13370; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13374; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 13378; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 13382; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13386; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 13390; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13394; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13398; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 13402; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13406; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13410; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 13414; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13418; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13422; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 13426; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13430; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13434; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 13438; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13442; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13446; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 13450; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13454; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13458; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 13135; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 13139; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 13143; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 13147; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 13151; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 13155; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 13159; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 13163; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 13167; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 13171; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 13175; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 13179; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 13183; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 13187; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 13191; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 13195; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 13199; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 13203; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 13207; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 13211; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13215; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 13219; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 13223; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13227; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 13231; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 13235; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13239; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 13243; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 13247; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 13251; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 13255; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 13259; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 13263; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 13267; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 13271; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 13275; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 13279; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 13283; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13287; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 13291; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 13295; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13299; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 13303; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 13307; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13311; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 13315; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 13319; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13323; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 13327; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 13331; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13335; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 13339; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 13343; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13347; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 13351; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 13355; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13359; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 13363; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 13367; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13371; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 13375; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 13379; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13383; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 13387; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 13391; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13395; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 13399; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 13403; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13407; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 13411; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 13415; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13419; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 13423; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13427; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13431; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 13435; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13439; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13443; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 13447; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13451; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13455; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 13136; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 13140; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 13144; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 13148; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 13152; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 13156; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 13160; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 13164; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 13168; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 13172; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 13176; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 13180; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 13184; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 13188; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 13192; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 13196; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 13200; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 13204; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 13208; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 13212; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 13216; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 13220; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 13224; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 13228; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 13232; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 13236; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 13240; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 13244; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 13248; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 13252; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 13256; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 13260; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 13264; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 13268; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 13272; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 13276; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 13280; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 13284; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 13288; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 13292; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 13296; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 13300; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 13304; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 13308; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 13312; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 13316; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13320; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 13324; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 13328; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13332; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 13336; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 13340; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13344; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 13348; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 13352; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 13356; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 13360; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 13364; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 13368; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 13372; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 13376; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 13380; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 13384; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 13388; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13392; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 13396; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 13400; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13404; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 13408; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 13412; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13416; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 13420; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13424; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13428; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13432; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13436; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13440; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13444; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13448; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13452; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13456; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 13137; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 13141; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 13145; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 13149; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 13153; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 13157; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 13161; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 13165; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 13169; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 13173; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 13177; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 13181; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 13185; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 13189; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 13193; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 13197; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 13201; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 13205; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 13209; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 13213; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 13217; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 13221; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 13225; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 13229; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 13233; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 13237; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 13241; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 13245; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 13249; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 13253; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 13257; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 13261; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 13265; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 13269; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 13273; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 13277; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 13281; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 13285; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 13289; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 13293; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 13297; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 13301; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 13305; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 13309; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 13313; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13317; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 13321; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13325; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13329; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 13333; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13337; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13341; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 13345; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13349; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 13353; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 13357; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 13361; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 13365; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 13369; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 13373; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 13377; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 13381; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 13385; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13389; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 13393; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13397; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13401; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 13405; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13409; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13413; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 13417; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13421; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13425; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13429; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13433; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13437; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13441; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13445; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13449; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13453; + return 13457; + } + short AndesiteWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace Anvil + { + constexpr short Anvil(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6610; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6611; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 6612; + return 6613; + } + short Anvil(); + eBlockFace Facing(short ID); + } + namespace AttachedMelonStem + { + constexpr short AttachedMelonStem(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4768; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4769; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 4770; + return 4771; + } + short AttachedMelonStem(); + eBlockFace Facing(short ID); + } + namespace AttachedPumpkinStem + { + constexpr short AttachedPumpkinStem(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4765; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 4766; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4764; + return 4767; + } + short AttachedPumpkinStem(); + eBlockFace Facing(short ID); + } + namespace AzureBluet + { + constexpr short AzureBluet() + { + return 1416; + } + } + namespace Bamboo + { + enum class Leaves + { + None, + Small, + Large + }; + constexpr short Bamboo(unsigned char Age, enum Leaves Leaves, unsigned char Stage) + { + if (Leaves == Leaves::Small && Age == 1 && Stage == 0) return 9660; + if (Leaves == Leaves::Large && Age == 1 && Stage == 0) return 9662; + if (Leaves == Leaves::None && Age == 0 && Stage == 1) return 9653; + if (Leaves == Leaves::Small && Age == 0 && Stage == 1) return 9655; + if (Leaves == Leaves::Large && Age == 0 && Stage == 1) return 9657; + if (Leaves == Leaves::None && Age == 1 && Stage == 1) return 9659; + if (Leaves == Leaves::Small && Age == 1 && Stage == 1) return 9661; + if (Leaves == Leaves::Large && Age == 1 && Stage == 1) return 9663; + if (Leaves == Leaves::None && Age == 0 && Stage == 0) return 9652; + if (Leaves == Leaves::Small && Age == 0 && Stage == 0) return 9654; + if (Leaves == Leaves::Large && Age == 0 && Stage == 0) return 9656; + return 9658; + } + short Bamboo(); + unsigned char Age(short ID); + enum Leaves Leaves(short ID); + unsigned char Stage(short ID); + } + namespace BambooSapling + { + constexpr short BambooSapling() + { + return 9651; + } + } + namespace Barrel + { + constexpr short Barrel(eBlockFace Facing, bool Open) + { + if (!Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 14792; + if (!Open && Facing == eBlockFace::BLOCK_FACE_XP) return 14794; + if (!Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 14796; + if (!Open && Facing == eBlockFace::BLOCK_FACE_XM) return 14798; + if (!Open && Facing == eBlockFace::BLOCK_FACE_YP) return 14800; + if (!Open && Facing == eBlockFace::BLOCK_FACE_YM) return 14802; + if (Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 14791; + if (Open && Facing == eBlockFace::BLOCK_FACE_XP) return 14793; + if (Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 14795; + if (Open && Facing == eBlockFace::BLOCK_FACE_XM) return 14797; + if (Open && Facing == eBlockFace::BLOCK_FACE_YP) return 14799; + return 14801; + } + short Barrel(); + eBlockFace Facing(short ID); + bool Open(short ID); + } + namespace Barrier + { + constexpr short Barrier() + { + return 7536; + } + } + namespace Basalt + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short Basalt(enum Axis Axis) + { + if (Axis == Axis::Y) return 4003; + if (Axis == Axis::X) return 4002; + return 4004; + } + short Basalt(); + enum Axis Axis(short ID); + } + namespace Beacon + { + constexpr short Beacon() + { + return 5656; + } + } + namespace Bedrock + { + constexpr short Bedrock() + { + return 33; + } + } + namespace BeeNest + { + constexpr short BeeNest(eBlockFace Facing, unsigned char HoneyLevel) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 0) return 15776; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 2) return 15784; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 4) return 15792; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 1) return 15777; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 3) return 15785; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 5) return 15793; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 2) return 15778; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 4) return 15786; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 0) return 15794; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 3) return 15779; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 5) return 15787; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 1) return 15795; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 4) return 15780; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 0) return 15788; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 2) return 15796; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 5) return 15781; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 1) return 15789; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 3) return 15797; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 0) return 15782; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 2) return 15790; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 4) return 15798; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 1) return 15783; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 3) return 15791; + return 15799; + } + short BeeNest(); + eBlockFace Facing(short ID); + unsigned char HoneyLevel(short ID); + } + namespace Beehive + { + constexpr short Beehive(eBlockFace Facing, unsigned char HoneyLevel) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 1) return 15807; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 3) return 15815; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 5) return 15823; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 0) return 15800; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 2) return 15808; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 4) return 15816; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 1) return 15801; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 3) return 15809; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 5) return 15817; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 2) return 15802; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 4) return 15810; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 0) return 15818; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 3) return 15803; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 5) return 15811; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 1) return 15819; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 4) return 15804; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 0) return 15812; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 2) return 15820; + if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 5) return 15805; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 1) return 15813; + if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 3) return 15821; + if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 0) return 15806; + if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 2) return 15814; + return 15822; + } + short Beehive(); + eBlockFace Facing(short ID); + unsigned char HoneyLevel(short ID); + } + namespace Beetroots + { + constexpr short Beetroots(unsigned char Age) + { + if (Age == 0) return 9219; + if (Age == 2) return 9221; + if (Age == 1) return 9220; + return 9222; + } + short Beetroots(); + unsigned char Age(short ID); + } + namespace Bell + { + enum class Attachment + { + Floor, + Ceiling, + SingleWall, + DoubleWall + }; + constexpr short Bell(enum Attachment Attachment, eBlockFace Facing, bool Powered) + { + if (Attachment == Attachment::SingleWall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14877; + if (Attachment == Attachment::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14854; + if (Attachment == Attachment::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14862; + if (Attachment == Attachment::SingleWall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14870; + if (Attachment == Attachment::DoubleWall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14878; + if (Attachment == Attachment::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14855; + if (Attachment == Attachment::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14863; + if (Attachment == Attachment::SingleWall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14871; + if (Attachment == Attachment::DoubleWall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14879; + if (Attachment == Attachment::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14856; + if (Attachment == Attachment::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14864; + if (Attachment == Attachment::SingleWall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14872; + if (Attachment == Attachment::DoubleWall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14880; + if (Attachment == Attachment::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14857; + if (Attachment == Attachment::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14865; + if (Attachment == Attachment::SingleWall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14873; + if (Attachment == Attachment::DoubleWall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14881; + if (Attachment == Attachment::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14858; + if (Attachment == Attachment::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14866; + if (Attachment == Attachment::SingleWall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14874; + if (Attachment == Attachment::DoubleWall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14882; + if (Attachment == Attachment::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14859; + if (Attachment == Attachment::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14867; + if (Attachment == Attachment::SingleWall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14875; + if (Attachment == Attachment::DoubleWall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14883; + if (Attachment == Attachment::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14860; + if (Attachment == Attachment::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14868; + if (Attachment == Attachment::SingleWall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14876; + if (Attachment == Attachment::DoubleWall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14884; + if (Attachment == Attachment::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14861; + if (Attachment == Attachment::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14869; + return 14885; + } + short Bell(); + enum Attachment Attachment(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace BirchButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short BirchButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6404; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6408; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6412; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6416; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6397; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6401; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6405; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6409; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6413; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6417; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6394; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6398; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6402; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6406; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6410; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6414; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6395; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6399; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6403; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6407; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6411; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6415; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6396; + return 6400; + } + short BirchButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace BirchDoor + { + enum class Half + { + Upper, + Lower + }; + enum class Hinge + { + Left, + Right + }; + constexpr short BirchDoor(eBlockFace Facing, enum Half Half, enum Hinge Hinge, bool Open, bool Powered) + { + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 8829; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 8861; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 8830; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 8862; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 8831; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 8863; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 8832; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 8864; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 8833; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 8802; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 8834; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 8803; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 8835; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 8804; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 8836; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 8805; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 8837; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 8806; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 8838; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 8807; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 8839; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 8808; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 8840; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 8809; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 8841; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 8810; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 8842; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 8811; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 8843; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 8812; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 8844; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 8813; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 8845; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 8814; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 8846; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 8815; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 8847; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 8816; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 8848; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 8817; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 8849; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 8818; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 8850; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 8819; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 8851; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 8820; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 8852; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 8821; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 8853; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 8822; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 8854; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 8823; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 8855; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 8824; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 8856; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 8825; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Right) return 8857; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 8826; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 8858; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 8827; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 8859; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 8828; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 8860; + return 8865; + } + short BirchDoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Hinge Hinge(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace BirchFence + { + constexpr short BirchFence(bool East, bool North, bool South, bool West) + { + if (false && !South && !West && East && North) return 8615; + if (false && !South && !West && East && !North) return 8623; + if (false && !South && !West && !East && North) return 8631; + if (false && !South && !West && !East && !North) return 8639; + if (!false && !South && West && East && North) return 8616; + if (!false && !South && West && East && !North) return 8624; + if (!false && !South && West && !East && North) return 8632; + if (!false && !South && West && !East && !North) return 8640; + if (!false && !South && !West && East && North) return 8617; + if (!false && !South && !West && East && !North) return 8625; + if (!false && !South && !West && !East && North) return 8633; + if (false && South && West && East && North) return 8610; + if (false && South && West && East && !North) return 8618; + if (false && South && West && !East && North) return 8626; + if (false && South && West && !East && !North) return 8634; + if (false && South && !West && East && North) return 8611; + if (false && South && !West && East && !North) return 8619; + if (false && South && !West && !East && North) return 8627; + if (false && South && !West && !East && !North) return 8635; + if (!false && South && West && East && North) return 8612; + if (!false && South && West && East && !North) return 8620; + if (!false && South && West && !East && North) return 8628; + if (!false && South && West && !East && !North) return 8636; + if (!false && South && !West && East && North) return 8613; + if (!false && South && !West && East && !North) return 8621; + if (!false && South && !West && !East && North) return 8629; + if (!false && South && !West && !East && !North) return 8637; + if (false && !South && West && East && North) return 8614; + if (false && !South && West && East && !North) return 8622; + if (false && !South && West && !East && North) return 8630; + if (false && !South && West && !East && !North) return 8638; + return 8641; + } + short BirchFence(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace BirchFenceGate + { + constexpr short BirchFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) + { + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8460; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8468; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8476; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8453; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8461; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8469; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8477; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8454; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8462; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8470; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8478; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8455; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8463; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8471; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8479; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8456; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8464; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8472; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8480; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8457; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8465; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8473; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8450; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8458; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8466; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8474; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8451; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8459; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8467; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8475; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8452; + return 8481; + } + short BirchFenceGate(); + eBlockFace Facing(short ID); + bool InWall(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace BirchLeaves + { + constexpr short BirchLeaves(unsigned char Distance, bool Persistent) + { + if (Persistent && Distance == 6) return 183; + if (!Persistent && Distance == 2) return 176; + if (!Persistent && Distance == 6) return 184; + if (Persistent && Distance == 3) return 177; + if (Persistent && Distance == 7) return 185; + if (!Persistent && Distance == 3) return 178; + if (!Persistent && Distance == 7) return 186; + if (Persistent && Distance == 4) return 179; + if (!Persistent && Distance == 4) return 180; + if (Persistent && Distance == 1) return 173; + if (Persistent && Distance == 5) return 181; + if (!Persistent && Distance == 1) return 174; + if (!Persistent && Distance == 5) return 182; + return 175; + } + short BirchLeaves(); + unsigned char Distance(short ID); + bool Persistent(short ID); + } + namespace BirchLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short BirchLog(enum Axis Axis) + { + if (Axis == Axis::X) return 79; + if (Axis == Axis::Y) return 80; + return 81; + } + short BirchLog(); + enum Axis Axis(short ID); + } + namespace BirchPlanks + { + constexpr short BirchPlanks() + { + return 17; + } + } + namespace BirchPressurePlate + { + constexpr short BirchPressurePlate(bool Powered) + { + if (Powered) return 3877; + return 3878; + } + short BirchPressurePlate(); + bool Powered(short ID); + } + namespace BirchSapling + { + constexpr short BirchSapling(unsigned char Stage) + { + if (Stage == 0) return 25; + return 26; + } + short BirchSapling(); + unsigned char Stage(short ID); + } + namespace BirchSign + { + constexpr short BirchSign(unsigned char Rotation) + { + if (Rotation == 3 && !false) return 3452; + if (Rotation == 4 && !false) return 3454; + if (Rotation == 5 && !false) return 3456; + if (Rotation == 6 && !false) return 3458; + if (Rotation == 7 && !false) return 3460; + if (Rotation == 8 && !false) return 3462; + if (Rotation == 9 && !false) return 3464; + if (Rotation == 10 && !false) return 3466; + if (Rotation == 11 && !false) return 3468; + if (Rotation == 12 && !false) return 3470; + if (Rotation == 13 && !false) return 3472; + if (Rotation == 14 && !false) return 3474; + if (Rotation == 0 && false) return 3445; + if (Rotation == 1 && false) return 3447; + if (Rotation == 2 && false) return 3449; + if (Rotation == 3 && false) return 3451; + if (Rotation == 4 && false) return 3453; + if (Rotation == 5 && false) return 3455; + if (Rotation == 6 && false) return 3457; + if (Rotation == 7 && false) return 3459; + if (Rotation == 8 && false) return 3461; + if (Rotation == 9 && false) return 3463; + if (Rotation == 10 && false) return 3465; + if (Rotation == 11 && false) return 3467; + if (Rotation == 12 && false) return 3469; + if (Rotation == 13 && false) return 3471; + if (Rotation == 14 && false) return 3473; + if (Rotation == 15 && false) return 3475; + if (Rotation == 0 && !false) return 3446; + if (Rotation == 1 && !false) return 3448; + if (Rotation == 2 && !false) return 3450; + return 3476; + } + short BirchSign(); + unsigned char Rotation(short ID); + bool Waterlogged(short ID); + } + namespace BirchSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short BirchSlab(enum Type Type) + { + if (Type == Type::Bottom && !false) return 8315; + if (Type == Type::Top && false) return 8312; + if (Type == Type::Double && false) return 8316; + if (Type == Type::Top && !false) return 8313; + if (Type == Type::Double && !false) return 8317; + return 8314; + } + short BirchSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace BirchStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short BirchStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5520; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5521; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5522; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5523; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5524; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5525; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5526; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5527; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5528; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5529; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5530; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5531; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5532; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5533; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5534; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5535; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5536; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5537; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5538; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5539; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5540; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5541; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5542; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5543; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5544; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5545; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5546; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5547; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5484; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5548; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5485; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5549; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5486; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5550; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5487; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5551; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5488; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5552; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5489; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5553; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5490; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5554; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5491; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5555; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5492; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5556; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5493; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5557; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5494; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5558; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5495; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5559; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5496; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5560; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5497; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5561; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5498; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5562; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5499; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5563; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5500; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5501; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5502; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5503; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5504; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5505; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5506; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5507; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5508; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5509; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5510; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5511; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5512; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5513; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5514; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5515; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5516; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5517; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5518; + return 5519; + } + short BirchStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace BirchTrapdoor + { + enum class Half + { + Top, + Bottom + }; + constexpr short BirchTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) + { + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4258; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4274; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4290; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4243; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4259; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4275; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4291; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4244; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4260; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4276; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4292; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4245; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4261; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4277; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4293; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4246; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4262; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4278; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4294; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4247; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4263; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4279; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4295; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4248; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4264; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4280; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4296; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4249; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4265; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4281; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4297; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4250; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4266; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4282; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4298; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4251; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4267; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4283; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4299; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4252; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4268; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4284; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4300; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4253; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4269; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4285; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4301; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4254; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4270; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4286; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4239; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4255; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4271; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4287; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4240; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4256; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4272; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4288; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4241; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4257; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4273; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4289; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4242; + return 4302; + } + short BirchTrapdoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + bool Open(short ID); + bool Powered(short ID); + bool Waterlogged(short ID); + } + namespace BirchWallSign + { + constexpr short BirchWallSign(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 3757; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 3751; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 3752; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 3753; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 3754; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 3755; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 3756; + return 3758; + } + short BirchWallSign(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace BirchWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short BirchWood(enum Axis Axis) + { + if (Axis == Axis::X) return 115; + if (Axis == Axis::Y) return 116; + return 117; + } + short BirchWood(); + enum Axis Axis(short ID); + } + namespace BlackBanner + { + constexpr short BlackBanner(unsigned char Rotation) + { + if (Rotation == 9) return 8146; + if (Rotation == 10) return 8147; + if (Rotation == 11) return 8148; + if (Rotation == 12) return 8149; + if (Rotation == 13) return 8150; + if (Rotation == 14) return 8151; + if (Rotation == 0) return 8137; + if (Rotation == 1) return 8138; + if (Rotation == 2) return 8139; + if (Rotation == 3) return 8140; + if (Rotation == 4) return 8141; + if (Rotation == 5) return 8142; + if (Rotation == 6) return 8143; + if (Rotation == 7) return 8144; + if (Rotation == 8) return 8145; + return 8152; + } + short BlackBanner(); + unsigned char Rotation(short ID); + } + namespace BlackBed + { + enum class Part + { + Head, + Foot + }; + constexpr short BlackBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1302; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1291; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1295; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1299; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1303; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1292; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1296; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1300; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1289; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1293; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1297; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1301; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1290; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1294; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1298; + return 1304; + } + short BlackBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace BlackCarpet + { + constexpr short BlackCarpet() + { + return 7881; + } + } + namespace BlackConcrete + { + constexpr short BlackConcrete() + { + return 9453; + } + } + namespace BlackConcretePowder + { + constexpr short BlackConcretePowder() + { + return 9469; + } + } + namespace BlackGlazedTerracotta + { + constexpr short BlackGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9435; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9434; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9436; + return 9437; + } + short BlackGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace BlackShulkerBox + { + constexpr short BlackShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9368; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9372; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9369; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9373; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9370; + return 9371; + } + short BlackShulkerBox(); + eBlockFace Facing(short ID); + } + namespace BlackStainedGlass + { + constexpr short BlackStainedGlass() + { + return 4110; + } + } + namespace BlackStainedGlassPane + { + constexpr short BlackStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (!false && !South && West && !East && North) return 7365; + if (!false && South && West && !East && !North) return 7369; + if (!false && !South && West && !East && !North) return 7373; + if (!false && South && !West && East && North) return 7346; + if (!false && !South && !West && East && North) return 7350; + if (!false && South && !West && East && !North) return 7354; + if (!false && !South && !West && East && !North) return 7358; + if (!false && South && !West && !East && North) return 7362; + if (!false && !South && !West && !East && North) return 7366; + if (!false && South && !West && !East && !North) return 7370; + if (false && South && West && East && North) return 7343; + if (false && !South && West && East && North) return 7347; + if (false && South && West && East && !North) return 7351; + if (false && !South && West && East && !North) return 7355; + if (false && South && West && !East && North) return 7359; + if (false && !South && West && !East && North) return 7363; + if (false && South && West && !East && !North) return 7367; + if (false && !South && West && !East && !North) return 7371; + if (false && South && !West && East && North) return 7344; + if (false && !South && !West && East && North) return 7348; + if (false && South && !West && East && !North) return 7352; + if (false && !South && !West && East && !North) return 7356; + if (false && South && !West && !East && North) return 7360; + if (false && !South && !West && !East && North) return 7364; + if (false && South && !West && !East && !North) return 7368; + if (false && !South && !West && !East && !North) return 7372; + if (!false && South && West && East && North) return 7345; + if (!false && !South && West && East && North) return 7349; + if (!false && South && West && East && !North) return 7353; + if (!false && !South && West && East && !North) return 7357; + if (!false && South && West && !East && North) return 7361; + return 7374; + } + short BlackStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace BlackTerracotta + { + constexpr short BlackTerracotta() + { + return 6862; + } + } + namespace BlackWallBanner + { + constexpr short BlackWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8214; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8213; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8215; + return 8216; + } + short BlackWallBanner(); + eBlockFace Facing(short ID); + } + namespace BlackWool + { + constexpr short BlackWool() + { + return 1399; + } + } + namespace Blackstone + { + constexpr short Blackstone() + { + return 15839; + } + } + namespace BlackstoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short BlackstoneSlab(enum Type Type) + { + if (Type == Type::Double && !false) return 16249; + if (Type == Type::Bottom && false) return 16246; + if (Type == Type::Bottom && !false) return 16247; + if (Type == Type::Top && false) return 16244; + if (Type == Type::Double && false) return 16248; + return 16245; + } + short BlackstoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace BlackstoneStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short BlackstoneStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15840; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15841; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15842; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15843; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15844; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15845; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15846; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15847; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15848; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15849; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15850; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15851; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15852; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15853; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15854; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15855; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15856; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15857; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15858; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15859; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15860; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15861; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15862; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15863; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15864; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15865; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15866; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15867; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15868; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15869; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15870; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15871; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15872; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15873; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15874; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15875; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15876; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15877; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15878; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15879; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15880; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15881; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15882; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15883; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15884; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15885; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15886; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15887; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15888; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15889; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15890; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15891; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15892; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15893; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15894; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15895; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15896; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15897; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15898; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15899; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15900; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15901; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15902; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15903; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15904; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15905; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15906; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15907; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15908; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15909; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15910; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15911; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15912; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15913; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15914; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15915; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15916; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15917; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15918; + return 15919; + } + short BlackstoneStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace BlackstoneWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short BlackstoneWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16144; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 16148; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 16152; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16156; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 16160; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 16164; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16168; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 16172; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 16176; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16180; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 16184; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 16188; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16192; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 16196; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 16200; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16204; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 16208; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16212; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16216; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 16220; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16224; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16228; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 16232; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16236; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16240; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 15921; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 15925; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 15929; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 15933; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 15937; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 15941; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 15945; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 15949; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 15953; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 15957; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 15961; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 15965; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 15969; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 15973; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 15977; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 15981; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 15985; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 15989; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 15993; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 15997; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 16001; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 16005; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 16009; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 16013; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 16017; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 16021; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 16025; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 16029; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 16033; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 16037; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 16041; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 16045; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 16049; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 16053; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 16057; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 16061; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 16065; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 16069; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 16073; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 16077; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 16081; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 16085; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 16089; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 16093; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 16097; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 16101; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16105; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 16109; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 16113; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16117; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 16121; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 16125; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16129; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 16133; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 16137; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 16141; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 16145; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 16149; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 16153; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 16157; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 16161; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 16165; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 16169; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 16173; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16177; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 16181; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 16185; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16189; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 16193; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 16197; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16201; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 16205; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16209; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16213; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16217; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16221; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16225; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16229; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16233; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16237; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16241; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 15922; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 15926; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 15930; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 15934; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 15938; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 15942; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 15946; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 15950; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 15954; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 15958; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 15962; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 15966; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 15970; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 15974; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 15978; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 15982; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 15986; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 15990; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 15994; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 15998; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 16002; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 16006; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 16010; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 16014; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 16018; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 16022; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 16026; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 16030; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 16034; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 16038; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 16042; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 16046; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 16050; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 16054; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 16058; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 16062; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 16066; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 16070; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 16074; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 16078; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 16082; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 16086; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 16090; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 16094; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 16098; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16102; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 16106; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16110; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16114; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 16118; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16122; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16126; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 16130; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16134; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 16138; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 16142; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 16146; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 16150; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 16154; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 16158; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 16162; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 16166; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 16170; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16174; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 16178; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16182; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16186; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 16190; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16194; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16198; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 16202; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16206; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16210; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16214; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16218; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16222; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16226; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16230; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16234; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16238; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16242; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 15923; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 15927; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 15931; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 15935; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 15939; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 15943; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 15947; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 15951; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 15955; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 15959; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 15963; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 15967; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 15971; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 15975; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 15979; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 15983; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 15987; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 15991; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 15995; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 15999; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16003; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 16007; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 16011; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16015; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 16019; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 16023; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16027; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 16031; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 16035; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 16039; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 16043; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 16047; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 16051; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 16055; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 16059; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 16063; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 16067; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 16071; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16075; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 16079; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 16083; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16087; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 16091; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 16095; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16099; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 16103; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16107; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16111; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 16115; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16119; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16123; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 16127; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16131; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16135; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 16139; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 16143; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16147; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 16151; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 16155; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16159; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 16163; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 16167; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16171; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 16175; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16179; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16183; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 16187; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16191; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16195; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 16199; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16203; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16207; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 16211; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16215; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16219; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 16223; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16227; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16231; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 16235; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16239; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16243; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 15920; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 15924; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 15928; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 15932; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 15936; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 15940; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 15944; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 15948; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 15952; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 15956; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 15960; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 15964; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 15968; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 15972; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 15976; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 15980; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 15984; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 15988; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 15992; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 15996; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16000; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 16004; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 16008; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16012; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 16016; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 16020; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16024; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 16028; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 16032; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 16036; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 16040; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 16044; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 16048; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 16052; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 16056; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 16060; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 16064; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 16068; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16072; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 16076; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 16080; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16084; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 16088; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 16092; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16096; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 16100; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 16104; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16108; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 16112; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 16116; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16120; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 16124; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 16128; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16132; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 16136; + return 16140; + } + short BlackstoneWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace BlastFurnace + { + constexpr short BlastFurnace(eBlockFace Facing, bool Lit) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit) return 14814; + if (Facing == eBlockFace::BLOCK_FACE_ZM && Lit) return 14811; + if (Facing == eBlockFace::BLOCK_FACE_XM && Lit) return 14815; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit) return 14812; + if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit) return 14816; + if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit) return 14813; + if (Facing == eBlockFace::BLOCK_FACE_XP && Lit) return 14817; + return 14818; + } + short BlastFurnace(); + eBlockFace Facing(short ID); + bool Lit(short ID); + } + namespace BlueBanner + { + constexpr short BlueBanner(unsigned char Rotation) + { + if (Rotation == 13) return 8086; + if (Rotation == 14) return 8087; + if (Rotation == 0) return 8073; + if (Rotation == 1) return 8074; + if (Rotation == 2) return 8075; + if (Rotation == 3) return 8076; + if (Rotation == 4) return 8077; + if (Rotation == 5) return 8078; + if (Rotation == 6) return 8079; + if (Rotation == 7) return 8080; + if (Rotation == 8) return 8081; + if (Rotation == 9) return 8082; + if (Rotation == 10) return 8083; + if (Rotation == 11) return 8084; + if (Rotation == 12) return 8085; + return 8088; + } + short BlueBanner(); + unsigned char Rotation(short ID); + } + namespace BlueBed + { + enum class Part + { + Head, + Foot + }; + constexpr short BlueBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1227; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1231; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1235; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1239; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1228; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1232; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1236; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1225; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1229; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1233; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1237; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1226; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1230; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1234; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1238; + return 1240; + } + short BlueBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace BlueCarpet + { + constexpr short BlueCarpet() + { + return 7877; + } + } + namespace BlueConcrete + { + constexpr short BlueConcrete() + { + return 9449; + } + } + namespace BlueConcretePowder + { + constexpr short BlueConcretePowder() + { + return 9465; + } + } + namespace BlueGlazedTerracotta + { + constexpr short BlueGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9420; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9419; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9418; + return 9421; + } + short BlueGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace BlueIce + { + constexpr short BlueIce() + { + return 9648; + } + } + namespace BlueOrchid + { + constexpr short BlueOrchid() + { + return 1414; + } + } + namespace BlueShulkerBox + { + constexpr short BlueShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9347; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9344; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9348; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9345; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9349; + return 9346; + } + short BlueShulkerBox(); + eBlockFace Facing(short ID); + } + namespace BlueStainedGlass + { + constexpr short BlueStainedGlass() + { + return 4106; + } + } + namespace BlueStainedGlassPane + { + constexpr short BlueStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (!false && South && West && !East && !North) return 7241; + if (!false && !South && West && !East && !North) return 7245; + if (!false && South && !West && East && North) return 7218; + if (!false && !South && !West && East && North) return 7222; + if (!false && South && !West && East && !North) return 7226; + if (!false && !South && !West && East && !North) return 7230; + if (!false && South && !West && !East && North) return 7234; + if (!false && !South && !West && !East && North) return 7238; + if (!false && South && !West && !East && !North) return 7242; + if (false && South && West && East && North) return 7215; + if (false && !South && West && East && North) return 7219; + if (false && South && West && East && !North) return 7223; + if (false && !South && West && East && !North) return 7227; + if (false && South && West && !East && North) return 7231; + if (false && !South && West && !East && North) return 7235; + if (false && South && West && !East && !North) return 7239; + if (false && !South && West && !East && !North) return 7243; + if (false && South && !West && East && North) return 7216; + if (false && !South && !West && East && North) return 7220; + if (false && South && !West && East && !North) return 7224; + if (false && !South && !West && East && !North) return 7228; + if (false && South && !West && !East && North) return 7232; + if (false && !South && !West && !East && North) return 7236; + if (false && South && !West && !East && !North) return 7240; + if (false && !South && !West && !East && !North) return 7244; + if (!false && South && West && East && North) return 7217; + if (!false && !South && West && East && North) return 7221; + if (!false && South && West && East && !North) return 7225; + if (!false && !South && West && East && !North) return 7229; + if (!false && South && West && !East && North) return 7233; + if (!false && !South && West && !East && North) return 7237; + return 7246; + } + short BlueStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace BlueTerracotta + { + constexpr short BlueTerracotta() + { + return 6858; + } + } + namespace BlueWallBanner + { + constexpr short BlueWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8199; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8198; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8197; + return 8200; + } + short BlueWallBanner(); + eBlockFace Facing(short ID); + } + namespace BlueWool + { + constexpr short BlueWool() + { + return 1395; + } + } + namespace BoneBlock + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short BoneBlock(enum Axis Axis) + { + if (Axis == Axis::Z) return 9258; + if (Axis == Axis::Y) return 9257; + return 9256; + } + short BoneBlock(); + enum Axis Axis(short ID); + } + namespace Bookshelf + { + constexpr short Bookshelf() + { + return 1432; + } + } + namespace BrainCoral + { + constexpr short BrainCoral() + { + if (false) return 9532; + return 9533; + } + bool Waterlogged(short ID); + } + namespace BrainCoralBlock + { + constexpr short BrainCoralBlock() + { + return 9516; + } + } + namespace BrainCoralFan + { + constexpr short BrainCoralFan() + { + if (false) return 9552; + return 9553; + } + bool Waterlogged(short ID); + } + namespace BrainCoralWallFan + { + constexpr short BrainCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9613; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9610; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9614; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9611; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9608; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9612; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9609; + return 9615; + } + short BrainCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace BrewingStand + { + constexpr short BrewingStand(bool HasBottle_0, bool HasBottle_1, bool HasBottle_2) + { + if (HasBottle_0 && HasBottle_1 && HasBottle_2) return 5133; + if (HasBottle_0 && !HasBottle_1 && HasBottle_2) return 5135; + if (!HasBottle_0 && HasBottle_1 && HasBottle_2) return 5137; + if (!HasBottle_0 && !HasBottle_1 && HasBottle_2) return 5139; + if (HasBottle_0 && HasBottle_1 && !HasBottle_2) return 5134; + if (HasBottle_0 && !HasBottle_1 && !HasBottle_2) return 5136; + if (!HasBottle_0 && HasBottle_1 && !HasBottle_2) return 5138; + return 5140; + } + short BrewingStand(); + bool HasBottle_0(short ID); + bool HasBottle_1(short ID); + bool HasBottle_2(short ID); + } + namespace BrickSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short BrickSlab(enum Type Type) + { + if (Type == Type::Bottom && false) return 8374; + if (Type == Type::Bottom && !false) return 8375; + if (Type == Type::Top && false) return 8372; + if (Type == Type::Double && false) return 8376; + if (Type == Type::Top && !false) return 8373; + return 8377; + } + short BrickSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace BrickStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short BrickStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4885; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4886; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4887; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4888; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4889; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4890; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4891; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 4892; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 4893; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4894; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4895; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4896; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4897; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4898; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4899; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4900; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4901; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 4902; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 4903; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4904; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4905; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4906; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4907; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4908; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4909; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4910; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4911; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 4912; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 4913; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4914; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4915; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4852; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4916; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4853; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4917; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4854; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4918; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4855; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4919; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4856; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4920; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4857; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4921; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4858; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 4922; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4859; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 4923; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4860; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4924; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4861; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4925; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4862; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4926; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4863; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4927; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4864; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4928; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4865; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4929; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4866; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4930; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4867; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4931; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4868; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4869; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4870; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4871; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4872; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4873; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4874; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4875; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4876; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4877; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4878; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4879; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4880; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4881; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4882; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4883; + return 4884; + } + short BrickStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace BrickWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short BrickWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11034; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 11038; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 11042; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11046; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 11050; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11054; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11058; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 11062; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11066; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11070; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 11074; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11078; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11082; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 11086; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 11090; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11094; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 11098; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 11102; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11106; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 11110; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 11114; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11118; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 11122; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11126; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11130; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 11134; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11138; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11142; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 11146; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11150; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11154; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 11158; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11162; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11166; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 11170; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11174; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11178; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 11182; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11186; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11190; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 10867; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 10871; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 10875; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 10879; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 10883; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 10887; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 10891; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 10895; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 10899; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 10903; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 10907; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 10911; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 10915; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 10919; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 10923; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 10927; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 10931; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 10935; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 10939; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 10943; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 10947; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 10951; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 10955; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 10959; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 10963; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 10967; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 10971; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 10975; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 10979; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 10983; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 10987; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 10991; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 10995; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 10999; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 11003; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 11007; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 11011; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 11015; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11019; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 11023; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 11027; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11031; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 11035; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 11039; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11043; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 11047; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 11051; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11055; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 11059; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 11063; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11067; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 11071; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 11075; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11079; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 11083; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 11087; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11091; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 11095; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 11099; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11103; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 11107; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 11111; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11115; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 11119; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 11123; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11127; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 11131; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 11135; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11139; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 11143; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 11147; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11151; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 11155; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11159; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11163; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 11167; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11171; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11175; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 11179; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11183; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11187; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 10868; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 10872; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 10876; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 10880; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 10884; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 10888; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 10892; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 10896; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 10900; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 10904; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 10908; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 10912; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 10916; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 10920; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 10924; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 10928; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 10932; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 10936; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 10940; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 10944; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 10948; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 10952; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 10956; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 10960; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 10964; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 10968; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 10972; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 10976; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 10980; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 10984; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 10988; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 10992; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 10996; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 11000; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 11004; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 11008; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 11012; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 11016; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 11020; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 11024; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 11028; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 11032; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 11036; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 11040; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 11044; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 11048; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11052; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 11056; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 11060; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11064; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 11068; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 11072; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11076; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 11080; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 11084; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 11088; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 11092; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 11096; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 11100; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 11104; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 11108; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 11112; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 11116; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 11120; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11124; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 11128; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 11132; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11136; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 11140; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 11144; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11148; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 11152; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11156; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11160; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11164; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11168; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11172; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11176; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11180; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11184; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11188; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 10869; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 10873; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 10877; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 10881; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 10885; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 10889; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 10893; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 10897; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 10901; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 10905; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 10909; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 10913; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 10917; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 10921; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 10925; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 10929; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 10933; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 10937; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 10941; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 10945; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 10949; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 10953; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 10957; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 10961; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 10965; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 10969; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 10973; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 10977; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 10981; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 10985; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 10989; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 10993; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 10997; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 11001; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 11005; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 11009; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 11013; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 11017; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 11021; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 11025; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 11029; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 11033; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 11037; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 11041; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 11045; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11049; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 11053; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11057; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11061; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 11065; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11069; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11073; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 11077; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11081; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 11085; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 11089; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 11093; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 11097; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 11101; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 11105; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 11109; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 11113; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 11117; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11121; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 11125; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11129; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11133; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 11137; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11141; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11145; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 11149; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11153; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11157; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11161; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11165; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11169; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11173; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11177; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11181; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11185; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11189; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 10870; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 10874; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 10878; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 10882; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 10886; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 10890; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 10894; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 10898; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 10902; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 10906; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 10910; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 10914; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 10918; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 10922; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 10926; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 10930; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 10934; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 10938; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 10942; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 10946; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 10950; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 10954; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 10958; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 10962; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 10966; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 10970; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 10974; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 10978; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 10982; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 10986; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 10990; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 10994; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 10998; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 11002; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 11006; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 11010; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 11014; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 11018; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11022; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 11026; + return 11030; + } + short BrickWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace Bricks + { + constexpr short Bricks() + { + return 1429; + } + } + namespace BrownBanner + { + constexpr short BrownBanner(unsigned char Rotation) + { + if (Rotation == 12) return 8101; + if (Rotation == 13) return 8102; + if (Rotation == 14) return 8103; + if (Rotation == 0) return 8089; + if (Rotation == 1) return 8090; + if (Rotation == 2) return 8091; + if (Rotation == 3) return 8092; + if (Rotation == 4) return 8093; + if (Rotation == 5) return 8094; + if (Rotation == 6) return 8095; + if (Rotation == 7) return 8096; + if (Rotation == 8) return 8097; + if (Rotation == 9) return 8098; + if (Rotation == 10) return 8099; + if (Rotation == 11) return 8100; + return 8104; + } + short BrownBanner(); + unsigned char Rotation(short ID); + } + namespace BrownBed + { + enum class Part + { + Head, + Foot + }; + constexpr short BrownBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1242; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1246; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1250; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1254; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1243; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1247; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1251; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1255; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1244; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1248; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1252; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1241; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1245; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1249; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1253; + return 1256; + } + short BrownBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace BrownCarpet + { + constexpr short BrownCarpet() + { + return 7878; + } + } + namespace BrownConcrete + { + constexpr short BrownConcrete() + { + return 9450; + } + } + namespace BrownConcretePowder + { + constexpr short BrownConcretePowder() + { + return 9466; + } + } + namespace BrownGlazedTerracotta + { + constexpr short BrownGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9423; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9422; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9424; + return 9425; + } + short BrownGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace BrownMushroom + { + constexpr short BrownMushroom() + { + return 1425; + } + } + namespace BrownMushroomBlock + { + constexpr short BrownMushroomBlock(bool Down, bool East, bool North, bool South, bool Up, bool West) + { + if (Up && !West && East && !South && Down && North) return 4510; + if (Up && !West && !East && !South && Down && North) return 4526; + if (Up && !West && East && !South && !Down && North) return 4542; + if (Up && !West && !East && !South && !Down && North) return 4558; + if (!Up && West && East && !South && Down && North) return 4511; + if (!Up && West && !East && !South && Down && North) return 4527; + if (!Up && West && East && !South && !Down && North) return 4543; + if (!Up && West && !East && !South && !Down && North) return 4559; + if (!Up && !West && East && !South && Down && North) return 4512; + if (!Up && !West && !East && !South && Down && North) return 4528; + if (!Up && !West && East && !South && !Down && North) return 4544; + if (!Up && !West && !East && !South && !Down && North) return 4560; + if (Up && West && East && South && Down && !North) return 4513; + if (Up && West && !East && South && Down && !North) return 4529; + if (Up && West && East && South && !Down && !North) return 4545; + if (Up && West && !East && South && !Down && !North) return 4561; + if (Up && !West && East && South && Down && !North) return 4514; + if (Up && !West && !East && South && Down && !North) return 4530; + if (Up && !West && East && South && !Down && !North) return 4546; + if (Up && !West && !East && South && !Down && !North) return 4562; + if (!Up && West && East && South && Down && !North) return 4515; + if (!Up && West && !East && South && Down && !North) return 4531; + if (!Up && West && East && South && !Down && !North) return 4547; + if (!Up && West && !East && South && !Down && !North) return 4563; + if (!Up && !West && East && South && Down && !North) return 4516; + if (!Up && !West && !East && South && Down && !North) return 4532; + if (!Up && !West && East && South && !Down && !North) return 4548; + if (!Up && !West && !East && South && !Down && !North) return 4564; + if (Up && West && East && !South && Down && !North) return 4517; + if (Up && West && !East && !South && Down && !North) return 4533; + if (Up && West && East && !South && !Down && !North) return 4549; + if (Up && West && !East && !South && !Down && !North) return 4565; + if (Up && !West && East && !South && Down && !North) return 4518; + if (Up && !West && !East && !South && Down && !North) return 4534; + if (Up && !West && East && !South && !Down && !North) return 4550; + if (Up && !West && !East && !South && !Down && !North) return 4566; + if (!Up && West && East && !South && Down && !North) return 4519; + if (!Up && West && !East && !South && Down && !North) return 4535; + if (!Up && West && East && !South && !Down && !North) return 4551; + if (!Up && West && !East && !South && !Down && !North) return 4567; + if (!Up && !West && East && !South && Down && !North) return 4520; + if (!Up && !West && !East && !South && Down && !North) return 4536; + if (!Up && !West && East && !South && !Down && !North) return 4552; + if (Up && West && East && South && Down && North) return 4505; + if (Up && West && !East && South && Down && North) return 4521; + if (Up && West && East && South && !Down && North) return 4537; + if (Up && West && !East && South && !Down && North) return 4553; + if (Up && !West && East && South && Down && North) return 4506; + if (Up && !West && !East && South && Down && North) return 4522; + if (Up && !West && East && South && !Down && North) return 4538; + if (Up && !West && !East && South && !Down && North) return 4554; + if (!Up && West && East && South && Down && North) return 4507; + if (!Up && West && !East && South && Down && North) return 4523; + if (!Up && West && East && South && !Down && North) return 4539; + if (!Up && West && !East && South && !Down && North) return 4555; + if (!Up && !West && East && South && Down && North) return 4508; + if (!Up && !West && !East && South && Down && North) return 4524; + if (!Up && !West && East && South && !Down && North) return 4540; + if (!Up && !West && !East && South && !Down && North) return 4556; + if (Up && West && East && !South && Down && North) return 4509; + if (Up && West && !East && !South && Down && North) return 4525; + if (Up && West && East && !South && !Down && North) return 4541; + if (Up && West && !East && !South && !Down && North) return 4557; + return 4568; + } + short BrownMushroomBlock(); + bool Down(short ID); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Up(short ID); + bool West(short ID); + } + namespace BrownShulkerBox + { + constexpr short BrownShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9354; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9351; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9355; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9352; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9353; + return 9350; + } + short BrownShulkerBox(); + eBlockFace Facing(short ID); + } + namespace BrownStainedGlass + { + constexpr short BrownStainedGlass() + { + return 4107; + } + } + namespace BrownStainedGlassPane + { + constexpr short BrownStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (false && South && !West && !East && !North) return 7272; + if (false && !South && !West && !East && !North) return 7276; + if (!false && South && West && East && North) return 7249; + if (!false && !South && West && East && North) return 7253; + if (!false && South && West && East && !North) return 7257; + if (!false && !South && West && East && !North) return 7261; + if (!false && South && West && !East && North) return 7265; + if (!false && !South && West && !East && North) return 7269; + if (!false && South && West && !East && !North) return 7273; + if (!false && !South && West && !East && !North) return 7277; + if (!false && South && !West && East && North) return 7250; + if (!false && !South && !West && East && North) return 7254; + if (!false && South && !West && East && !North) return 7258; + if (!false && !South && !West && East && !North) return 7262; + if (!false && South && !West && !East && North) return 7266; + if (!false && !South && !West && !East && North) return 7270; + if (!false && South && !West && !East && !North) return 7274; + if (false && South && West && East && North) return 7247; + if (false && !South && West && East && North) return 7251; + if (false && South && West && East && !North) return 7255; + if (false && !South && West && East && !North) return 7259; + if (false && South && West && !East && North) return 7263; + if (false && !South && West && !East && North) return 7267; + if (false && South && West && !East && !North) return 7271; + if (false && !South && West && !East && !North) return 7275; + if (false && South && !West && East && North) return 7248; + if (false && !South && !West && East && North) return 7252; + if (false && South && !West && East && !North) return 7256; + if (false && !South && !West && East && !North) return 7260; + if (false && South && !West && !East && North) return 7264; + if (false && !South && !West && !East && North) return 7268; + return 7278; + } + short BrownStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace BrownTerracotta + { + constexpr short BrownTerracotta() + { + return 6859; + } + } + namespace BrownWallBanner + { + constexpr short BrownWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8202; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8201; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8203; + return 8204; + } + short BrownWallBanner(); + eBlockFace Facing(short ID); + } + namespace BrownWool + { + constexpr short BrownWool() + { + return 1396; + } + } + namespace BubbleColumn + { + constexpr short BubbleColumn(bool Drag) + { + if (Drag) return 9667; + return 9668; + } + short BubbleColumn(); + bool Drag(short ID); + } + namespace BubbleCoral + { + constexpr short BubbleCoral() + { + if (false) return 9534; + return 9535; + } + bool Waterlogged(short ID); + } + namespace BubbleCoralBlock + { + constexpr short BubbleCoralBlock() + { + return 9517; + } + } + namespace BubbleCoralFan + { + constexpr short BubbleCoralFan() + { + if (false) return 9554; + return 9555; + } + bool Waterlogged(short ID); + } + namespace BubbleCoralWallFan + { + constexpr short BubbleCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9620; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9617; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9621; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9618; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9622; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9619; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9616; + return 9623; + } + short BubbleCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace Cactus + { + constexpr short Cactus(unsigned char Age) + { + if (Age == 0) return 3931; + if (Age == 8) return 3939; + if (Age == 1) return 3932; + if (Age == 9) return 3940; + if (Age == 2) return 3933; + if (Age == 10) return 3941; + if (Age == 3) return 3934; + if (Age == 11) return 3942; + if (Age == 4) return 3935; + if (Age == 12) return 3943; + if (Age == 5) return 3936; + if (Age == 13) return 3944; + if (Age == 6) return 3937; + if (Age == 14) return 3945; + if (Age == 7) return 3938; + return 3946; + } + short Cactus(); + unsigned char Age(short ID); + } + namespace Cake + { + constexpr short Cake(unsigned char Bites) + { + if (Bites == 6) return 4030; + if (Bites == 0) return 4024; + if (Bites == 1) return 4025; + if (Bites == 2) return 4026; + if (Bites == 3) return 4027; + if (Bites == 4) return 4028; + return 4029; + } + short Cake(); + unsigned char Bites(short ID); + } + namespace Campfire + { + constexpr short Campfire(eBlockFace Facing, bool Lit, bool SignalFire) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && false && !SignalFire && Lit) return 14908; + if (Facing == eBlockFace::BLOCK_FACE_XP && false && !SignalFire && Lit) return 14916; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false && !SignalFire && Lit) return 14893; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false && !SignalFire && Lit) return 14901; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false && !SignalFire && Lit) return 14909; + if (Facing == eBlockFace::BLOCK_FACE_XP && !false && !SignalFire && Lit) return 14917; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false && SignalFire && !Lit) return 14894; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false && SignalFire && !Lit) return 14902; + if (Facing == eBlockFace::BLOCK_FACE_XM && false && SignalFire && !Lit) return 14910; + if (Facing == eBlockFace::BLOCK_FACE_XP && false && SignalFire && !Lit) return 14918; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false && SignalFire && !Lit) return 14895; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false && SignalFire && !Lit) return 14903; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false && SignalFire && !Lit) return 14911; + if (Facing == eBlockFace::BLOCK_FACE_XP && !false && SignalFire && !Lit) return 14919; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false && !SignalFire && !Lit) return 14896; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false && !SignalFire && !Lit) return 14904; + if (Facing == eBlockFace::BLOCK_FACE_XM && false && !SignalFire && !Lit) return 14912; + if (Facing == eBlockFace::BLOCK_FACE_XP && false && !SignalFire && !Lit) return 14920; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false && !SignalFire && !Lit) return 14897; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false && !SignalFire && !Lit) return 14905; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false && !SignalFire && !Lit) return 14913; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false && SignalFire && Lit) return 14890; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false && SignalFire && Lit) return 14898; + if (Facing == eBlockFace::BLOCK_FACE_XM && false && SignalFire && Lit) return 14906; + if (Facing == eBlockFace::BLOCK_FACE_XP && false && SignalFire && Lit) return 14914; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false && SignalFire && Lit) return 14891; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false && SignalFire && Lit) return 14899; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false && SignalFire && Lit) return 14907; + if (Facing == eBlockFace::BLOCK_FACE_XP && !false && SignalFire && Lit) return 14915; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false && !SignalFire && Lit) return 14892; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false && !SignalFire && Lit) return 14900; + return 14921; + } + short Campfire(); + eBlockFace Facing(short ID); + bool Lit(short ID); + bool SignalFire(short ID); + bool Waterlogged(short ID); + } + namespace Carrots + { + constexpr short Carrots(unsigned char Age) + { + if (Age == 0) return 6330; + if (Age == 2) return 6332; + if (Age == 4) return 6334; + if (Age == 6) return 6336; + if (Age == 1) return 6331; + if (Age == 3) return 6333; + if (Age == 5) return 6335; + return 6337; + } + short Carrots(); + unsigned char Age(short ID); + } + namespace CartographyTable + { + constexpr short CartographyTable() + { + return 14819; + } + } + namespace CarvedPumpkin + { + constexpr short CarvedPumpkin(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 4018; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4017; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4016; + return 4019; + } + short CarvedPumpkin(); + eBlockFace Facing(short ID); + } + namespace Cauldron + { + constexpr short Cauldron(unsigned char Level) + { + if (Level == 2) return 5143; + if (Level == 0) return 5141; + if (Level == 1) return 5142; + return 5144; + } + short Cauldron(); + unsigned char Level(short ID); + } + namespace CaveAir + { + constexpr short CaveAir() + { + return 9666; + } + } + namespace Chain + { + constexpr short Chain() + { + if (false) return 4729; + return 4730; + } + bool Waterlogged(short ID); + } + namespace ChainCommandBlock + { + constexpr short ChainCommandBlock(bool Conditional, eBlockFace Facing) + { + if (Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 9240; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_YM) return 9242; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XP) return 9244; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 9246; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_YM) return 9248; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_ZM) return 9237; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 9239; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 9241; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZM) return 9243; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 9245; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 9247; + return 9238; + } + short ChainCommandBlock(); + bool Conditional(short ID); + eBlockFace Facing(short ID); + } + namespace Chest + { + enum class Type + { + Single, + Left, + Right + }; + constexpr short Chest(eBlockFace Facing, enum Type Type) + { + if (Type == Type::Left && !false && Facing == eBlockFace::BLOCK_FACE_ZM) return 2037; + if (Type == Type::Right && false && Facing == eBlockFace::BLOCK_FACE_ZM) return 2038; + if (Type == Type::Right && !false && Facing == eBlockFace::BLOCK_FACE_ZM) return 2039; + if (Type == Type::Single && false && Facing == eBlockFace::BLOCK_FACE_ZP) return 2040; + if (Type == Type::Single && !false && Facing == eBlockFace::BLOCK_FACE_ZP) return 2041; + if (Type == Type::Left && false && Facing == eBlockFace::BLOCK_FACE_ZP) return 2042; + if (Type == Type::Left && !false && Facing == eBlockFace::BLOCK_FACE_ZP) return 2043; + if (Type == Type::Right && false && Facing == eBlockFace::BLOCK_FACE_ZP) return 2044; + if (Type == Type::Right && !false && Facing == eBlockFace::BLOCK_FACE_ZP) return 2045; + if (Type == Type::Single && false && Facing == eBlockFace::BLOCK_FACE_XM) return 2046; + if (Type == Type::Single && !false && Facing == eBlockFace::BLOCK_FACE_XM) return 2047; + if (Type == Type::Left && false && Facing == eBlockFace::BLOCK_FACE_XM) return 2048; + if (Type == Type::Right && false && Facing == eBlockFace::BLOCK_FACE_XM) return 2050; + if (Type == Type::Single && false && Facing == eBlockFace::BLOCK_FACE_XP) return 2052; + if (Type == Type::Left && false && Facing == eBlockFace::BLOCK_FACE_XP) return 2054; + if (Type == Type::Right && false && Facing == eBlockFace::BLOCK_FACE_XP) return 2056; + if (Type == Type::Right && !false && Facing == eBlockFace::BLOCK_FACE_XP) return 2057; + if (Type == Type::Left && !false && Facing == eBlockFace::BLOCK_FACE_XP) return 2055; + if (Type == Type::Single && !false && Facing == eBlockFace::BLOCK_FACE_XP) return 2053; + if (Type == Type::Left && !false && Facing == eBlockFace::BLOCK_FACE_XM) return 2049; + if (Type == Type::Single && false && Facing == eBlockFace::BLOCK_FACE_ZM) return 2034; + if (Type == Type::Single && !false && Facing == eBlockFace::BLOCK_FACE_ZM) return 2035; + if (Type == Type::Left && false && Facing == eBlockFace::BLOCK_FACE_ZM) return 2036; + return 2051; + } + short Chest(); + eBlockFace Facing(short ID); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace ChippedAnvil + { + constexpr short ChippedAnvil(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 6616; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6614; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6615; + return 6617; + } + short ChippedAnvil(); + eBlockFace Facing(short ID); + } + namespace ChiseledNetherBricks + { + constexpr short ChiseledNetherBricks() + { + return 17101; + } + } + namespace ChiseledPolishedBlackstone + { + constexpr short ChiseledPolishedBlackstone() + { + return 16253; + } + } + namespace ChiseledQuartzBlock + { + constexpr short ChiseledQuartzBlock() + { + return 6739; + } + } + namespace ChiseledRedSandstone + { + constexpr short ChiseledRedSandstone() + { + return 8218; + } + } + namespace ChiseledSandstone + { + constexpr short ChiseledSandstone() + { + return 247; + } + } + namespace ChiseledStoneBricks + { + constexpr short ChiseledStoneBricks() + { + return 4498; + } + } + namespace ChorusFlower + { + constexpr short ChorusFlower(unsigned char Age) + { + if (Age == 2) return 9130; + if (Age == 3) return 9131; + if (Age == 0) return 9128; + if (Age == 4) return 9132; + if (Age == 1) return 9129; + return 9133; + } + short ChorusFlower(); + unsigned char Age(short ID); + } + namespace ChorusPlant + { + constexpr short ChorusPlant(bool Down, bool East, bool North, bool South, bool Up, bool West) + { + if (Up && !West && !East && South && Down && North) return 9081; + if (Up && !West && !East && South && !Down && North) return 9113; + if (!Up && West && !East && South && Down && North) return 9082; + if (!Up && West && !East && South && !Down && North) return 9114; + if (!Up && !West && !East && South && Down && North) return 9083; + if (!Up && !West && !East && South && !Down && North) return 9115; + if (Up && West && !East && !South && Down && North) return 9084; + if (Up && West && !East && !South && !Down && North) return 9116; + if (Up && !West && !East && !South && Down && North) return 9085; + if (Up && !West && !East && !South && !Down && North) return 9117; + if (!Up && West && !East && !South && Down && North) return 9086; + if (!Up && West && !East && !South && !Down && North) return 9118; + if (!Up && !West && !East && !South && Down && North) return 9087; + if (!Up && !West && !East && !South && !Down && North) return 9119; + if (Up && West && !East && South && Down && !North) return 9088; + if (Up && West && !East && South && !Down && !North) return 9120; + if (Up && !West && !East && South && Down && !North) return 9089; + if (Up && !West && !East && South && !Down && !North) return 9121; + if (!Up && West && !East && South && Down && !North) return 9090; + if (!Up && West && !East && South && !Down && !North) return 9122; + if (!Up && !West && !East && South && Down && !North) return 9091; + if (!Up && !West && !East && South && !Down && !North) return 9123; + if (Up && West && !East && !South && Down && !North) return 9092; + if (Up && West && !East && !South && !Down && !North) return 9124; + if (Up && !West && !East && !South && Down && !North) return 9093; + if (Up && !West && !East && !South && !Down && !North) return 9125; + if (!Up && West && !East && !South && Down && !North) return 9094; + if (!Up && West && !East && !South && !Down && !North) return 9126; + if (!Up && !West && !East && !South && Down && !North) return 9095; + if (Up && West && East && South && Down && North) return 9064; + if (Up && West && East && South && !Down && North) return 9096; + if (Up && !West && East && South && Down && North) return 9065; + if (Up && !West && East && South && !Down && North) return 9097; + if (!Up && West && East && South && Down && North) return 9066; + if (!Up && West && East && South && !Down && North) return 9098; + if (!Up && !West && East && South && Down && North) return 9067; + if (!Up && !West && East && South && !Down && North) return 9099; + if (Up && West && East && !South && Down && North) return 9068; + if (Up && West && East && !South && !Down && North) return 9100; + if (Up && !West && East && !South && Down && North) return 9069; + if (Up && !West && East && !South && !Down && North) return 9101; + if (!Up && West && East && !South && Down && North) return 9070; + if (!Up && West && East && !South && !Down && North) return 9102; + if (!Up && !West && East && !South && Down && North) return 9071; + if (!Up && !West && East && !South && !Down && North) return 9103; + if (Up && West && East && South && Down && !North) return 9072; + if (Up && West && East && South && !Down && !North) return 9104; + if (Up && !West && East && South && Down && !North) return 9073; + if (Up && !West && East && South && !Down && !North) return 9105; + if (!Up && West && East && South && Down && !North) return 9074; + if (!Up && West && East && South && !Down && !North) return 9106; + if (!Up && !West && East && South && Down && !North) return 9075; + if (!Up && !West && East && South && !Down && !North) return 9107; + if (Up && West && East && !South && Down && !North) return 9076; + if (Up && West && East && !South && !Down && !North) return 9108; + if (Up && !West && East && !South && Down && !North) return 9077; + if (Up && !West && East && !South && !Down && !North) return 9109; + if (!Up && West && East && !South && Down && !North) return 9078; + if (!Up && West && East && !South && !Down && !North) return 9110; + if (!Up && !West && East && !South && Down && !North) return 9079; + if (!Up && !West && East && !South && !Down && !North) return 9111; + if (Up && West && !East && South && Down && North) return 9080; + if (Up && West && !East && South && !Down && North) return 9112; + return 9127; + } + short ChorusPlant(); + bool Down(short ID); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Up(short ID); + bool West(short ID); + } + namespace Clay + { + constexpr short Clay() + { + return 3947; + } + } + namespace CoalBlock + { + constexpr short CoalBlock() + { + return 7883; + } + } + namespace CoalOre + { + constexpr short CoalOre() + { + return 71; + } + } + namespace CoarseDirt + { + constexpr short CoarseDirt() + { + return 11; + } + } + namespace Cobblestone + { + constexpr short Cobblestone() + { + return 14; + } + } + namespace CobblestoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short CobblestoneSlab(enum Type Type) + { + if (Type == Type::Top && !false) return 8367; + if (Type == Type::Double && !false) return 8371; + if (Type == Type::Bottom && false) return 8368; + if (Type == Type::Bottom && !false) return 8369; + if (Type == Type::Top && false) return 8366; + return 8370; + } + short CobblestoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace CobblestoneStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short CobblestoneStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3665; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 3697; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 3729; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3666; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 3698; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 3730; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 3667; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 3699; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 3731; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 3668; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 3700; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 3732; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3669; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 3701; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 3733; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3670; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 3702; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 3734; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 3671; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 3703; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 3672; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 3704; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3673; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 3705; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3674; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 3706; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3675; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 3707; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3676; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 3708; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 3677; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 3709; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 3678; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 3710; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3679; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 3711; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3680; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 3712; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 3681; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 3713; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 3682; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 3714; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3683; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 3715; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3684; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 3716; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3685; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 3717; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3686; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 3718; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3655; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 3687; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 3719; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3656; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 3688; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 3720; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 3657; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3689; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 3721; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 3658; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3690; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 3722; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3659; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 3691; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 3723; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3660; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 3692; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 3724; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 3661; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3693; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 3725; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 3662; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 3694; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 3726; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3663; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 3695; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 3727; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 3664; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 3696; + return 3728; + } + short CobblestoneStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace CobblestoneWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short CobblestoneWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 5657; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 5659; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 5661; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 5663; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 5665; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 5667; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 5669; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 5671; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 5673; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 5675; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 5677; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 5679; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 5681; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 5683; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 5685; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 5687; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 5689; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 5691; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 5693; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 5695; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 5697; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 5699; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 5701; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 5703; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 5705; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 5707; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 5709; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 5711; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 5713; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 5715; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 5717; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 5719; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 5721; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 5723; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 5725; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 5727; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 5729; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 5731; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 5733; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 5735; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 5737; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 5739; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 5741; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 5743; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 5745; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 5747; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 5749; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 5751; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 5753; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 5755; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 5757; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 5759; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 5761; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 5763; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 5765; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 5767; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 5769; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 5771; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 5773; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 5775; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 5777; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 5779; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 5781; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 5783; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 5785; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 5787; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 5789; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 5791; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 5793; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 5795; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 5797; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 5799; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 5801; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 5803; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 5805; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 5807; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 5809; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 5811; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 5813; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 5815; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 5817; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 5819; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 5821; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 5823; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 5825; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 5827; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 5829; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 5831; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 5833; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 5835; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 5837; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 5839; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 5841; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 5843; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 5845; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 5847; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 5849; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 5851; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 5853; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 5855; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 5857; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 5859; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 5861; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 5863; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 5865; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 5867; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 5869; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 5871; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 5873; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 5875; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 5877; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 5879; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 5881; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 5883; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 5885; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 5887; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 5889; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 5891; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 5893; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 5895; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 5897; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 5899; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 5901; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 5903; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 5905; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 5907; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 5909; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 5911; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 5913; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 5915; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 5917; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 5919; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 5921; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 5923; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 5925; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 5927; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 5929; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 5931; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 5933; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 5935; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 5937; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 5939; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 5941; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 5943; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 5945; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 5947; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 5949; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 5951; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 5953; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 5955; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 5957; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 5959; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 5961; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 5963; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 5965; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 5967; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 5969; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 5971; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 5973; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 5975; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 5977; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 5979; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 5658; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 5660; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 5662; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 5664; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 5666; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 5668; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 5670; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 5672; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 5674; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 5676; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 5678; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 5680; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 5682; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 5684; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 5686; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 5688; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 5690; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 5692; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 5694; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 5696; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 5698; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 5700; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 5702; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 5704; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 5706; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 5708; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 5710; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 5712; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 5714; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 5716; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 5718; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 5720; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 5722; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 5724; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 5726; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 5728; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 5730; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 5732; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 5734; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 5736; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 5738; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 5740; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 5742; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 5744; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 5746; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 5748; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 5750; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 5752; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 5754; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 5756; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 5758; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 5760; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 5762; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 5764; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 5766; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 5768; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 5770; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 5772; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 5774; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 5776; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 5778; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 5780; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 5782; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 5784; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 5786; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 5788; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 5790; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 5792; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 5794; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 5796; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 5798; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 5800; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 5802; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 5804; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 5806; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 5808; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 5810; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 5812; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 5814; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 5816; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 5818; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 5820; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 5822; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 5824; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 5826; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 5828; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 5830; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 5832; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 5834; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 5836; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 5838; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 5840; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 5842; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 5844; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 5846; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 5848; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 5850; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 5852; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 5854; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 5856; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 5858; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 5860; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 5862; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 5864; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 5866; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 5868; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 5870; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 5872; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 5874; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 5876; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 5878; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 5880; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 5882; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 5884; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 5886; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 5888; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 5890; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 5892; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 5894; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 5896; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 5898; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 5900; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 5902; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 5904; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 5906; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 5908; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 5910; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 5912; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 5914; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 5916; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 5918; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 5920; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 5922; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 5924; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 5926; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 5928; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 5930; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 5932; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 5934; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 5936; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 5938; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 5940; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 5942; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 5944; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 5946; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 5948; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 5950; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 5952; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 5954; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 5956; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 5958; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 5960; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 5962; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 5964; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 5966; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 5968; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 5970; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 5972; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 5974; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 5976; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 5978; + return 5980; + } + short CobblestoneWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace Cobweb + { + constexpr short Cobweb() + { + return 1341; + } + } + namespace Cocoa + { + constexpr short Cocoa(unsigned char Age, eBlockFace Facing) + { + if (Age == 0 && Facing == eBlockFace::BLOCK_FACE_XP) return 5161; + if (Age == 1 && Facing == eBlockFace::BLOCK_FACE_ZM) return 5162; + if (Age == 1 && Facing == eBlockFace::BLOCK_FACE_ZP) return 5163; + if (Age == 1 && Facing == eBlockFace::BLOCK_FACE_XM) return 5164; + if (Age == 1 && Facing == eBlockFace::BLOCK_FACE_XP) return 5165; + if (Age == 2 && Facing == eBlockFace::BLOCK_FACE_ZM) return 5166; + if (Age == 2 && Facing == eBlockFace::BLOCK_FACE_ZP) return 5167; + if (Age == 2 && Facing == eBlockFace::BLOCK_FACE_XM) return 5168; + if (Age == 2 && Facing == eBlockFace::BLOCK_FACE_XP) return 5169; + if (Age == 0 && Facing == eBlockFace::BLOCK_FACE_ZM) return 5158; + if (Age == 0 && Facing == eBlockFace::BLOCK_FACE_ZP) return 5159; + return 5160; + } + short Cocoa(); + unsigned char Age(short ID); + eBlockFace Facing(short ID); + } + namespace CommandBlock + { + constexpr short CommandBlock(bool Conditional, eBlockFace Facing) + { + if (Conditional && Facing == eBlockFace::BLOCK_FACE_ZM) return 5644; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_XP) return 5645; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 5646; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 5647; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 5648; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_YM) return 5649; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZM) return 5650; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XP) return 5651; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 5652; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 5653; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 5654; + return 5655; + } + short CommandBlock(); + bool Conditional(short ID); + eBlockFace Facing(short ID); + } + namespace Comparator + { + enum class Mode + { + Compare, + Subtract + }; + constexpr short Comparator(eBlockFace Facing, enum Mode Mode, bool Powered) + { + if (Mode == Mode::Compare && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6691; + if (Mode == Mode::Subtract && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6692; + if (Mode == Mode::Compare && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6678; + if (Mode == Mode::Compare && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6679; + if (Mode == Mode::Subtract && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6680; + if (Mode == Mode::Subtract && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6681; + if (Mode == Mode::Compare && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6682; + if (Mode == Mode::Compare && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6683; + if (Mode == Mode::Subtract && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6684; + if (Mode == Mode::Subtract && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6685; + if (Mode == Mode::Compare && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6686; + if (Mode == Mode::Compare && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6687; + if (Mode == Mode::Subtract && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6688; + if (Mode == Mode::Subtract && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6689; + if (Mode == Mode::Compare && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6690; + return 6693; + } + short Comparator(); + eBlockFace Facing(short ID); + enum Mode Mode(short ID); + bool Powered(short ID); + } + namespace Composter + { + constexpr short Composter(unsigned char Level) + { + if (Level == 1) return 15752; + if (Level == 3) return 15754; + if (Level == 5) return 15756; + if (Level == 7) return 15758; + if (Level == 0) return 15751; + if (Level == 2) return 15753; + if (Level == 4) return 15755; + if (Level == 6) return 15757; + return 15759; + } + short Composter(); + unsigned char Level(short ID); + } + namespace Conduit + { + constexpr short Conduit() + { + if (false) return 9649; + return 9650; + } + bool Waterlogged(short ID); + } + namespace Cornflower + { + constexpr short Cornflower() + { + return 1422; + } + } + namespace CrackedNetherBricks + { + constexpr short CrackedNetherBricks() + { + return 17102; + } + } + namespace CrackedPolishedBlackstoneBricks + { + constexpr short CrackedPolishedBlackstoneBricks() + { + return 16252; + } + } + namespace CrackedStoneBricks + { + constexpr short CrackedStoneBricks() + { + return 4497; + } + } + namespace CraftingTable + { + constexpr short CraftingTable() + { + return 3356; + } + } + namespace CreeperHead + { + constexpr short CreeperHead(unsigned char Rotation) + { + if (Rotation == 1) return 6571; + if (Rotation == 2) return 6572; + if (Rotation == 3) return 6573; + if (Rotation == 4) return 6574; + if (Rotation == 5) return 6575; + if (Rotation == 6) return 6576; + if (Rotation == 7) return 6577; + if (Rotation == 8) return 6578; + if (Rotation == 9) return 6579; + if (Rotation == 10) return 6580; + if (Rotation == 11) return 6581; + if (Rotation == 12) return 6582; + if (Rotation == 13) return 6583; + if (Rotation == 14) return 6584; + if (Rotation == 0) return 6570; + return 6585; + } + short CreeperHead(); + unsigned char Rotation(short ID); + } + namespace CreeperWallHead + { + constexpr short CreeperWallHead(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6586; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6587; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 6588; + return 6589; + } + short CreeperWallHead(); + eBlockFace Facing(short ID); + } + namespace CrimsonButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short CrimsonButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15497; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15482; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15490; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15498; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15483; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15491; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15499; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15484; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15492; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15500; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15485; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15493; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15501; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15486; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15494; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15502; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15479; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15487; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15495; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15480; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15488; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15496; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15481; + return 15489; + } + short CrimsonButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace CrimsonDoor + { + enum class Half + { + Upper, + Lower + }; + enum class Hinge + { + Left, + Right + }; + constexpr short CrimsonDoor(eBlockFace Facing, enum Half Half, enum Hinge Hinge, bool Open, bool Powered) + { + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 15570; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 15539; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 15571; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 15540; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 15572; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 15541; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 15573; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 15542; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 15574; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 15543; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 15575; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 15544; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 15576; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 15545; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 15577; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 15546; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 15578; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 15547; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 15579; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 15548; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 15580; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 15549; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 15581; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 15550; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Right) return 15582; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 15551; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 15583; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 15552; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 15584; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 15553; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 15585; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 15554; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 15586; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 15555; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 15587; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 15556; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 15588; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 15557; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 15589; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 15558; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 15527; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 15559; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 15528; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 15560; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 15529; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 15561; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 15530; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 15562; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 15531; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 15563; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 15532; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 15564; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 15533; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 15565; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 15534; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 15566; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 15535; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 15567; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 15536; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 15568; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 15537; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 15569; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 15538; + return 15590; + } + short CrimsonDoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Hinge Hinge(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace CrimsonFence + { + constexpr short CrimsonFence(bool East, bool North, bool South, bool West) + { + if (false && South && West && East && North) return 15063; + if (false && South && West && East && !North) return 15071; + if (false && South && West && !East && North) return 15079; + if (false && South && West && !East && !North) return 15087; + if (false && South && !West && East && North) return 15064; + if (false && South && !West && East && !North) return 15072; + if (false && South && !West && !East && North) return 15080; + if (false && South && !West && !East && !North) return 15088; + if (!false && South && West && East && North) return 15065; + if (!false && South && West && East && !North) return 15073; + if (!false && South && West && !East && North) return 15081; + if (!false && South && West && !East && !North) return 15089; + if (!false && South && !West && East && North) return 15066; + if (!false && South && !West && East && !North) return 15074; + if (!false && South && !West && !East && North) return 15082; + if (!false && South && !West && !East && !North) return 15090; + if (false && !South && West && East && North) return 15067; + if (false && !South && West && East && !North) return 15075; + if (false && !South && West && !East && North) return 15083; + if (false && !South && West && !East && !North) return 15091; + if (false && !South && !West && East && North) return 15068; + if (false && !South && !West && East && !North) return 15076; + if (false && !South && !West && !East && North) return 15084; + if (false && !South && !West && !East && !North) return 15092; + if (!false && !South && West && East && North) return 15069; + if (!false && !South && West && East && !North) return 15077; + if (!false && !South && West && !East && North) return 15085; + if (!false && !South && West && !East && !North) return 15093; + if (!false && !South && !West && East && North) return 15070; + if (!false && !South && !West && East && !North) return 15078; + if (!false && !South && !West && !East && North) return 15086; + return 15094; + } + short CrimsonFence(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace CrimsonFenceGate + { + constexpr short CrimsonFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) + { + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15280; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15257; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15265; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15273; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15281; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15258; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15266; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15274; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15282; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15259; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15267; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15275; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15283; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15260; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15268; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15276; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15284; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15261; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15269; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15277; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15285; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15262; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15270; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15278; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15255; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15263; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15271; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15279; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15256; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15264; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15272; + return 15286; + } + short CrimsonFenceGate(); + eBlockFace Facing(short ID); + bool InWall(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace CrimsonFungus + { + constexpr short CrimsonFungus() + { + return 14988; + } + } + namespace CrimsonHyphae + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short CrimsonHyphae(enum Axis Axis) + { + if (Axis == Axis::Y) return 14982; + if (Axis == Axis::X) return 14981; + return 14983; + } + short CrimsonHyphae(); + enum Axis Axis(short ID); + } + namespace CrimsonNylium + { + constexpr short CrimsonNylium() + { + return 14987; + } + } + namespace CrimsonPlanks + { + constexpr short CrimsonPlanks() + { + return 15045; + } + } + namespace CrimsonPressurePlate + { + constexpr short CrimsonPressurePlate(bool Powered) + { + if (Powered) return 15059; + return 15060; + } + short CrimsonPressurePlate(); + bool Powered(short ID); + } + namespace CrimsonRoots + { + constexpr short CrimsonRoots() + { + return 15044; + } + } + namespace CrimsonSign + { + constexpr short CrimsonSign(unsigned char Rotation) + { + if (Rotation == 14 && false) return 15683; + if (Rotation == 2 && !false) return 15660; + if (Rotation == 6 && !false) return 15668; + if (Rotation == 10 && !false) return 15676; + if (Rotation == 14 && !false) return 15684; + if (Rotation == 3 && false) return 15661; + if (Rotation == 7 && false) return 15669; + if (Rotation == 11 && false) return 15677; + if (Rotation == 15 && false) return 15685; + if (Rotation == 3 && !false) return 15662; + if (Rotation == 7 && !false) return 15670; + if (Rotation == 11 && !false) return 15678; + if (Rotation == 0 && false) return 15655; + if (Rotation == 4 && false) return 15663; + if (Rotation == 8 && false) return 15671; + if (Rotation == 12 && false) return 15679; + if (Rotation == 0 && !false) return 15656; + if (Rotation == 4 && !false) return 15664; + if (Rotation == 8 && !false) return 15672; + if (Rotation == 12 && !false) return 15680; + if (Rotation == 1 && false) return 15657; + if (Rotation == 5 && false) return 15665; + if (Rotation == 9 && false) return 15673; + if (Rotation == 13 && false) return 15681; + if (Rotation == 1 && !false) return 15658; + if (Rotation == 5 && !false) return 15666; + if (Rotation == 9 && !false) return 15674; + if (Rotation == 13 && !false) return 15682; + if (Rotation == 2 && false) return 15659; + if (Rotation == 6 && false) return 15667; + if (Rotation == 10 && false) return 15675; + return 15686; + } + short CrimsonSign(); + unsigned char Rotation(short ID); + bool Waterlogged(short ID); + } + namespace CrimsonSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short CrimsonSlab(enum Type Type) + { + if (Type == Type::Double && !false) return 15052; + if (Type == Type::Bottom && false) return 15049; + if (Type == Type::Bottom && !false) return 15050; + if (Type == Type::Top && false) return 15047; + if (Type == Type::Double && false) return 15051; + return 15048; + } + short CrimsonSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace CrimsonStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short CrimsonStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15319; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15320; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15321; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15322; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15323; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15324; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15325; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15326; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15327; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15328; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15329; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15330; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15331; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15332; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15333; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15334; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15335; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15336; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15337; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15338; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15339; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15340; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15341; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15342; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15343; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15344; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15345; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15346; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15347; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15348; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15349; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15350; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15351; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15352; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15353; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15354; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15355; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15356; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15357; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15358; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15359; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15360; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15361; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15362; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15363; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15364; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15365; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15366; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15367; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15368; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15369; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15370; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15371; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15372; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15373; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15374; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15375; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15376; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15377; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15378; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15379; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15380; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15381; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15382; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15383; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15384; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15385; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15386; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15387; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15388; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15389; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15390; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15391; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15392; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15393; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15394; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15395; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15396; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15397; + return 15398; + } + short CrimsonStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace CrimsonStem + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short CrimsonStem(enum Axis Axis) + { + if (Axis == Axis::Y) return 14976; + if (Axis == Axis::X) return 14975; + return 14977; + } + short CrimsonStem(); + enum Axis Axis(short ID); + } + namespace CrimsonTrapdoor + { + enum class Half + { + Top, + Bottom + }; + constexpr short CrimsonTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) + { + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 15129; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 15161; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 15130; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 15162; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 15131; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 15163; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 15132; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 15164; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 15133; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 15165; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 15134; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 15166; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 15135; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 15167; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 15136; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 15168; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 15137; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 15169; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 15138; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 15170; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 15139; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 15171; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 15140; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 15172; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 15141; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 15173; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 15142; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 15174; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 15143; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 15175; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 15144; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 15176; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 15145; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 15177; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 15146; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 15178; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 15147; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 15179; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 15148; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 15180; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 15149; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 15181; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 15150; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 15182; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 15151; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 15183; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 15152; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 15184; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 15153; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 15185; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 15154; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 15186; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 15155; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 15187; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 15156; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 15188; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 15157; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 15189; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 15158; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 15127; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 15159; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 15128; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 15160; + return 15190; + } + short CrimsonTrapdoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + bool Open(short ID); + bool Powered(short ID); + bool Waterlogged(short ID); + } + namespace CrimsonWallSign + { + constexpr short CrimsonWallSign(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 15724; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 15721; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 15725; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 15722; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 15719; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 15723; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 15720; + return 15726; + } + short CrimsonWallSign(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace CryingObsidian + { + constexpr short CryingObsidian() + { + return 15828; + } + } + namespace CutRedSandstone + { + constexpr short CutRedSandstone() + { + return 8219; + } + } + namespace CutRedSandstoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short CutRedSandstoneSlab(enum Type Type) + { + if (Type == Type::Top && false) return 8402; + if (Type == Type::Double && false) return 8406; + if (Type == Type::Top && !false) return 8403; + if (Type == Type::Double && !false) return 8407; + if (Type == Type::Bottom && false) return 8404; + return 8405; + } + short CutRedSandstoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace CutSandstone + { + constexpr short CutSandstone() + { + return 248; + } + } + namespace CutSandstoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short CutSandstoneSlab(enum Type Type) + { + if (Type == Type::Bottom && !false) return 8357; + if (Type == Type::Top && false) return 8354; + if (Type == Type::Double && false) return 8358; + if (Type == Type::Top && !false) return 8355; + if (Type == Type::Double && !false) return 8359; + return 8356; + } + short CutSandstoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace CyanBanner + { + constexpr short CyanBanner(unsigned char Rotation) + { + if (Rotation == 0) return 8041; + if (Rotation == 1) return 8042; + if (Rotation == 2) return 8043; + if (Rotation == 3) return 8044; + if (Rotation == 4) return 8045; + if (Rotation == 5) return 8046; + if (Rotation == 6) return 8047; + if (Rotation == 7) return 8048; + if (Rotation == 8) return 8049; + if (Rotation == 9) return 8050; + if (Rotation == 10) return 8051; + if (Rotation == 11) return 8052; + if (Rotation == 12) return 8053; + if (Rotation == 13) return 8054; + if (Rotation == 14) return 8055; + return 8056; + } + short CyanBanner(); + unsigned char Rotation(short ID); + } + namespace CyanBed + { + enum class Part + { + Head, + Foot + }; + constexpr short CyanBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1197; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1201; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1205; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1194; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1198; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1202; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1206; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1195; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1199; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1203; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1207; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1196; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1200; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1204; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1193; + return 1208; + } + short CyanBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace CyanCarpet + { + constexpr short CyanCarpet() + { + return 7875; + } + } + namespace CyanConcrete + { + constexpr short CyanConcrete() + { + return 9447; + } + } + namespace CyanConcretePowder + { + constexpr short CyanConcretePowder() + { + return 9463; + } + } + namespace CyanGlazedTerracotta + { + constexpr short CyanGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9411; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9410; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9412; + return 9413; + } + short CyanGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace CyanShulkerBox + { + constexpr short CyanShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9333; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9337; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9334; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9335; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9332; + return 9336; + } + short CyanShulkerBox(); + eBlockFace Facing(short ID); + } + namespace CyanStainedGlass + { + constexpr short CyanStainedGlass() + { + return 4104; + } + } + namespace CyanStainedGlassPane + { + constexpr short CyanStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (false && !South && West && !East && !North) return 7179; + if (false && South && !West && East && North) return 7152; + if (false && !South && !West && East && North) return 7156; + if (false && South && !West && East && !North) return 7160; + if (false && !South && !West && East && !North) return 7164; + if (false && South && !West && !East && North) return 7168; + if (false && !South && !West && !East && North) return 7172; + if (false && South && !West && !East && !North) return 7176; + if (false && !South && !West && !East && !North) return 7180; + if (!false && South && West && East && North) return 7153; + if (!false && !South && West && East && North) return 7157; + if (!false && South && West && East && !North) return 7161; + if (!false && !South && West && East && !North) return 7165; + if (!false && South && West && !East && North) return 7169; + if (!false && !South && West && !East && North) return 7173; + if (!false && South && West && !East && !North) return 7177; + if (!false && !South && West && !East && !North) return 7181; + if (!false && South && !West && East && North) return 7154; + if (!false && !South && !West && East && North) return 7158; + if (!false && South && !West && East && !North) return 7162; + if (!false && !South && !West && East && !North) return 7166; + if (!false && South && !West && !East && North) return 7170; + if (!false && !South && !West && !East && North) return 7174; + if (!false && South && !West && !East && !North) return 7178; + if (false && South && West && East && North) return 7151; + if (false && !South && West && East && North) return 7155; + if (false && South && West && East && !North) return 7159; + if (false && !South && West && East && !North) return 7163; + if (false && South && West && !East && North) return 7167; + if (false && !South && West && !East && North) return 7171; + if (false && South && West && !East && !North) return 7175; + return 7182; + } + short CyanStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace CyanTerracotta + { + constexpr short CyanTerracotta() + { + return 6856; + } + } + namespace CyanWallBanner + { + constexpr short CyanWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8191; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8189; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8190; + return 8192; + } + short CyanWallBanner(); + eBlockFace Facing(short ID); + } + namespace CyanWool + { + constexpr short CyanWool() + { + return 1393; + } + } + namespace DamagedAnvil + { + constexpr short DamagedAnvil(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6619; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 6620; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6618; + return 6621; + } + short DamagedAnvil(); + eBlockFace Facing(short ID); + } + namespace Dandelion + { + constexpr short Dandelion() + { + return 1412; + } + } + namespace DarkOakButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short DarkOakButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6466; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6470; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6474; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6478; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6482; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6486; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6467; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6471; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6475; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6479; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6483; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6487; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6468; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6472; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6476; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6480; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6484; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6488; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6469; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6473; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6477; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6481; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6485; + return 6489; + } + short DarkOakButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace DarkOakDoor + { + enum class Half + { + Upper, + Lower + }; + enum class Hinge + { + Left, + Right + }; + constexpr short DarkOakDoor(eBlockFace Facing, enum Half Half, enum Hinge Hinge, bool Open, bool Powered) + { + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 9018; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 9050; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 9019; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 9051; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 9020; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 9052; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 9021; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 9053; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 9022; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 9054; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 9023; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 9055; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 9024; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 9056; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 9025; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 8994; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 9026; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 8995; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 9027; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 8996; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 9028; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 8997; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 9029; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 8998; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 9030; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 8999; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 9031; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 9000; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 9032; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 9001; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 9033; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 9002; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 9034; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 9003; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 9035; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 9004; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 9036; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 9005; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 9037; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 9006; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 9038; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 9007; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 9039; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 9008; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 9040; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 9009; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 9041; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 9010; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 9042; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 9011; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 9043; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 9012; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 9044; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 9013; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 9045; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 9014; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 9046; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 9015; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 9047; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 9016; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 9048; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 9017; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Right) return 9049; + return 9057; + } + short DarkOakDoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Hinge Hinge(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace DarkOakFence + { + constexpr short DarkOakFence(bool East, bool North, bool South, bool West) + { + if (!false && South && West && East && North) return 8708; + if (!false && South && West && East && !North) return 8716; + if (!false && South && West && !East && North) return 8724; + if (!false && South && West && !East && !North) return 8732; + if (!false && South && !West && East && North) return 8709; + if (!false && South && !West && East && !North) return 8717; + if (!false && South && !West && !East && North) return 8725; + if (!false && South && !West && !East && !North) return 8733; + if (false && !South && West && East && North) return 8710; + if (false && !South && West && East && !North) return 8718; + if (false && !South && West && !East && North) return 8726; + if (false && !South && West && !East && !North) return 8734; + if (false && !South && !West && East && North) return 8711; + if (false && !South && !West && East && !North) return 8719; + if (false && !South && !West && !East && North) return 8727; + if (false && !South && !West && !East && !North) return 8735; + if (!false && !South && West && East && North) return 8712; + if (!false && !South && West && East && !North) return 8720; + if (!false && !South && West && !East && North) return 8728; + if (!false && !South && West && !East && !North) return 8736; + if (!false && !South && !West && East && North) return 8713; + if (!false && !South && !West && East && !North) return 8721; + if (!false && !South && !West && !East && North) return 8729; + if (false && South && West && East && North) return 8706; + if (false && South && West && East && !North) return 8714; + if (false && South && West && !East && North) return 8722; + if (false && South && West && !East && !North) return 8730; + if (false && South && !West && East && North) return 8707; + if (false && South && !West && East && !North) return 8715; + if (false && South && !West && !East && North) return 8723; + if (false && South && !West && !East && !North) return 8731; + return 8737; + } + short DarkOakFence(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace DarkOakFenceGate + { + constexpr short DarkOakFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) + { + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8553; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8561; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8569; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8546; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8554; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8562; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8570; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8547; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8555; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8563; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8571; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8548; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8556; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8564; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8572; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8549; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8557; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8565; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8573; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8550; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8558; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8566; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8574; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8551; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8559; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8567; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8575; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8552; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8560; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8568; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8576; + return 8577; + } + short DarkOakFenceGate(); + eBlockFace Facing(short ID); + bool InWall(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace DarkOakLeaves + { + constexpr short DarkOakLeaves(unsigned char Distance, bool Persistent) + { + if (!Persistent && Distance == 7) return 228; + if (Persistent && Distance == 4) return 221; + if (!Persistent && Distance == 4) return 222; + if (Persistent && Distance == 1) return 215; + if (Persistent && Distance == 5) return 223; + if (!Persistent && Distance == 1) return 216; + if (!Persistent && Distance == 5) return 224; + if (Persistent && Distance == 2) return 217; + if (Persistent && Distance == 6) return 225; + if (!Persistent && Distance == 2) return 218; + if (!Persistent && Distance == 6) return 226; + if (Persistent && Distance == 3) return 219; + if (Persistent && Distance == 7) return 227; + return 220; + } + short DarkOakLeaves(); + unsigned char Distance(short ID); + bool Persistent(short ID); + } + namespace DarkOakLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short DarkOakLog(enum Axis Axis) + { + if (Axis == Axis::X) return 88; + if (Axis == Axis::Y) return 89; + return 90; + } + short DarkOakLog(); + enum Axis Axis(short ID); + } + namespace DarkOakPlanks + { + constexpr short DarkOakPlanks() + { + return 20; + } + } + namespace DarkOakPressurePlate + { + constexpr short DarkOakPressurePlate(bool Powered) + { + if (Powered) return 3883; + return 3884; + } + short DarkOakPressurePlate(); + bool Powered(short ID); + } + namespace DarkOakSapling + { + constexpr short DarkOakSapling(unsigned char Stage) + { + if (Stage == 0) return 31; + return 32; + } + short DarkOakSapling(); + unsigned char Stage(short ID); + } + namespace DarkOakSign + { + constexpr short DarkOakSign(unsigned char Rotation) + { + if (Rotation == 2 && false) return 3545; + if (Rotation == 3 && false) return 3547; + if (Rotation == 4 && false) return 3549; + if (Rotation == 5 && false) return 3551; + if (Rotation == 6 && false) return 3553; + if (Rotation == 7 && false) return 3555; + if (Rotation == 8 && false) return 3557; + if (Rotation == 9 && false) return 3559; + if (Rotation == 10 && false) return 3561; + if (Rotation == 11 && false) return 3563; + if (Rotation == 12 && false) return 3565; + if (Rotation == 13 && false) return 3567; + if (Rotation == 14 && false) return 3569; + if (Rotation == 15 && false) return 3571; + if (Rotation == 0 && !false) return 3542; + if (Rotation == 1 && !false) return 3544; + if (Rotation == 2 && !false) return 3546; + if (Rotation == 3 && !false) return 3548; + if (Rotation == 4 && !false) return 3550; + if (Rotation == 5 && !false) return 3552; + if (Rotation == 6 && !false) return 3554; + if (Rotation == 7 && !false) return 3556; + if (Rotation == 8 && !false) return 3558; + if (Rotation == 9 && !false) return 3560; + if (Rotation == 10 && !false) return 3562; + if (Rotation == 11 && !false) return 3564; + if (Rotation == 12 && !false) return 3566; + if (Rotation == 13 && !false) return 3568; + if (Rotation == 14 && !false) return 3570; + if (Rotation == 0 && false) return 3541; + if (Rotation == 1 && false) return 3543; + return 3572; + } + short DarkOakSign(); + unsigned char Rotation(short ID); + bool Waterlogged(short ID); + } + namespace DarkOakSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short DarkOakSlab(enum Type Type) + { + if (Type == Type::Bottom && false) return 8332; + if (Type == Type::Bottom && !false) return 8333; + if (Type == Type::Top && false) return 8330; + if (Type == Type::Double && false) return 8334; + if (Type == Type::Top && !false) return 8331; + return 8335; + } + short DarkOakSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace DarkOakStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short DarkOakStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7489; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7490; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7491; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7492; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7493; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7494; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7495; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7496; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7497; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7498; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7499; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7500; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7501; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7502; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7503; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7504; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7505; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7506; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7507; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7508; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7509; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7510; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7511; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7512; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7513; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7514; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7515; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7516; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7517; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7518; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7455; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7519; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7456; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7520; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7457; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7521; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7458; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7522; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7459; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7523; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7460; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7524; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7461; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7525; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7462; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7526; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7463; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7527; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7464; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7528; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7465; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7529; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7466; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7530; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7467; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7531; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7468; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7532; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7469; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7533; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7470; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7534; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7471; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7472; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7473; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7474; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7475; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7476; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7477; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7478; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7479; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7480; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7481; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7482; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7483; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7484; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7485; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7486; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7487; + return 7488; + } + short DarkOakStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace DarkOakTrapdoor + { + enum class Half + { + Top, + Bottom + }; + constexpr short DarkOakTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) + { + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4447; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4463; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4479; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4432; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4448; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4464; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4480; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4433; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4449; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4465; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4481; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4434; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4450; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4466; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4482; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4435; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4451; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4467; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4483; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4436; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4452; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4468; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4484; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4437; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4453; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4469; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4485; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4438; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4454; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4470; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4486; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4439; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4455; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4471; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4487; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4440; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4456; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4472; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4488; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4441; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4457; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4473; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4489; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4442; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4458; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4474; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4490; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4443; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4459; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4475; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4491; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4444; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4460; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4476; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4492; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4445; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4461; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4477; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4493; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4446; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4462; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4478; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4431; + return 4494; + } + short DarkOakTrapdoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + bool Open(short ID); + bool Powered(short ID); + bool Waterlogged(short ID); + } + namespace DarkOakWallSign + { + constexpr short DarkOakWallSign(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 3778; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 3779; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 3780; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 3781; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 3775; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 3776; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 3777; + return 3782; + } + short DarkOakWallSign(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace DarkOakWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short DarkOakWood(enum Axis Axis) + { + if (Axis == Axis::X) return 124; + if (Axis == Axis::Y) return 125; + return 126; + } + short DarkOakWood(); + enum Axis Axis(short ID); + } + namespace DarkPrismarine + { + constexpr short DarkPrismarine() + { + return 7603; + } + } + namespace DarkPrismarineSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short DarkPrismarineSlab(enum Type Type) + { + if (Type == Type::Top && false) return 7856; + if (Type == Type::Bottom && false) return 7858; + if (Type == Type::Double && false) return 7860; + if (Type == Type::Top && !false) return 7857; + if (Type == Type::Bottom && !false) return 7859; + return 7861; + } + short DarkPrismarineSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace DarkPrismarineStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short DarkPrismarineStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7806; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7807; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7808; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7809; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7810; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7811; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7812; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7813; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7814; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7815; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7816; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7817; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7818; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7819; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7820; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7821; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7822; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7823; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7824; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7825; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7826; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7827; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7764; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7828; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7765; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7829; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7766; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7830; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7767; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7831; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7768; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7832; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7769; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7833; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7770; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7834; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7771; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7835; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7772; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7836; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7773; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7837; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7774; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7838; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7775; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7839; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7776; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7840; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7777; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7841; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7778; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7842; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7779; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7843; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7780; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7781; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7782; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7783; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7784; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7785; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7786; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7787; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7788; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7789; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7790; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7791; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7792; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7793; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7794; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7795; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7796; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7797; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7798; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7799; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7800; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7801; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7802; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7803; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7804; + return 7805; + } + short DarkPrismarineStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace DaylightDetector + { + constexpr short DaylightDetector(bool Inverted, unsigned char Power) + { + if (!Inverted && Power == 4) return 6714; + if (!Inverted && Power == 8) return 6718; + if (!Inverted && Power == 12) return 6722; + if (Inverted && Power == 1) return 6695; + if (Inverted && Power == 5) return 6699; + if (Inverted && Power == 9) return 6703; + if (Inverted && Power == 13) return 6707; + if (!Inverted && Power == 1) return 6711; + if (!Inverted && Power == 5) return 6715; + if (!Inverted && Power == 9) return 6719; + if (!Inverted && Power == 13) return 6723; + if (Inverted && Power == 2) return 6696; + if (Inverted && Power == 6) return 6700; + if (Inverted && Power == 10) return 6704; + if (Inverted && Power == 14) return 6708; + if (!Inverted && Power == 2) return 6712; + if (!Inverted && Power == 6) return 6716; + if (!Inverted && Power == 10) return 6720; + if (!Inverted && Power == 14) return 6724; + if (Inverted && Power == 3) return 6697; + if (Inverted && Power == 7) return 6701; + if (Inverted && Power == 11) return 6705; + if (Inverted && Power == 15) return 6709; + if (!Inverted && Power == 3) return 6713; + if (!Inverted && Power == 7) return 6717; + if (!Inverted && Power == 11) return 6721; + if (Inverted && Power == 0) return 6694; + if (Inverted && Power == 4) return 6698; + if (Inverted && Power == 8) return 6702; + if (Inverted && Power == 12) return 6706; + if (!Inverted && Power == 0) return 6710; + return 6725; + } + short DaylightDetector(); + bool Inverted(short ID); + unsigned char Power(short ID); + } + namespace DeadBrainCoral + { + constexpr short DeadBrainCoral() + { + if (false) return 9522; + return 9523; + } + bool Waterlogged(short ID); + } + namespace DeadBrainCoralBlock + { + constexpr short DeadBrainCoralBlock() + { + return 9511; + } + } + namespace DeadBrainCoralFan + { + constexpr short DeadBrainCoralFan() + { + if (false) return 9542; + return 9543; + } + bool Waterlogged(short ID); + } + namespace DeadBrainCoralWallFan + { + constexpr short DeadBrainCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9571; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9568; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9572; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9569; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9573; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9570; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9574; + return 9575; + } + short DeadBrainCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace DeadBubbleCoral + { + constexpr short DeadBubbleCoral() + { + if (false) return 9524; + return 9525; + } + bool Waterlogged(short ID); + } + namespace DeadBubbleCoralBlock + { + constexpr short DeadBubbleCoralBlock() + { + return 9512; + } + } + namespace DeadBubbleCoralFan + { + constexpr short DeadBubbleCoralFan() + { + if (false) return 9544; + return 9545; + } + bool Waterlogged(short ID); + } + namespace DeadBubbleCoralWallFan + { + constexpr short DeadBubbleCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9578; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9582; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9579; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9576; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9580; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9577; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9581; + return 9583; + } + short DeadBubbleCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace DeadBush + { + constexpr short DeadBush() + { + return 1344; + } + } + namespace DeadFireCoral + { + constexpr short DeadFireCoral() + { + if (false) return 9526; + return 9527; + } + bool Waterlogged(short ID); + } + namespace DeadFireCoralBlock + { + constexpr short DeadFireCoralBlock() + { + return 9513; + } + } + namespace DeadFireCoralFan + { + constexpr short DeadFireCoralFan() + { + if (false) return 9546; + return 9547; + } + bool Waterlogged(short ID); + } + namespace DeadFireCoralWallFan + { + constexpr short DeadFireCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9585; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9589; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9586; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9590; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9587; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9584; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9588; + return 9591; + } + short DeadFireCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace DeadHornCoral + { + constexpr short DeadHornCoral() + { + if (false) return 9528; + return 9529; + } + bool Waterlogged(short ID); + } + namespace DeadHornCoralBlock + { + constexpr short DeadHornCoralBlock() + { + return 9514; + } + } + namespace DeadHornCoralFan + { + constexpr short DeadHornCoralFan() + { + if (false) return 9548; + return 9549; + } + bool Waterlogged(short ID); + } + namespace DeadHornCoralWallFan + { + constexpr short DeadHornCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9592; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9596; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9593; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9597; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9594; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9598; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9595; + return 9599; + } + short DeadHornCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace DeadTubeCoral + { + constexpr short DeadTubeCoral() + { + if (false) return 9520; + return 9521; + } + bool Waterlogged(short ID); + } + namespace DeadTubeCoralBlock + { + constexpr short DeadTubeCoralBlock() + { + return 9510; + } + } + namespace DeadTubeCoralFan + { + constexpr short DeadTubeCoralFan() + { + if (false) return 9540; + return 9541; + } + bool Waterlogged(short ID); + } + namespace DeadTubeCoralWallFan + { + constexpr short DeadTubeCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9564; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9561; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9565; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9562; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9566; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9563; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9560; + return 9567; + } + short DeadTubeCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace DetectorRail + { + enum class Shape + { + NorthSouth, + EastWest, + AscendingEast, + AscendingWest, + AscendingNorth, + AscendingSouth + }; + constexpr short DetectorRail(bool Powered, enum Shape Shape) + { + if (Shape == Shape::NorthSouth && Powered) return 1317; + if (Shape == Shape::AscendingNorth && Powered) return 1321; + if (Shape == Shape::AscendingEast && !Powered) return 1325; + if (Shape == Shape::EastWest && Powered) return 1318; + if (Shape == Shape::AscendingSouth && Powered) return 1322; + if (Shape == Shape::AscendingWest && !Powered) return 1326; + if (Shape == Shape::AscendingEast && Powered) return 1319; + if (Shape == Shape::NorthSouth && !Powered) return 1323; + if (Shape == Shape::AscendingNorth && !Powered) return 1327; + if (Shape == Shape::AscendingWest && Powered) return 1320; + if (Shape == Shape::EastWest && !Powered) return 1324; + return 1328; + } + short DetectorRail(); + bool Powered(short ID); + enum Shape Shape(short ID); + } + namespace DiamondBlock + { + constexpr short DiamondBlock() + { + return 3355; + } + } + namespace DiamondOre + { + constexpr short DiamondOre() + { + return 3354; + } + } + namespace Diorite + { + constexpr short Diorite() + { + return 4; + } + } + namespace DioriteSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short DioriteSlab(enum Type Type) + { + if (Type == Type::Double && !false) return 10866; + if (Type == Type::Bottom && false) return 10863; + if (Type == Type::Bottom && !false) return 10864; + if (Type == Type::Top && false) return 10861; + if (Type == Type::Double && false) return 10865; + return 10862; + } + short DioriteSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace DioriteStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short DioriteStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10722; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10723; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10724; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10725; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10726; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10727; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10728; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10729; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10730; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10731; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10732; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10733; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10734; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10735; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10736; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10737; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10738; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10739; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10740; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10741; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10742; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10743; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10744; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10745; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10746; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10747; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10748; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10749; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10750; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10751; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10752; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10753; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10754; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10755; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10756; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10757; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10758; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10759; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10760; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10761; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10762; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10763; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10764; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10765; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10766; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10767; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10768; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10769; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10770; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10771; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10772; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10773; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10774; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10775; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10776; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10777; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10778; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10779; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10780; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10781; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10782; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10783; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10784; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10785; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10786; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10787; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10788; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10709; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10710; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10711; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10712; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10713; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10714; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10715; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10716; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10717; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10718; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10719; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10720; + return 10721; + } + short DioriteStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace DioriteWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short DioriteWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 14611; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 14615; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14619; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 14623; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 14627; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14631; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 14635; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 14639; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14643; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 14647; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 14651; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14655; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 14659; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 14663; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14667; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 14671; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 14675; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14679; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 14683; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 14687; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14691; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 14695; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 14699; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14703; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 14707; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 14711; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14715; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 14719; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14723; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14727; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 14731; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14735; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14739; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 14743; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14747; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14751; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 14432; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 14436; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 14440; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 14444; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 14448; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 14452; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 14456; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 14460; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 14464; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 14468; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 14472; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 14476; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 14480; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 14484; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 14488; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 14492; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 14496; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 14500; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 14504; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 14508; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 14512; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 14516; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 14520; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 14524; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 14528; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 14532; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 14536; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 14540; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 14544; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 14548; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 14552; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 14556; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 14560; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 14564; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 14568; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 14572; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 14576; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 14580; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 14584; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 14588; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 14592; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 14596; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 14600; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 14604; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 14608; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 14612; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14616; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 14620; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 14624; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14628; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 14632; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 14636; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14640; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 14644; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 14648; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 14652; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 14656; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 14660; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 14664; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 14668; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 14672; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 14676; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 14680; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 14684; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14688; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 14692; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 14696; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14700; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 14704; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 14708; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14712; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 14716; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14720; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14724; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14728; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14732; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14736; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14740; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14744; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14748; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14752; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 14433; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 14437; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 14441; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 14445; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 14449; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 14453; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 14457; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 14461; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 14465; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 14469; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 14473; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 14477; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 14481; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 14485; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 14489; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 14493; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 14497; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 14501; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 14505; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 14509; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 14513; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 14517; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 14521; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 14525; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 14529; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 14533; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 14537; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 14541; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 14545; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 14549; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 14553; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 14557; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 14561; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 14565; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 14569; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 14573; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 14577; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 14581; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 14585; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 14589; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 14593; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 14597; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 14601; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 14605; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 14609; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14613; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 14617; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14621; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14625; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 14629; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14633; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14637; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 14641; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14645; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 14649; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 14653; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 14657; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 14661; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 14665; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 14669; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 14673; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 14677; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 14681; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14685; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 14689; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14693; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14697; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 14701; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14705; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14709; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 14713; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14717; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14721; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14725; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14729; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14733; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14737; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14741; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14745; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14749; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14753; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 14434; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 14438; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 14442; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 14446; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 14450; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 14454; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 14458; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 14462; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 14466; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 14470; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 14474; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 14478; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 14482; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 14486; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 14490; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 14494; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 14498; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 14502; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 14506; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 14510; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14514; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 14518; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 14522; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14526; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 14530; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 14534; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14538; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 14542; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 14546; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 14550; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 14554; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 14558; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 14562; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 14566; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 14570; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 14574; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 14578; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 14582; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14586; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 14590; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 14594; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14598; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 14602; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 14606; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14610; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 14614; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14618; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14622; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 14626; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14630; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14634; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 14638; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14642; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14646; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 14650; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 14654; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14658; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 14662; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 14666; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14670; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 14674; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 14678; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14682; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 14686; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14690; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14694; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 14698; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14702; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14706; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 14710; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14714; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14718; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 14722; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14726; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14730; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 14734; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14738; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14742; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 14746; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14750; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14754; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 14431; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 14435; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 14439; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 14443; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 14447; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 14451; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 14455; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 14459; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 14463; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 14467; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 14471; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 14475; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 14479; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 14483; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 14487; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 14491; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 14495; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 14499; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 14503; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 14507; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14511; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 14515; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 14519; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14523; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 14527; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 14531; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14535; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 14539; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 14543; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 14547; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 14551; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 14555; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 14559; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 14563; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 14567; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 14571; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 14575; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 14579; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14583; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 14587; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 14591; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14595; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 14599; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 14603; + return 14607; + } + short DioriteWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace Dirt + { + constexpr short Dirt() + { + return 10; + } + } + namespace Dispenser + { + constexpr short Dispenser(eBlockFace Facing, bool Triggered) + { + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_YP) return 243; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_XP) return 236; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_YM) return 244; + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_XP) return 237; + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_YM) return 245; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_ZP) return 238; + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_ZP) return 239; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_XM) return 240; + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_XM) return 241; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_ZM) return 234; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_YP) return 242; + return 235; + } + short Dispenser(); + eBlockFace Facing(short ID); + bool Triggered(short ID); + } + namespace DragonEgg + { + constexpr short DragonEgg() + { + return 5155; + } + } + namespace DragonHead + { + constexpr short DragonHead(unsigned char Rotation) + { + if (Rotation == 11) return 6601; + if (Rotation == 12) return 6602; + if (Rotation == 13) return 6603; + if (Rotation == 14) return 6604; + if (Rotation == 0) return 6590; + if (Rotation == 1) return 6591; + if (Rotation == 2) return 6592; + if (Rotation == 3) return 6593; + if (Rotation == 4) return 6594; + if (Rotation == 5) return 6595; + if (Rotation == 6) return 6596; + if (Rotation == 7) return 6597; + if (Rotation == 8) return 6598; + if (Rotation == 9) return 6599; + if (Rotation == 10) return 6600; + return 6605; + } + short DragonHead(); + unsigned char Rotation(short ID); + } + namespace DragonWallHead + { + constexpr short DragonWallHead(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6607; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 6608; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6606; + return 6609; + } + short DragonWallHead(); + eBlockFace Facing(short ID); + } + namespace DriedKelpBlock + { + constexpr short DriedKelpBlock() + { + return 9497; + } + } + namespace Dropper + { + constexpr short Dropper(eBlockFace Facing, bool Triggered) + { + if (Triggered && Facing == eBlockFace::BLOCK_FACE_XM) return 6841; + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_XM) return 6842; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_YP) return 6843; + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_YP) return 6844; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_YM) return 6845; + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_YM) return 6846; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6835; + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6836; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_XP) return 6837; + if (!Triggered && Facing == eBlockFace::BLOCK_FACE_XP) return 6838; + if (Triggered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6839; + return 6840; + } + short Dropper(); + eBlockFace Facing(short ID); + bool Triggered(short ID); + } + namespace EmeraldBlock + { + constexpr short EmeraldBlock() + { + return 5403; + } + } + namespace EmeraldOre + { + constexpr short EmeraldOre() + { + return 5250; + } + } + namespace EnchantingTable + { + constexpr short EnchantingTable() + { + return 5132; + } + } + namespace EndGateway + { + constexpr short EndGateway() + { + return 9224; + } + } + namespace EndPortal + { + constexpr short EndPortal() + { + return 5145; + } + } + namespace EndPortalFrame + { + constexpr short EndPortalFrame(bool Eye, eBlockFace Facing) + { + if (Eye && Facing == eBlockFace::BLOCK_FACE_ZP) return 5147; + if (Eye && Facing == eBlockFace::BLOCK_FACE_XP) return 5149; + if (!Eye && Facing == eBlockFace::BLOCK_FACE_ZP) return 5151; + if (Eye && Facing == eBlockFace::BLOCK_FACE_ZM) return 5146; + if (Eye && Facing == eBlockFace::BLOCK_FACE_XM) return 5148; + if (!Eye && Facing == eBlockFace::BLOCK_FACE_ZM) return 5150; + if (!Eye && Facing == eBlockFace::BLOCK_FACE_XM) return 5152; + return 5153; + } + short EndPortalFrame(); + bool Eye(short ID); + eBlockFace Facing(short ID); + } + namespace EndRod + { + constexpr short EndRod(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9060; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9061; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9058; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9062; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9059; + return 9063; + } + short EndRod(); + eBlockFace Facing(short ID); + } + namespace EndStone + { + constexpr short EndStone() + { + return 5154; + } + } + namespace EndStoneBrickSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short EndStoneBrickSlab(enum Type Type) + { + if (Type == Type::Double && !false) return 10824; + if (Type == Type::Bottom && false) return 10821; + if (Type == Type::Bottom && !false) return 10822; + if (Type == Type::Top && false) return 10819; + if (Type == Type::Double && false) return 10823; + return 10820; + } + short EndStoneBrickSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace EndStoneBrickStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short EndStoneBrickStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10087; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10088; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10089; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10090; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10091; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10092; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10093; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10094; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10095; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10096; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10097; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10098; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10099; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10100; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10101; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10102; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10103; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10104; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10105; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10106; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10107; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10108; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10109; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10110; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10111; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10112; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10113; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10114; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10115; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10116; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10117; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10118; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10119; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10120; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10121; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10122; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10123; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10124; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10125; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10126; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10127; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10128; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10129; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10130; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10131; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10132; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10133; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10134; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10135; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10136; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10137; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10138; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10139; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10140; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10141; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10142; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10143; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10144; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10145; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10146; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10147; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10148; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10069; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10070; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10071; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10072; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10073; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10074; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10075; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10076; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10077; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10078; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10079; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10080; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10081; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10082; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10083; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10084; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10085; + return 10086; + } + short EndStoneBrickStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace EndStoneBrickWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short EndStoneBrickWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 14108; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 14112; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 14116; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 14120; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 14124; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 14128; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 14132; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 14136; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 14140; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 14144; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 14148; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 14152; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 14156; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 14160; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 14164; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 14168; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 14172; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 14176; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 14180; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 14184; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 14188; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 14192; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 14196; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 14200; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 14204; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 14208; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 14212; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 14216; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 14220; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 14224; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 14228; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 14232; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 14236; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 14240; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 14244; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 14248; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 14252; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 14256; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 14260; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 14264; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 14268; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 14272; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 14276; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 14280; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 14284; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 14288; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14292; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 14296; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 14300; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14304; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 14308; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 14312; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14316; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 14320; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 14324; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 14328; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 14332; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 14336; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 14340; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 14344; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 14348; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 14352; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 14356; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 14360; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14364; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 14368; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 14372; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14376; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 14380; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 14384; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14388; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 14392; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14396; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14400; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14404; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14408; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14412; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14416; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14420; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14424; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14428; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 14109; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 14113; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 14117; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 14121; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 14125; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 14129; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 14133; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 14137; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 14141; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 14145; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 14149; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 14153; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 14157; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 14161; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 14165; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 14169; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 14173; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 14177; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 14181; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 14185; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 14189; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 14193; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 14197; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 14201; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 14205; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 14209; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 14213; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 14217; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 14221; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 14225; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 14229; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 14233; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 14237; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 14241; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 14245; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 14249; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 14253; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 14257; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 14261; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 14265; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 14269; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 14273; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 14277; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 14281; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 14285; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14289; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 14293; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14297; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14301; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 14305; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14309; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 14313; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 14317; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14321; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 14325; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 14329; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 14333; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 14337; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 14341; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 14345; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 14349; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 14353; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 14357; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14361; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 14365; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14369; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14373; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 14377; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14381; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14385; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 14389; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14393; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14397; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14401; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14405; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14409; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14413; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14417; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14421; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14425; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14429; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 14110; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 14114; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 14118; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 14122; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 14126; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 14130; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 14134; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 14138; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 14142; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 14146; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 14150; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 14154; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 14158; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 14162; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 14166; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 14170; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 14174; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 14178; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 14182; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 14186; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14190; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 14194; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 14198; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14202; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 14206; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 14210; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14214; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 14218; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 14222; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 14226; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 14230; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 14234; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 14238; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 14242; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 14246; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 14250; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 14254; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 14258; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14262; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 14266; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 14270; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14274; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 14278; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 14282; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14286; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 14290; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14294; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14298; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 14302; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14306; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14310; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 14314; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 14318; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14322; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 14326; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 14330; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14334; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 14338; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 14342; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14346; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 14350; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 14354; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14358; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 14362; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14366; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14370; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 14374; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14378; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14382; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 14386; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14390; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14394; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 14398; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14402; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14406; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 14410; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14414; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14418; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 14422; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14426; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14430; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 14107; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 14111; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 14115; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 14119; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 14123; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 14127; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 14131; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 14135; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 14139; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 14143; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 14147; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 14151; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 14155; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 14159; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 14163; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 14167; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 14171; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 14175; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 14179; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 14183; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14187; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 14191; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 14195; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14199; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 14203; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 14207; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 14211; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 14215; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 14219; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 14223; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 14227; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 14231; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 14235; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 14239; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 14243; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 14247; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 14251; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 14255; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14259; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 14263; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 14267; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14271; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 14275; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 14279; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 14283; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 14287; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 14291; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14295; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 14299; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 14303; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14307; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 14311; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 14315; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 14319; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 14323; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 14327; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14331; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 14335; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 14339; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14343; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 14347; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 14351; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14355; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 14359; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 14363; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14367; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 14371; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 14375; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14379; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 14383; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 14387; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14391; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 14395; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14399; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14403; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 14407; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14411; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14415; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 14419; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14423; + return 14427; + } + short EndStoneBrickWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace EndStoneBricks + { + constexpr short EndStoneBricks() + { + return 9218; + } + } + namespace EnderChest + { + constexpr short EnderChest(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 5252; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 5254; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 5256; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 5251; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 5253; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 5255; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 5257; + return 5258; + } + short EnderChest(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace Farmland + { + constexpr short Farmland(unsigned char Moisture) + { + if (Moisture == 0) return 3365; + if (Moisture == 1) return 3366; + if (Moisture == 2) return 3367; + if (Moisture == 3) return 3368; + if (Moisture == 4) return 3369; + if (Moisture == 5) return 3370; + if (Moisture == 6) return 3371; + return 3372; + } + short Farmland(); + unsigned char Moisture(short ID); + } + namespace Fern + { + constexpr short Fern() + { + return 1343; + } + } + namespace Fire + { + constexpr short Fire(unsigned char Age, bool East, bool North, bool South, bool Up, bool West) + { + if (Up && !West && East && South && Age == 2 && !North) return 1513; + if (Up && !West && East && South && Age == 10 && !North) return 1769; + if (!Up && West && East && South && Age == 2 && !North) return 1514; + if (!Up && West && East && South && Age == 10 && !North) return 1770; + if (!Up && !West && East && South && Age == 2 && !North) return 1515; + if (!Up && !West && East && South && Age == 10 && !North) return 1771; + if (Up && West && East && !South && Age == 2 && !North) return 1516; + if (Up && West && East && !South && Age == 10 && !North) return 1772; + if (Up && !West && East && !South && Age == 2 && !North) return 1517; + if (Up && !West && East && !South && Age == 10 && !North) return 1773; + if (!Up && West && East && !South && Age == 2 && !North) return 1518; + if (!Up && West && East && !South && Age == 10 && !North) return 1774; + if (!Up && !West && East && !South && Age == 2 && !North) return 1519; + if (!Up && !West && East && !South && Age == 10 && !North) return 1775; + if (Up && West && !East && South && Age == 2 && North) return 1520; + if (Up && West && !East && South && Age == 10 && North) return 1776; + if (Up && !West && !East && South && Age == 2 && North) return 1521; + if (Up && !West && !East && South && Age == 10 && North) return 1777; + if (!Up && West && !East && South && Age == 2 && North) return 1522; + if (!Up && West && !East && South && Age == 10 && North) return 1778; + if (!Up && !West && !East && South && Age == 2 && North) return 1523; + if (!Up && !West && !East && South && Age == 10 && North) return 1779; + if (Up && West && !East && !South && Age == 2 && North) return 1524; + if (Up && West && !East && !South && Age == 10 && North) return 1780; + if (Up && !West && !East && !South && Age == 2 && North) return 1525; + if (Up && !West && !East && !South && Age == 10 && North) return 1781; + if (!Up && West && !East && !South && Age == 2 && North) return 1526; + if (!Up && West && !East && !South && Age == 10 && North) return 1782; + if (!Up && !West && !East && !South && Age == 2 && North) return 1527; + if (!Up && !West && !East && !South && Age == 10 && North) return 1783; + if (Up && West && !East && South && Age == 2 && !North) return 1528; + if (Up && West && !East && South && Age == 10 && !North) return 1784; + if (Up && !West && !East && South && Age == 2 && !North) return 1529; + if (Up && !West && !East && South && Age == 10 && !North) return 1785; + if (!Up && West && !East && South && Age == 2 && !North) return 1530; + if (!Up && West && !East && South && Age == 10 && !North) return 1786; + if (!Up && !West && !East && South && Age == 2 && !North) return 1531; + if (!Up && !West && !East && South && Age == 10 && !North) return 1787; + if (Up && West && !East && !South && Age == 2 && !North) return 1532; + if (Up && West && !East && !South && Age == 10 && !North) return 1788; + if (Up && !West && !East && !South && Age == 2 && !North) return 1533; + if (Up && !West && !East && !South && Age == 10 && !North) return 1789; + if (!Up && West && !East && !South && Age == 2 && !North) return 1534; + if (!Up && West && !East && !South && Age == 10 && !North) return 1790; + if (!Up && !West && !East && !South && Age == 2 && !North) return 1535; + if (!Up && !West && !East && !South && Age == 10 && !North) return 1791; + if (Up && West && East && South && Age == 3 && North) return 1536; + if (Up && West && East && South && Age == 11 && North) return 1792; + if (Up && !West && East && South && Age == 3 && North) return 1537; + if (Up && !West && East && South && Age == 11 && North) return 1793; + if (!Up && West && East && South && Age == 3 && North) return 1538; + if (!Up && West && East && South && Age == 11 && North) return 1794; + if (!Up && !West && East && South && Age == 3 && North) return 1539; + if (!Up && !West && East && South && Age == 11 && North) return 1795; + if (Up && West && East && !South && Age == 3 && North) return 1540; + if (Up && West && East && !South && Age == 11 && North) return 1796; + if (Up && !West && East && !South && Age == 3 && North) return 1541; + if (Up && !West && East && !South && Age == 11 && North) return 1797; + if (!Up && West && East && !South && Age == 3 && North) return 1542; + if (!Up && West && East && !South && Age == 11 && North) return 1798; + if (!Up && !West && East && !South && Age == 3 && North) return 1543; + if (!Up && !West && East && !South && Age == 11 && North) return 1799; + if (Up && West && East && South && Age == 3 && !North) return 1544; + if (Up && West && East && South && Age == 11 && !North) return 1800; + if (Up && !West && East && South && Age == 3 && !North) return 1545; + if (Up && !West && East && South && Age == 11 && !North) return 1801; + if (!Up && West && East && South && Age == 3 && !North) return 1546; + if (!Up && West && East && South && Age == 11 && !North) return 1802; + if (!Up && !West && East && South && Age == 3 && !North) return 1547; + if (!Up && !West && East && South && Age == 11 && !North) return 1803; + if (Up && West && East && !South && Age == 3 && !North) return 1548; + if (Up && West && East && !South && Age == 11 && !North) return 1804; + if (Up && !West && East && !South && Age == 3 && !North) return 1549; + if (Up && !West && East && !South && Age == 11 && !North) return 1805; + if (!Up && West && East && !South && Age == 3 && !North) return 1550; + if (!Up && West && East && !South && Age == 11 && !North) return 1806; + if (!Up && !West && East && !South && Age == 3 && !North) return 1551; + if (!Up && !West && East && !South && Age == 11 && !North) return 1807; + if (Up && West && !East && South && Age == 3 && North) return 1552; + if (Up && West && !East && South && Age == 11 && North) return 1808; + if (Up && !West && !East && South && Age == 3 && North) return 1553; + if (Up && !West && !East && South && Age == 11 && North) return 1809; + if (!Up && West && !East && South && Age == 3 && North) return 1554; + if (!Up && West && !East && South && Age == 11 && North) return 1810; + if (!Up && !West && !East && South && Age == 3 && North) return 1555; + if (!Up && !West && !East && South && Age == 11 && North) return 1811; + if (Up && West && !East && !South && Age == 3 && North) return 1556; + if (Up && West && !East && !South && Age == 11 && North) return 1812; + if (Up && !West && !East && !South && Age == 3 && North) return 1557; + if (Up && !West && !East && !South && Age == 11 && North) return 1813; + if (!Up && West && !East && !South && Age == 3 && North) return 1558; + if (!Up && West && !East && !South && Age == 11 && North) return 1814; + if (!Up && !West && !East && !South && Age == 3 && North) return 1559; + if (!Up && !West && !East && !South && Age == 11 && North) return 1815; + if (Up && West && !East && South && Age == 3 && !North) return 1560; + if (Up && West && !East && South && Age == 11 && !North) return 1816; + if (Up && !West && !East && South && Age == 3 && !North) return 1561; + if (Up && !West && !East && South && Age == 11 && !North) return 1817; + if (!Up && West && !East && South && Age == 3 && !North) return 1562; + if (!Up && West && !East && South && Age == 11 && !North) return 1818; + if (!Up && !West && !East && South && Age == 3 && !North) return 1563; + if (!Up && !West && !East && South && Age == 11 && !North) return 1819; + if (Up && West && !East && !South && Age == 3 && !North) return 1564; + if (Up && West && !East && !South && Age == 11 && !North) return 1820; + if (Up && !West && !East && !South && Age == 3 && !North) return 1565; + if (Up && !West && !East && !South && Age == 11 && !North) return 1821; + if (!Up && West && !East && !South && Age == 3 && !North) return 1566; + if (!Up && West && !East && !South && Age == 11 && !North) return 1822; + if (!Up && !West && !East && !South && Age == 3 && !North) return 1567; + if (!Up && !West && !East && !South && Age == 11 && !North) return 1823; + if (Up && West && East && South && Age == 4 && North) return 1568; + if (Up && West && East && South && Age == 12 && North) return 1824; + if (Up && !West && East && South && Age == 4 && North) return 1569; + if (Up && !West && East && South && Age == 12 && North) return 1825; + if (!Up && West && East && South && Age == 4 && North) return 1570; + if (!Up && West && East && South && Age == 12 && North) return 1826; + if (!Up && !West && East && South && Age == 4 && North) return 1571; + if (!Up && !West && East && South && Age == 12 && North) return 1827; + if (Up && West && East && !South && Age == 4 && North) return 1572; + if (Up && West && East && !South && Age == 12 && North) return 1828; + if (Up && !West && East && !South && Age == 4 && North) return 1573; + if (Up && !West && East && !South && Age == 12 && North) return 1829; + if (!Up && West && East && !South && Age == 4 && North) return 1574; + if (!Up && West && East && !South && Age == 12 && North) return 1830; + if (!Up && !West && East && !South && Age == 4 && North) return 1575; + if (!Up && !West && East && !South && Age == 12 && North) return 1831; + if (Up && West && East && South && Age == 4 && !North) return 1576; + if (Up && West && East && South && Age == 12 && !North) return 1832; + if (Up && !West && East && South && Age == 4 && !North) return 1577; + if (Up && !West && East && South && Age == 12 && !North) return 1833; + if (!Up && West && East && South && Age == 4 && !North) return 1578; + if (!Up && West && East && South && Age == 12 && !North) return 1834; + if (!Up && !West && East && South && Age == 4 && !North) return 1579; + if (!Up && !West && East && South && Age == 12 && !North) return 1835; + if (Up && West && East && !South && Age == 4 && !North) return 1580; + if (Up && West && East && !South && Age == 12 && !North) return 1836; + if (Up && !West && East && !South && Age == 4 && !North) return 1581; + if (Up && !West && East && !South && Age == 12 && !North) return 1837; + if (!Up && West && East && !South && Age == 4 && !North) return 1582; + if (!Up && West && East && !South && Age == 12 && !North) return 1838; + if (!Up && !West && East && !South && Age == 4 && !North) return 1583; + if (!Up && !West && East && !South && Age == 12 && !North) return 1839; + if (Up && West && !East && South && Age == 4 && North) return 1584; + if (Up && West && !East && South && Age == 12 && North) return 1840; + if (Up && !West && !East && South && Age == 4 && North) return 1585; + if (Up && !West && !East && South && Age == 12 && North) return 1841; + if (!Up && West && !East && South && Age == 4 && North) return 1586; + if (!Up && West && !East && South && Age == 12 && North) return 1842; + if (!Up && !West && !East && South && Age == 4 && North) return 1587; + if (!Up && !West && !East && South && Age == 12 && North) return 1843; + if (Up && West && !East && !South && Age == 4 && North) return 1588; + if (Up && West && !East && !South && Age == 12 && North) return 1844; + if (Up && !West && !East && !South && Age == 4 && North) return 1589; + if (Up && !West && !East && !South && Age == 12 && North) return 1845; + if (!Up && West && !East && !South && Age == 4 && North) return 1590; + if (!Up && West && !East && !South && Age == 12 && North) return 1846; + if (!Up && !West && !East && !South && Age == 4 && North) return 1591; + if (!Up && !West && !East && !South && Age == 12 && North) return 1847; + if (Up && West && !East && South && Age == 4 && !North) return 1592; + if (Up && West && !East && South && Age == 12 && !North) return 1848; + if (Up && !West && !East && South && Age == 4 && !North) return 1593; + if (Up && !West && !East && South && Age == 12 && !North) return 1849; + if (!Up && West && !East && South && Age == 4 && !North) return 1594; + if (!Up && West && !East && South && Age == 12 && !North) return 1850; + if (!Up && !West && !East && South && Age == 4 && !North) return 1595; + if (!Up && !West && !East && South && Age == 12 && !North) return 1851; + if (Up && West && !East && !South && Age == 4 && !North) return 1596; + if (Up && West && !East && !South && Age == 12 && !North) return 1852; + if (Up && !West && !East && !South && Age == 4 && !North) return 1597; + if (Up && !West && !East && !South && Age == 12 && !North) return 1853; + if (!Up && West && !East && !South && Age == 4 && !North) return 1598; + if (!Up && West && !East && !South && Age == 12 && !North) return 1854; + if (!Up && !West && !East && !South && Age == 4 && !North) return 1599; + if (!Up && !West && !East && !South && Age == 12 && !North) return 1855; + if (Up && West && East && South && Age == 5 && North) return 1600; + if (Up && West && East && South && Age == 13 && North) return 1856; + if (Up && !West && East && South && Age == 5 && North) return 1601; + if (Up && !West && East && South && Age == 13 && North) return 1857; + if (!Up && West && East && South && Age == 5 && North) return 1602; + if (!Up && West && East && South && Age == 13 && North) return 1858; + if (!Up && !West && East && South && Age == 5 && North) return 1603; + if (!Up && !West && East && South && Age == 13 && North) return 1859; + if (Up && West && East && !South && Age == 5 && North) return 1604; + if (Up && West && East && !South && Age == 13 && North) return 1860; + if (Up && !West && East && !South && Age == 5 && North) return 1605; + if (Up && !West && East && !South && Age == 13 && North) return 1861; + if (!Up && West && East && !South && Age == 5 && North) return 1606; + if (!Up && West && East && !South && Age == 13 && North) return 1862; + if (!Up && !West && East && !South && Age == 5 && North) return 1607; + if (!Up && !West && East && !South && Age == 13 && North) return 1863; + if (Up && West && East && South && Age == 5 && !North) return 1608; + if (Up && West && East && South && Age == 13 && !North) return 1864; + if (Up && !West && East && South && Age == 5 && !North) return 1609; + if (Up && !West && East && South && Age == 13 && !North) return 1865; + if (!Up && West && East && South && Age == 5 && !North) return 1610; + if (!Up && West && East && South && Age == 13 && !North) return 1866; + if (!Up && !West && East && South && Age == 5 && !North) return 1611; + if (!Up && !West && East && South && Age == 13 && !North) return 1867; + if (Up && West && East && !South && Age == 5 && !North) return 1612; + if (Up && West && East && !South && Age == 13 && !North) return 1868; + if (Up && !West && East && !South && Age == 5 && !North) return 1613; + if (Up && !West && East && !South && Age == 13 && !North) return 1869; + if (!Up && West && East && !South && Age == 5 && !North) return 1614; + if (!Up && West && East && !South && Age == 13 && !North) return 1870; + if (!Up && !West && East && !South && Age == 5 && !North) return 1615; + if (!Up && !West && East && !South && Age == 13 && !North) return 1871; + if (Up && West && !East && South && Age == 5 && North) return 1616; + if (Up && West && !East && South && Age == 13 && North) return 1872; + if (Up && !West && !East && South && Age == 5 && North) return 1617; + if (Up && !West && !East && South && Age == 13 && North) return 1873; + if (!Up && West && !East && South && Age == 5 && North) return 1618; + if (!Up && West && !East && South && Age == 13 && North) return 1874; + if (!Up && !West && !East && South && Age == 5 && North) return 1619; + if (!Up && !West && !East && South && Age == 13 && North) return 1875; + if (Up && West && !East && !South && Age == 5 && North) return 1620; + if (Up && West && !East && !South && Age == 13 && North) return 1876; + if (Up && !West && !East && !South && Age == 5 && North) return 1621; + if (Up && !West && !East && !South && Age == 13 && North) return 1877; + if (!Up && West && !East && !South && Age == 5 && North) return 1622; + if (!Up && West && !East && !South && Age == 13 && North) return 1878; + if (!Up && !West && !East && !South && Age == 5 && North) return 1623; + if (!Up && !West && !East && !South && Age == 13 && North) return 1879; + if (Up && West && !East && South && Age == 5 && !North) return 1624; + if (Up && West && !East && South && Age == 13 && !North) return 1880; + if (Up && !West && !East && South && Age == 5 && !North) return 1625; + if (Up && !West && !East && South && Age == 13 && !North) return 1881; + if (!Up && West && !East && South && Age == 5 && !North) return 1626; + if (!Up && West && !East && South && Age == 13 && !North) return 1882; + if (!Up && !West && !East && South && Age == 5 && !North) return 1627; + if (!Up && !West && !East && South && Age == 13 && !North) return 1883; + if (Up && West && !East && !South && Age == 5 && !North) return 1628; + if (Up && West && !East && !South && Age == 13 && !North) return 1884; + if (Up && !West && !East && !South && Age == 5 && !North) return 1629; + if (Up && !West && !East && !South && Age == 13 && !North) return 1885; + if (!Up && West && !East && !South && Age == 5 && !North) return 1630; + if (!Up && West && !East && !South && Age == 13 && !North) return 1886; + if (!Up && !West && !East && !South && Age == 5 && !North) return 1631; + if (!Up && !West && !East && !South && Age == 13 && !North) return 1887; + if (Up && West && East && South && Age == 6 && North) return 1632; + if (Up && West && East && South && Age == 14 && North) return 1888; + if (Up && !West && East && South && Age == 6 && North) return 1633; + if (Up && !West && East && South && Age == 14 && North) return 1889; + if (!Up && West && East && South && Age == 6 && North) return 1634; + if (!Up && West && East && South && Age == 14 && North) return 1890; + if (!Up && !West && East && South && Age == 6 && North) return 1635; + if (!Up && !West && East && South && Age == 14 && North) return 1891; + if (Up && West && East && !South && Age == 6 && North) return 1636; + if (Up && West && East && !South && Age == 14 && North) return 1892; + if (Up && !West && East && !South && Age == 6 && North) return 1637; + if (Up && !West && East && !South && Age == 14 && North) return 1893; + if (!Up && West && East && !South && Age == 6 && North) return 1638; + if (!Up && West && East && !South && Age == 14 && North) return 1894; + if (!Up && !West && East && !South && Age == 6 && North) return 1639; + if (!Up && !West && East && !South && Age == 14 && North) return 1895; + if (Up && West && East && South && Age == 6 && !North) return 1640; + if (Up && West && East && South && Age == 14 && !North) return 1896; + if (Up && !West && East && South && Age == 6 && !North) return 1641; + if (Up && !West && East && South && Age == 14 && !North) return 1897; + if (!Up && West && East && South && Age == 6 && !North) return 1642; + if (!Up && West && East && South && Age == 14 && !North) return 1898; + if (!Up && !West && East && South && Age == 6 && !North) return 1643; + if (!Up && !West && East && South && Age == 14 && !North) return 1899; + if (Up && West && East && !South && Age == 6 && !North) return 1644; + if (Up && West && East && !South && Age == 14 && !North) return 1900; + if (Up && !West && East && !South && Age == 6 && !North) return 1645; + if (Up && !West && East && !South && Age == 14 && !North) return 1901; + if (!Up && West && East && !South && Age == 6 && !North) return 1646; + if (!Up && West && East && !South && Age == 14 && !North) return 1902; + if (!Up && !West && East && !South && Age == 6 && !North) return 1647; + if (!Up && !West && East && !South && Age == 14 && !North) return 1903; + if (Up && West && !East && South && Age == 6 && North) return 1648; + if (Up && West && !East && South && Age == 14 && North) return 1904; + if (Up && !West && !East && South && Age == 6 && North) return 1649; + if (Up && !West && !East && South && Age == 14 && North) return 1905; + if (!Up && West && !East && South && Age == 6 && North) return 1650; + if (!Up && West && !East && South && Age == 14 && North) return 1906; + if (!Up && !West && !East && South && Age == 6 && North) return 1651; + if (!Up && !West && !East && South && Age == 14 && North) return 1907; + if (Up && West && !East && !South && Age == 6 && North) return 1652; + if (Up && West && !East && !South && Age == 14 && North) return 1908; + if (Up && !West && !East && !South && Age == 6 && North) return 1653; + if (Up && !West && !East && !South && Age == 14 && North) return 1909; + if (!Up && West && !East && !South && Age == 6 && North) return 1654; + if (!Up && West && !East && !South && Age == 14 && North) return 1910; + if (!Up && !West && !East && !South && Age == 6 && North) return 1655; + if (!Up && !West && !East && !South && Age == 14 && North) return 1911; + if (Up && West && !East && South && Age == 6 && !North) return 1656; + if (Up && West && !East && South && Age == 14 && !North) return 1912; + if (Up && !West && !East && South && Age == 6 && !North) return 1657; + if (Up && !West && !East && South && Age == 14 && !North) return 1913; + if (!Up && West && !East && South && Age == 6 && !North) return 1658; + if (!Up && West && !East && South && Age == 14 && !North) return 1914; + if (!Up && !West && !East && South && Age == 6 && !North) return 1659; + if (!Up && !West && !East && South && Age == 14 && !North) return 1915; + if (Up && West && !East && !South && Age == 6 && !North) return 1660; + if (Up && West && !East && !South && Age == 14 && !North) return 1916; + if (Up && !West && !East && !South && Age == 6 && !North) return 1661; + if (Up && !West && !East && !South && Age == 14 && !North) return 1917; + if (!Up && West && !East && !South && Age == 6 && !North) return 1662; + if (!Up && West && !East && !South && Age == 14 && !North) return 1918; + if (!Up && !West && !East && !South && Age == 6 && !North) return 1663; + if (!Up && !West && !East && !South && Age == 14 && !North) return 1919; + if (Up && West && East && South && Age == 7 && North) return 1664; + if (Up && West && East && South && Age == 15 && North) return 1920; + if (Up && !West && East && South && Age == 7 && North) return 1665; + if (Up && !West && East && South && Age == 15 && North) return 1921; + if (!Up && West && East && South && Age == 7 && North) return 1666; + if (!Up && West && East && South && Age == 15 && North) return 1922; + if (!Up && !West && East && South && Age == 7 && North) return 1667; + if (!Up && !West && East && South && Age == 15 && North) return 1923; + if (Up && West && East && !South && Age == 7 && North) return 1668; + if (Up && West && East && !South && Age == 15 && North) return 1924; + if (Up && !West && East && !South && Age == 7 && North) return 1669; + if (Up && !West && East && !South && Age == 15 && North) return 1925; + if (!Up && West && East && !South && Age == 7 && North) return 1670; + if (!Up && West && East && !South && Age == 15 && North) return 1926; + if (!Up && !West && East && !South && Age == 7 && North) return 1671; + if (!Up && !West && East && !South && Age == 15 && North) return 1927; + if (Up && West && East && South && Age == 7 && !North) return 1672; + if (Up && West && East && South && Age == 15 && !North) return 1928; + if (Up && !West && East && South && Age == 7 && !North) return 1673; + if (Up && !West && East && South && Age == 15 && !North) return 1929; + if (!Up && West && East && South && Age == 7 && !North) return 1674; + if (!Up && West && East && South && Age == 15 && !North) return 1930; + if (!Up && !West && East && South && Age == 7 && !North) return 1675; + if (!Up && !West && East && South && Age == 15 && !North) return 1931; + if (Up && West && East && !South && Age == 7 && !North) return 1676; + if (Up && West && East && !South && Age == 15 && !North) return 1932; + if (Up && !West && East && !South && Age == 7 && !North) return 1677; + if (Up && !West && East && !South && Age == 15 && !North) return 1933; + if (!Up && West && East && !South && Age == 7 && !North) return 1678; + if (!Up && West && East && !South && Age == 15 && !North) return 1934; + if (!Up && !West && East && !South && Age == 7 && !North) return 1679; + if (!Up && !West && East && !South && Age == 15 && !North) return 1935; + if (Up && West && !East && South && Age == 7 && North) return 1680; + if (Up && West && !East && South && Age == 15 && North) return 1936; + if (Up && !West && !East && South && Age == 7 && North) return 1681; + if (Up && !West && !East && South && Age == 15 && North) return 1937; + if (!Up && West && !East && South && Age == 7 && North) return 1682; + if (!Up && West && !East && South && Age == 15 && North) return 1938; + if (!Up && !West && !East && South && Age == 7 && North) return 1683; + if (!Up && !West && !East && South && Age == 15 && North) return 1939; + if (Up && West && !East && !South && Age == 7 && North) return 1684; + if (Up && West && !East && !South && Age == 15 && North) return 1940; + if (Up && !West && !East && !South && Age == 7 && North) return 1685; + if (Up && !West && !East && !South && Age == 15 && North) return 1941; + if (!Up && West && !East && !South && Age == 7 && North) return 1686; + if (!Up && West && !East && !South && Age == 15 && North) return 1942; + if (!Up && !West && !East && !South && Age == 7 && North) return 1687; + if (!Up && !West && !East && !South && Age == 15 && North) return 1943; + if (Up && West && !East && South && Age == 7 && !North) return 1688; + if (Up && West && !East && South && Age == 15 && !North) return 1944; + if (Up && !West && !East && South && Age == 7 && !North) return 1689; + if (Up && !West && !East && South && Age == 15 && !North) return 1945; + if (!Up && West && !East && South && Age == 7 && !North) return 1690; + if (!Up && West && !East && South && Age == 15 && !North) return 1946; + if (!Up && !West && !East && South && Age == 7 && !North) return 1691; + if (!Up && !West && !East && South && Age == 15 && !North) return 1947; + if (Up && West && !East && !South && Age == 7 && !North) return 1692; + if (Up && West && !East && !South && Age == 15 && !North) return 1948; + if (Up && !West && !East && !South && Age == 7 && !North) return 1693; + if (Up && !West && !East && !South && Age == 15 && !North) return 1949; + if (!Up && West && !East && !South && Age == 7 && !North) return 1694; + if (!Up && West && !East && !South && Age == 15 && !North) return 1950; + if (!Up && !West && !East && !South && Age == 7 && !North) return 1695; + if (Up && West && East && South && Age == 0 && North) return 1440; + if (Up && West && East && South && Age == 8 && North) return 1696; + if (Up && !West && East && South && Age == 0 && North) return 1441; + if (Up && !West && East && South && Age == 8 && North) return 1697; + if (!Up && West && East && South && Age == 0 && North) return 1442; + if (!Up && West && East && South && Age == 8 && North) return 1698; + if (!Up && !West && East && South && Age == 0 && North) return 1443; + if (!Up && !West && East && South && Age == 8 && North) return 1699; + if (Up && West && East && !South && Age == 0 && North) return 1444; + if (Up && West && East && !South && Age == 8 && North) return 1700; + if (Up && !West && East && !South && Age == 0 && North) return 1445; + if (Up && !West && East && !South && Age == 8 && North) return 1701; + if (!Up && West && East && !South && Age == 0 && North) return 1446; + if (!Up && West && East && !South && Age == 8 && North) return 1702; + if (!Up && !West && East && !South && Age == 0 && North) return 1447; + if (!Up && !West && East && !South && Age == 8 && North) return 1703; + if (Up && West && East && South && Age == 0 && !North) return 1448; + if (Up && West && East && South && Age == 8 && !North) return 1704; + if (Up && !West && East && South && Age == 0 && !North) return 1449; + if (Up && !West && East && South && Age == 8 && !North) return 1705; + if (!Up && West && East && South && Age == 0 && !North) return 1450; + if (!Up && West && East && South && Age == 8 && !North) return 1706; + if (!Up && !West && East && South && Age == 0 && !North) return 1451; + if (!Up && !West && East && South && Age == 8 && !North) return 1707; + if (Up && West && East && !South && Age == 0 && !North) return 1452; + if (Up && West && East && !South && Age == 8 && !North) return 1708; + if (Up && !West && East && !South && Age == 0 && !North) return 1453; + if (Up && !West && East && !South && Age == 8 && !North) return 1709; + if (!Up && West && East && !South && Age == 0 && !North) return 1454; + if (!Up && West && East && !South && Age == 8 && !North) return 1710; + if (!Up && !West && East && !South && Age == 0 && !North) return 1455; + if (!Up && !West && East && !South && Age == 8 && !North) return 1711; + if (Up && West && !East && South && Age == 0 && North) return 1456; + if (Up && West && !East && South && Age == 8 && North) return 1712; + if (Up && !West && !East && South && Age == 0 && North) return 1457; + if (Up && !West && !East && South && Age == 8 && North) return 1713; + if (!Up && West && !East && South && Age == 0 && North) return 1458; + if (!Up && West && !East && South && Age == 8 && North) return 1714; + if (!Up && !West && !East && South && Age == 0 && North) return 1459; + if (!Up && !West && !East && South && Age == 8 && North) return 1715; + if (Up && West && !East && !South && Age == 0 && North) return 1460; + if (Up && West && !East && !South && Age == 8 && North) return 1716; + if (Up && !West && !East && !South && Age == 0 && North) return 1461; + if (Up && !West && !East && !South && Age == 8 && North) return 1717; + if (!Up && West && !East && !South && Age == 0 && North) return 1462; + if (!Up && West && !East && !South && Age == 8 && North) return 1718; + if (!Up && !West && !East && !South && Age == 0 && North) return 1463; + if (!Up && !West && !East && !South && Age == 8 && North) return 1719; + if (Up && West && !East && South && Age == 0 && !North) return 1464; + if (Up && West && !East && South && Age == 8 && !North) return 1720; + if (Up && !West && !East && South && Age == 0 && !North) return 1465; + if (Up && !West && !East && South && Age == 8 && !North) return 1721; + if (!Up && West && !East && South && Age == 0 && !North) return 1466; + if (!Up && West && !East && South && Age == 8 && !North) return 1722; + if (!Up && !West && !East && South && Age == 0 && !North) return 1467; + if (!Up && !West && !East && South && Age == 8 && !North) return 1723; + if (Up && West && !East && !South && Age == 0 && !North) return 1468; + if (Up && West && !East && !South && Age == 8 && !North) return 1724; + if (Up && !West && !East && !South && Age == 0 && !North) return 1469; + if (Up && !West && !East && !South && Age == 8 && !North) return 1725; + if (!Up && West && !East && !South && Age == 0 && !North) return 1470; + if (!Up && West && !East && !South && Age == 8 && !North) return 1726; + if (!Up && !West && !East && !South && Age == 0 && !North) return 1471; + if (!Up && !West && !East && !South && Age == 8 && !North) return 1727; + if (Up && West && East && South && Age == 1 && North) return 1472; + if (Up && West && East && South && Age == 9 && North) return 1728; + if (Up && !West && East && South && Age == 1 && North) return 1473; + if (Up && !West && East && South && Age == 9 && North) return 1729; + if (!Up && West && East && South && Age == 1 && North) return 1474; + if (!Up && West && East && South && Age == 9 && North) return 1730; + if (!Up && !West && East && South && Age == 1 && North) return 1475; + if (!Up && !West && East && South && Age == 9 && North) return 1731; + if (Up && West && East && !South && Age == 1 && North) return 1476; + if (Up && West && East && !South && Age == 9 && North) return 1732; + if (Up && !West && East && !South && Age == 1 && North) return 1477; + if (Up && !West && East && !South && Age == 9 && North) return 1733; + if (!Up && West && East && !South && Age == 1 && North) return 1478; + if (!Up && West && East && !South && Age == 9 && North) return 1734; + if (!Up && !West && East && !South && Age == 1 && North) return 1479; + if (!Up && !West && East && !South && Age == 9 && North) return 1735; + if (Up && West && East && South && Age == 1 && !North) return 1480; + if (Up && West && East && South && Age == 9 && !North) return 1736; + if (Up && !West && East && South && Age == 1 && !North) return 1481; + if (Up && !West && East && South && Age == 9 && !North) return 1737; + if (!Up && West && East && South && Age == 1 && !North) return 1482; + if (!Up && West && East && South && Age == 9 && !North) return 1738; + if (!Up && !West && East && South && Age == 1 && !North) return 1483; + if (!Up && !West && East && South && Age == 9 && !North) return 1739; + if (Up && West && East && !South && Age == 1 && !North) return 1484; + if (Up && West && East && !South && Age == 9 && !North) return 1740; + if (Up && !West && East && !South && Age == 1 && !North) return 1485; + if (Up && !West && East && !South && Age == 9 && !North) return 1741; + if (!Up && West && East && !South && Age == 1 && !North) return 1486; + if (!Up && West && East && !South && Age == 9 && !North) return 1742; + if (!Up && !West && East && !South && Age == 1 && !North) return 1487; + if (!Up && !West && East && !South && Age == 9 && !North) return 1743; + if (Up && West && !East && South && Age == 1 && North) return 1488; + if (Up && West && !East && South && Age == 9 && North) return 1744; + if (Up && !West && !East && South && Age == 1 && North) return 1489; + if (Up && !West && !East && South && Age == 9 && North) return 1745; + if (!Up && West && !East && South && Age == 1 && North) return 1490; + if (!Up && West && !East && South && Age == 9 && North) return 1746; + if (!Up && !West && !East && South && Age == 1 && North) return 1491; + if (!Up && !West && !East && South && Age == 9 && North) return 1747; + if (Up && West && !East && !South && Age == 1 && North) return 1492; + if (Up && West && !East && !South && Age == 9 && North) return 1748; + if (Up && !West && !East && !South && Age == 1 && North) return 1493; + if (Up && !West && !East && !South && Age == 9 && North) return 1749; + if (!Up && West && !East && !South && Age == 1 && North) return 1494; + if (!Up && West && !East && !South && Age == 9 && North) return 1750; + if (!Up && !West && !East && !South && Age == 1 && North) return 1495; + if (!Up && !West && !East && !South && Age == 9 && North) return 1751; + if (Up && West && !East && South && Age == 1 && !North) return 1496; + if (Up && West && !East && South && Age == 9 && !North) return 1752; + if (Up && !West && !East && South && Age == 1 && !North) return 1497; + if (Up && !West && !East && South && Age == 9 && !North) return 1753; + if (!Up && West && !East && South && Age == 1 && !North) return 1498; + if (!Up && West && !East && South && Age == 9 && !North) return 1754; + if (!Up && !West && !East && South && Age == 1 && !North) return 1499; + if (!Up && !West && !East && South && Age == 9 && !North) return 1755; + if (Up && West && !East && !South && Age == 1 && !North) return 1500; + if (Up && West && !East && !South && Age == 9 && !North) return 1756; + if (Up && !West && !East && !South && Age == 1 && !North) return 1501; + if (Up && !West && !East && !South && Age == 9 && !North) return 1757; + if (!Up && West && !East && !South && Age == 1 && !North) return 1502; + if (!Up && West && !East && !South && Age == 9 && !North) return 1758; + if (!Up && !West && !East && !South && Age == 1 && !North) return 1503; + if (!Up && !West && !East && !South && Age == 9 && !North) return 1759; + if (Up && West && East && South && Age == 2 && North) return 1504; + if (Up && West && East && South && Age == 10 && North) return 1760; + if (Up && !West && East && South && Age == 2 && North) return 1505; + if (Up && !West && East && South && Age == 10 && North) return 1761; + if (!Up && West && East && South && Age == 2 && North) return 1506; + if (!Up && West && East && South && Age == 10 && North) return 1762; + if (!Up && !West && East && South && Age == 2 && North) return 1507; + if (!Up && !West && East && South && Age == 10 && North) return 1763; + if (Up && West && East && !South && Age == 2 && North) return 1508; + if (Up && West && East && !South && Age == 10 && North) return 1764; + if (Up && !West && East && !South && Age == 2 && North) return 1509; + if (Up && !West && East && !South && Age == 10 && North) return 1765; + if (!Up && West && East && !South && Age == 2 && North) return 1510; + if (!Up && West && East && !South && Age == 10 && North) return 1766; + if (!Up && !West && East && !South && Age == 2 && North) return 1511; + if (!Up && !West && East && !South && Age == 10 && North) return 1767; + if (Up && West && East && South && Age == 2 && !North) return 1512; + if (Up && West && East && South && Age == 10 && !North) return 1768; + return 1951; + } + short Fire(); + unsigned char Age(short ID); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Up(short ID); + bool West(short ID); + } + namespace FireCoral + { + constexpr short FireCoral() + { + if (false) return 9536; + return 9537; + } + bool Waterlogged(short ID); + } + namespace FireCoralBlock + { + constexpr short FireCoralBlock() + { + return 9518; + } + } + namespace FireCoralFan + { + constexpr short FireCoralFan() + { + if (false) return 9556; + return 9557; + } + bool Waterlogged(short ID); + } + namespace FireCoralWallFan + { + constexpr short FireCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9627; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9624; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9628; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9625; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9629; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9626; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9630; + return 9631; + } + short FireCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace FletchingTable + { + constexpr short FletchingTable() + { + return 14820; + } + } + namespace FlowerPot + { + constexpr short FlowerPot() + { + return 6305; + } + } + namespace FrostedIce + { + constexpr short FrostedIce(unsigned char Age) + { + if (Age == 0) return 9249; + if (Age == 2) return 9251; + if (Age == 1) return 9250; + return 9252; + } + short FrostedIce(); + unsigned char Age(short ID); + } + namespace Furnace + { + constexpr short Furnace(eBlockFace Facing, bool Lit) + { + if (Facing == eBlockFace::BLOCK_FACE_XP && Lit) return 3379; + if (Facing == eBlockFace::BLOCK_FACE_ZM && Lit) return 3373; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit) return 3374; + if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit) return 3375; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit) return 3376; + if (Facing == eBlockFace::BLOCK_FACE_XM && Lit) return 3377; + if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit) return 3378; + return 3380; + } + short Furnace(); + eBlockFace Facing(short ID); + bool Lit(short ID); + } + namespace GildedBlackstone + { + constexpr short GildedBlackstone() + { + return 16664; + } + } + namespace Glass + { + constexpr short Glass() + { + return 231; + } + } + namespace GlassPane + { + constexpr short GlassPane(bool East, bool North, bool South, bool West) + { + if (!false && !South && West && !East && !North) return 4761; + if (!false && South && !West && East && North) return 4734; + if (!false && !South && !West && East && North) return 4738; + if (!false && South && !West && East && !North) return 4742; + if (!false && !South && !West && East && !North) return 4746; + if (!false && South && !West && !East && North) return 4750; + if (!false && !South && !West && !East && North) return 4754; + if (!false && South && !West && !East && !North) return 4758; + if (false && South && West && East && North) return 4731; + if (false && !South && West && East && North) return 4735; + if (false && South && West && East && !North) return 4739; + if (false && !South && West && East && !North) return 4743; + if (false && South && West && !East && North) return 4747; + if (false && !South && West && !East && North) return 4751; + if (false && South && West && !East && !North) return 4755; + if (false && !South && West && !East && !North) return 4759; + if (false && South && !West && East && North) return 4732; + if (false && !South && !West && East && North) return 4736; + if (false && South && !West && East && !North) return 4740; + if (false && !South && !West && East && !North) return 4744; + if (false && South && !West && !East && North) return 4748; + if (false && !South && !West && !East && North) return 4752; + if (false && South && !West && !East && !North) return 4756; + if (false && !South && !West && !East && !North) return 4760; + if (!false && South && West && East && North) return 4733; + if (!false && !South && West && East && North) return 4737; + if (!false && South && West && East && !North) return 4741; + if (!false && !South && West && East && !North) return 4745; + if (!false && South && West && !East && North) return 4749; + if (!false && !South && West && !East && North) return 4753; + if (!false && South && West && !East && !North) return 4757; + return 4762; + } + short GlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace Glowstone + { + constexpr short Glowstone() + { + return 4013; + } + } + namespace GoldBlock + { + constexpr short GoldBlock() + { + return 1427; + } + } + namespace GoldOre + { + constexpr short GoldOre() + { + return 69; + } + } + namespace Granite + { + constexpr short Granite() + { + return 2; + } + } + namespace GraniteSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short GraniteSlab(enum Type Type) + { + if (Type == Type::Top && !false) return 10838; + if (Type == Type::Double && !false) return 10842; + if (Type == Type::Bottom && false) return 10839; + if (Type == Type::Bottom && !false) return 10840; + if (Type == Type::Top && false) return 10837; + return 10841; + } + short GraniteSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace GraniteStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short GraniteStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10468; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10389; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10390; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10391; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10392; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10393; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10394; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10395; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10396; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10397; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10398; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10399; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10400; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10401; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10402; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10403; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10404; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10405; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10406; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10407; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10408; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10409; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10410; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10411; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10412; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10413; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10414; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10415; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10416; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10417; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10418; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10419; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10420; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10421; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10422; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10423; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10424; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10425; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10426; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10427; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10428; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10429; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10430; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10431; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10432; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10433; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10434; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10435; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10436; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10437; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10438; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10439; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10440; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10441; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10442; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10443; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10444; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10445; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10446; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10447; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10448; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10449; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10450; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10451; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10452; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10453; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10454; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10455; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10456; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10457; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10458; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10459; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10460; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10461; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10462; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10463; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10464; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10465; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10466; + return 10467; + } + short GraniteStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace GraniteWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short GraniteWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 12164; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 12168; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 12172; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 12176; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 12180; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 12184; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 12188; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 12192; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 12196; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 12200; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 12204; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 12208; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 12212; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 12216; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 12220; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 12224; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 12228; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 12232; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 12236; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 12240; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 12244; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 12248; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 12252; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 12256; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 12260; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 12264; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 12268; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 12272; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 12276; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 12280; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 12284; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 12288; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 12292; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 12296; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 12300; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 12304; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 12308; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 12312; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 12316; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 12320; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 12324; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 12328; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 12332; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 12336; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 12340; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 12344; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12348; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 12352; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 12356; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12360; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 12364; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 12368; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12372; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 12376; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 12380; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 12384; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 12388; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 12392; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 12396; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 12400; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 12404; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 12408; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 12412; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 12416; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12420; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 12424; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 12428; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12432; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 12436; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 12440; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12444; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 12448; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12452; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12456; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12460; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12464; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12468; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12472; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12476; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12480; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12484; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 12165; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 12169; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 12173; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 12177; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 12181; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 12185; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 12189; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 12193; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 12197; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 12201; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 12205; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 12209; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 12213; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 12217; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 12221; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 12225; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 12229; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 12233; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 12237; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 12241; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 12245; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 12249; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 12253; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 12257; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 12261; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 12265; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 12269; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 12273; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 12277; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 12281; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 12285; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 12289; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 12293; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 12297; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 12301; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 12305; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 12309; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 12313; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 12317; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 12321; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 12325; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 12329; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 12333; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 12337; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 12341; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12345; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 12349; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12353; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12357; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 12361; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12365; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12369; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 12373; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12377; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 12381; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 12385; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 12389; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 12393; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 12397; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 12401; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 12405; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 12409; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 12413; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12417; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 12421; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12425; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12429; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 12433; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12437; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12441; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 12445; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12449; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12453; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12457; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12461; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12465; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12469; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12473; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12477; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12481; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12485; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 12166; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 12170; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 12174; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 12178; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 12182; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 12186; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 12190; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 12194; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 12198; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 12202; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 12206; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 12210; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 12214; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 12218; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 12222; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 12226; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 12230; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 12234; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 12238; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 12242; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12246; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 12250; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 12254; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12258; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 12262; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 12266; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12270; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 12274; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 12278; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 12282; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 12286; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 12290; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 12294; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 12298; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 12302; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 12306; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 12310; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 12314; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12318; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 12322; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 12326; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12330; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 12334; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 12338; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12342; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 12346; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12350; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12354; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 12358; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12362; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12366; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 12370; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12374; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12378; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 12382; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 12386; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12390; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 12394; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 12398; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12402; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 12406; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 12410; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12414; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 12418; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12422; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12426; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 12430; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12434; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12438; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 12442; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12446; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12450; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 12454; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12458; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12462; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 12466; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12470; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12474; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 12478; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12482; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12486; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 12163; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 12167; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 12171; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 12175; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 12179; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 12183; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 12187; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 12191; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 12195; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 12199; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 12203; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 12207; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 12211; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 12215; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 12219; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 12223; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 12227; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 12231; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 12235; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 12239; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12243; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 12247; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 12251; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12255; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 12259; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 12263; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12267; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 12271; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 12275; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 12279; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 12283; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 12287; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 12291; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 12295; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 12299; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 12303; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 12307; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 12311; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12315; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 12319; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 12323; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12327; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 12331; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 12335; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12339; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 12343; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 12347; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12351; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 12355; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 12359; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12363; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 12367; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 12371; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12375; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 12379; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 12383; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12387; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 12391; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 12395; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12399; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 12403; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 12407; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12411; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 12415; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 12419; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12423; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 12427; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 12431; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12435; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 12439; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 12443; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12447; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 12451; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12455; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12459; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 12463; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12467; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12471; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 12475; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12479; + return 12483; + } + short GraniteWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace Grass + { + constexpr short Grass() + { + return 1342; + } + } + namespace GrassBlock + { + constexpr short GrassBlock(bool Snowy) + { + if (Snowy) return 8; + return 9; + } + short GrassBlock(); + bool Snowy(short ID); + } + namespace GrassPath + { + constexpr short GrassPath() + { + return 9223; + } + } + namespace Gravel + { + constexpr short Gravel() + { + return 68; + } + } + namespace GrayBanner + { + constexpr short GrayBanner(unsigned char Rotation) + { + if (Rotation == 2) return 8011; + if (Rotation == 3) return 8012; + if (Rotation == 4) return 8013; + if (Rotation == 5) return 8014; + if (Rotation == 6) return 8015; + if (Rotation == 7) return 8016; + if (Rotation == 8) return 8017; + if (Rotation == 9) return 8018; + if (Rotation == 10) return 8019; + if (Rotation == 11) return 8020; + if (Rotation == 12) return 8021; + if (Rotation == 13) return 8022; + if (Rotation == 14) return 8023; + if (Rotation == 0) return 8009; + if (Rotation == 1) return 8010; + return 8024; + } + short GrayBanner(); + unsigned char Rotation(short ID); + } + namespace GrayBed + { + enum class Part + { + Head, + Foot + }; + constexpr short GrayBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1167; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1171; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1175; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1164; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1168; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1172; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1161; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1165; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1169; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1173; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1162; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1166; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1170; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1174; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1163; + return 1176; + } + short GrayBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace GrayCarpet + { + constexpr short GrayCarpet() + { + return 7873; + } + } + namespace GrayConcrete + { + constexpr short GrayConcrete() + { + return 9445; + } + } + namespace GrayConcretePowder + { + constexpr short GrayConcretePowder() + { + return 9461; + } + } + namespace GrayGlazedTerracotta + { + constexpr short GrayGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9402; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9404; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9403; + return 9405; + } + short GrayGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace GrayShulkerBox + { + constexpr short GrayShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9323; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9320; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9324; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9321; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9325; + return 9322; + } + short GrayShulkerBox(); + eBlockFace Facing(short ID); + } + namespace GrayStainedGlass + { + constexpr short GrayStainedGlass() + { + return 4102; + } + } + namespace GrayStainedGlassPane + { + constexpr short GrayStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (!false && !South && West && !East && !North) return 7117; + if (!false && South && !West && East && North) return 7090; + if (!false && !South && !West && East && North) return 7094; + if (!false && South && !West && East && !North) return 7098; + if (!false && !South && !West && East && !North) return 7102; + if (!false && South && !West && !East && North) return 7106; + if (!false && !South && !West && !East && North) return 7110; + if (!false && South && !West && !East && !North) return 7114; + if (false && South && West && East && North) return 7087; + if (false && !South && West && East && North) return 7091; + if (false && South && West && East && !North) return 7095; + if (false && !South && West && East && !North) return 7099; + if (false && South && West && !East && North) return 7103; + if (false && !South && West && !East && North) return 7107; + if (false && South && West && !East && !North) return 7111; + if (false && !South && West && !East && !North) return 7115; + if (false && South && !West && East && North) return 7088; + if (false && !South && !West && East && North) return 7092; + if (false && South && !West && East && !North) return 7096; + if (false && !South && !West && East && !North) return 7100; + if (false && South && !West && !East && North) return 7104; + if (false && !South && !West && !East && North) return 7108; + if (false && South && !West && !East && !North) return 7112; + if (false && !South && !West && !East && !North) return 7116; + if (!false && South && West && East && North) return 7089; + if (!false && !South && West && East && North) return 7093; + if (!false && South && West && East && !North) return 7097; + if (!false && !South && West && East && !North) return 7101; + if (!false && South && West && !East && North) return 7105; + if (!false && !South && West && !East && North) return 7109; + if (!false && South && West && !East && !North) return 7113; + return 7118; + } + short GrayStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace GrayTerracotta + { + constexpr short GrayTerracotta() + { + return 6854; + } + } + namespace GrayWallBanner + { + constexpr short GrayWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8182; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8183; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8181; + return 8184; + } + short GrayWallBanner(); + eBlockFace Facing(short ID); + } + namespace GrayWool + { + constexpr short GrayWool() + { + return 1391; + } + } + namespace GreenBanner + { + constexpr short GreenBanner(unsigned char Rotation) + { + if (Rotation == 11) return 8116; + if (Rotation == 12) return 8117; + if (Rotation == 13) return 8118; + if (Rotation == 14) return 8119; + if (Rotation == 0) return 8105; + if (Rotation == 1) return 8106; + if (Rotation == 2) return 8107; + if (Rotation == 3) return 8108; + if (Rotation == 4) return 8109; + if (Rotation == 5) return 8110; + if (Rotation == 6) return 8111; + if (Rotation == 7) return 8112; + if (Rotation == 8) return 8113; + if (Rotation == 9) return 8114; + if (Rotation == 10) return 8115; + return 8120; + } + short GreenBanner(); + unsigned char Rotation(short ID); + } + namespace GreenBed + { + enum class Part + { + Head, + Foot + }; + constexpr short GreenBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1257; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1261; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1265; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1269; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1258; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1262; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1266; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1270; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1259; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1263; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1267; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1271; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1260; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1264; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1268; + return 1272; + } + short GreenBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace GreenCarpet + { + constexpr short GreenCarpet() + { + return 7879; + } + } + namespace GreenConcrete + { + constexpr short GreenConcrete() + { + return 9451; + } + } + namespace GreenConcretePowder + { + constexpr short GreenConcretePowder() + { + return 9467; + } + } + namespace GreenGlazedTerracotta + { + constexpr short GreenGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9426; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9428; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9427; + return 9429; + } + short GreenGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace GreenShulkerBox + { + constexpr short GreenShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9361; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9358; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9359; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9356; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9360; + return 9357; + } + short GreenShulkerBox(); + eBlockFace Facing(short ID); + } + namespace GreenStainedGlass + { + constexpr short GreenStainedGlass() + { + return 4108; + } + } + namespace GreenStainedGlassPane + { + constexpr short GreenStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (false && South && West && !East && !North) return 7303; + if (false && !South && West && !East && !North) return 7307; + if (false && South && !West && East && North) return 7280; + if (false && !South && !West && East && North) return 7284; + if (false && South && !West && East && !North) return 7288; + if (false && !South && !West && East && !North) return 7292; + if (false && South && !West && !East && North) return 7296; + if (false && !South && !West && !East && North) return 7300; + if (false && South && !West && !East && !North) return 7304; + if (false && !South && !West && !East && !North) return 7308; + if (!false && South && West && East && North) return 7281; + if (!false && !South && West && East && North) return 7285; + if (!false && South && West && East && !North) return 7289; + if (!false && !South && West && East && !North) return 7293; + if (!false && South && West && !East && North) return 7297; + if (!false && !South && West && !East && North) return 7301; + if (!false && South && West && !East && !North) return 7305; + if (!false && !South && West && !East && !North) return 7309; + if (!false && South && !West && East && North) return 7282; + if (!false && !South && !West && East && North) return 7286; + if (!false && South && !West && East && !North) return 7290; + if (!false && !South && !West && East && !North) return 7294; + if (!false && South && !West && !East && North) return 7298; + if (!false && !South && !West && !East && North) return 7302; + if (!false && South && !West && !East && !North) return 7306; + if (false && South && West && East && North) return 7279; + if (false && !South && West && East && North) return 7283; + if (false && South && West && East && !North) return 7287; + if (false && !South && West && East && !North) return 7291; + if (false && South && West && !East && North) return 7295; + if (false && !South && West && !East && North) return 7299; + return 7310; + } + short GreenStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace GreenTerracotta + { + constexpr short GreenTerracotta() + { + return 6860; + } + } + namespace GreenWallBanner + { + constexpr short GreenWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8205; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8207; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8206; + return 8208; + } + short GreenWallBanner(); + eBlockFace Facing(short ID); + } + namespace GreenWool + { + constexpr short GreenWool() + { + return 1397; + } + } + namespace Grindstone + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short Grindstone(enum Face Face, eBlockFace Facing) + { + if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP) return 14822; + if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP) return 14824; + if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP) return 14826; + if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP) return 14828; + if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP) return 14830; + if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP) return 14832; + if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM) return 14821; + if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM) return 14823; + if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM) return 14825; + if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM) return 14827; + if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM) return 14829; + return 14831; + } + short Grindstone(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + } + namespace HayBale + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short HayBale(enum Axis Axis) + { + if (Axis == Axis::Y) return 7864; + if (Axis == Axis::Z) return 7865; + return 7863; + } + short HayBale(); + enum Axis Axis(short ID); + } + namespace HeavyWeightedPressurePlate + { + constexpr short HeavyWeightedPressurePlate(unsigned char Power) + { + if (Power == 14) return 6676; + if (Power == 0) return 6662; + if (Power == 1) return 6663; + if (Power == 2) return 6664; + if (Power == 3) return 6665; + if (Power == 4) return 6666; + if (Power == 5) return 6667; + if (Power == 6) return 6668; + if (Power == 7) return 6669; + if (Power == 8) return 6670; + if (Power == 9) return 6671; + if (Power == 10) return 6672; + if (Power == 11) return 6673; + if (Power == 12) return 6674; + if (Power == 13) return 6675; + return 6677; + } + short HeavyWeightedPressurePlate(); + unsigned char Power(short ID); + } + namespace HoneyBlock + { + constexpr short HoneyBlock() + { + return 15824; + } + } + namespace HoneycombBlock + { + constexpr short HoneycombBlock() + { + return 15825; + } + } + namespace Hopper + { + constexpr short Hopper(bool Enabled, eBlockFace Facing) + { + if (!Enabled && Facing == eBlockFace::BLOCK_FACE_XM) return 6736; + if (!Enabled && Facing == eBlockFace::BLOCK_FACE_XP) return 6737; + if (Enabled && Facing == eBlockFace::BLOCK_FACE_YM) return 6728; + if (Enabled && Facing == eBlockFace::BLOCK_FACE_ZM) return 6729; + if (Enabled && Facing == eBlockFace::BLOCK_FACE_ZP) return 6730; + if (Enabled && Facing == eBlockFace::BLOCK_FACE_XM) return 6731; + if (Enabled && Facing == eBlockFace::BLOCK_FACE_XP) return 6732; + if (!Enabled && Facing == eBlockFace::BLOCK_FACE_YM) return 6733; + if (!Enabled && Facing == eBlockFace::BLOCK_FACE_ZM) return 6734; + return 6735; + } + short Hopper(); + bool Enabled(short ID); + eBlockFace Facing(short ID); + } + namespace HornCoral + { + constexpr short HornCoral() + { + if (false) return 9538; + return 9539; + } + bool Waterlogged(short ID); + } + namespace HornCoralBlock + { + constexpr short HornCoralBlock() + { + return 9519; + } + } + namespace HornCoralFan + { + constexpr short HornCoralFan() + { + if (false) return 9558; + return 9559; + } + bool Waterlogged(short ID); + } + namespace HornCoralWallFan + { + constexpr short HornCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9634; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9638; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9635; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9632; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9636; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9633; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9637; + return 9639; + } + short HornCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace Ice + { + constexpr short Ice() + { + return 3929; + } + } + namespace InfestedChiseledStoneBricks + { + constexpr short InfestedChiseledStoneBricks() + { + return 4504; + } + } + namespace InfestedCobblestone + { + constexpr short InfestedCobblestone() + { + return 4500; + } + } + namespace InfestedCrackedStoneBricks + { + constexpr short InfestedCrackedStoneBricks() + { + return 4503; + } + } + namespace InfestedMossyStoneBricks + { + constexpr short InfestedMossyStoneBricks() + { + return 4502; + } + } + namespace InfestedStone + { + constexpr short InfestedStone() + { + return 4499; + } + } + namespace InfestedStoneBricks + { + constexpr short InfestedStoneBricks() + { + return 4501; + } + } + namespace IronBars + { + constexpr short IronBars(bool East, bool North, bool South, bool West) + { + if (!false && South && West && East && North) return 4699; + if (!false && !South && West && East && North) return 4703; + if (!false && South && West && East && !North) return 4707; + if (!false && !South && West && East && !North) return 4711; + if (!false && South && West && !East && North) return 4715; + if (!false && !South && West && !East && North) return 4719; + if (!false && South && West && !East && !North) return 4723; + if (!false && !South && West && !East && !North) return 4727; + if (!false && South && !West && East && North) return 4700; + if (!false && !South && !West && East && North) return 4704; + if (!false && South && !West && East && !North) return 4708; + if (!false && !South && !West && East && !North) return 4712; + if (!false && South && !West && !East && North) return 4716; + if (!false && !South && !West && !East && North) return 4720; + if (!false && South && !West && !East && !North) return 4724; + if (false && South && West && East && North) return 4697; + if (false && !South && West && East && North) return 4701; + if (false && South && West && East && !North) return 4705; + if (false && !South && West && East && !North) return 4709; + if (false && South && West && !East && North) return 4713; + if (false && !South && West && !East && North) return 4717; + if (false && South && West && !East && !North) return 4721; + if (false && !South && West && !East && !North) return 4725; + if (false && South && !West && East && North) return 4698; + if (false && !South && !West && East && North) return 4702; + if (false && South && !West && East && !North) return 4706; + if (false && !South && !West && East && !North) return 4710; + if (false && South && !West && !East && North) return 4714; + if (false && !South && !West && !East && North) return 4718; + if (false && South && !West && !East && !North) return 4722; + if (false && !South && !West && !East && !North) return 4726; + return 4728; + } + short IronBars(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace IronBlock + { + constexpr short IronBlock() + { + return 1428; + } + } + namespace IronDoor + { + enum class Half + { + Upper, + Lower + }; + enum class Hinge + { + Left, + Right + }; + constexpr short IronDoor(eBlockFace Facing, enum Half Half, enum Hinge Hinge, bool Open, bool Powered) + { + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 3862; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 3870; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 3815; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 3823; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 3831; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 3839; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 3847; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 3855; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 3863; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 3871; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 3816; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 3824; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 3832; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 3840; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 3848; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 3856; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Right) return 3864; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 3809; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 3817; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 3825; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 3833; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 3841; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 3849; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 3857; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 3865; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 3810; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 3818; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 3826; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 3834; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 3842; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 3850; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 3858; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 3866; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 3811; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 3819; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 3827; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 3835; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 3843; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 3851; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 3859; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 3867; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 3812; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 3820; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 3828; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 3836; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 3844; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 3852; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 3860; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 3868; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 3813; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 3821; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 3829; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 3837; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 3845; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 3853; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 3861; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 3869; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 3814; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 3822; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 3830; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 3838; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 3846; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 3854; + return 3872; + } + short IronDoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Hinge Hinge(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace IronOre + { + constexpr short IronOre() + { + return 70; + } + } + namespace IronTrapdoor + { + enum class Half + { + Top, + Bottom + }; + constexpr short IronTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) + { + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 7597; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 7550; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 7566; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 7582; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 7598; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 7551; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 7567; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 7583; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 7599; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 7552; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 7568; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 7584; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 7537; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 7553; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 7569; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 7585; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 7538; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 7554; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 7570; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 7586; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 7539; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 7555; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 7571; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 7587; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 7540; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 7556; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 7572; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 7588; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 7541; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 7557; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 7573; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 7589; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 7542; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 7558; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 7574; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 7590; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 7543; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 7559; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 7575; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 7591; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 7544; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 7560; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 7576; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 7592; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 7545; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 7561; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 7577; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 7593; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 7546; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 7562; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 7578; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 7594; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 7547; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 7563; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 7579; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 7595; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 7548; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 7564; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 7580; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 7596; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 7549; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 7565; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 7581; + return 7600; + } + short IronTrapdoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + bool Open(short ID); + bool Powered(short ID); + bool Waterlogged(short ID); + } + namespace JackOLantern + { + constexpr short JackOLantern(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4021; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4020; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 4022; + return 4023; + } + short JackOLantern(); + eBlockFace Facing(short ID); + } + namespace Jigsaw + { + enum class Orientation + { + DownEast, + DownNorth, + DownSouth, + DownWest, + UpEast, + UpNorth, + UpSouth, + UpWest, + WestUp, + EastUp, + NorthUp, + SouthUp + }; + constexpr short Jigsaw(enum Orientation Orientation) + { + if (Orientation == Orientation::SouthUp) return 15750; + if (Orientation == Orientation::DownEast) return 15739; + if (Orientation == Orientation::DownSouth) return 15741; + if (Orientation == Orientation::UpEast) return 15743; + if (Orientation == Orientation::UpSouth) return 15745; + if (Orientation == Orientation::WestUp) return 15747; + if (Orientation == Orientation::NorthUp) return 15749; + if (Orientation == Orientation::DownNorth) return 15740; + if (Orientation == Orientation::DownWest) return 15742; + if (Orientation == Orientation::UpNorth) return 15744; + if (Orientation == Orientation::UpWest) return 15746; + return 15748; + } + short Jigsaw(); + enum Orientation Orientation(short ID); + } + namespace Jukebox + { + constexpr short Jukebox(bool HasRecord) + { + if (HasRecord) return 3964; + return 3965; + } + short Jukebox(); + bool HasRecord(short ID); + } + namespace JungleButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short JungleButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6435; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6439; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6420; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6424; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6428; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6432; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6436; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6440; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6421; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6425; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6429; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6433; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6437; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6441; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6418; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6422; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6426; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6430; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6434; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6438; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6419; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6423; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6427; + return 6431; + } + short JungleButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace JungleDoor + { + enum class Half + { + Upper, + Lower + }; + enum class Hinge + { + Left, + Right + }; + constexpr short JungleDoor(eBlockFace Facing, enum Half Half, enum Hinge Hinge, bool Open, bool Powered) + { + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 8892; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 8924; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 8893; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 8925; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 8894; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 8926; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 8895; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 8927; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 8896; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 8928; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 8897; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 8866; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 8898; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 8867; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 8899; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 8868; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 8900; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 8869; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 8901; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 8870; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 8902; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 8871; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 8903; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 8872; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 8904; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 8873; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 8905; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 8874; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 8906; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 8875; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 8907; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 8876; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 8908; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 8877; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 8909; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 8878; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 8910; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 8879; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 8911; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 8880; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 8912; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 8881; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 8913; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 8882; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 8914; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 8883; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 8915; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 8884; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 8916; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 8885; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 8917; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 8886; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 8918; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 8887; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 8919; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 8888; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 8920; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 8889; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Right) return 8921; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 8890; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 8922; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 8891; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 8923; + return 8929; + } + short JungleDoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Hinge Hinge(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace JungleFence + { + constexpr short JungleFence(bool East, bool North, bool South, bool West) + { + if (false && !South && West && East && North) return 8646; + if (false && !South && West && East && !North) return 8654; + if (false && !South && West && !East && North) return 8662; + if (false && !South && West && !East && !North) return 8670; + if (false && !South && !West && East && North) return 8647; + if (false && !South && !West && East && !North) return 8655; + if (false && !South && !West && !East && North) return 8663; + if (false && !South && !West && !East && !North) return 8671; + if (!false && !South && West && East && North) return 8648; + if (!false && !South && West && East && !North) return 8656; + if (!false && !South && West && !East && North) return 8664; + if (!false && !South && West && !East && !North) return 8672; + if (!false && !South && !West && East && North) return 8649; + if (!false && !South && !West && East && !North) return 8657; + if (!false && !South && !West && !East && North) return 8665; + if (false && South && West && East && North) return 8642; + if (false && South && West && East && !North) return 8650; + if (false && South && West && !East && North) return 8658; + if (false && South && West && !East && !North) return 8666; + if (false && South && !West && East && North) return 8643; + if (false && South && !West && East && !North) return 8651; + if (false && South && !West && !East && North) return 8659; + if (false && South && !West && !East && !North) return 8667; + if (!false && South && West && East && North) return 8644; + if (!false && South && West && East && !North) return 8652; + if (!false && South && West && !East && North) return 8660; + if (!false && South && West && !East && !North) return 8668; + if (!false && South && !West && East && North) return 8645; + if (!false && South && !West && East && !North) return 8653; + if (!false && South && !West && !East && North) return 8661; + if (!false && South && !West && !East && !North) return 8669; + return 8673; + } + short JungleFence(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace JungleFenceGate + { + constexpr short JungleFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) + { + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8491; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8499; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8507; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8484; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8492; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8500; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8508; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8485; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8493; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8501; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8509; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8486; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8494; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8502; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8510; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8487; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8495; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8503; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8511; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8488; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8496; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8504; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8512; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8489; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8497; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8505; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8482; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8490; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8498; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8506; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8483; + return 8513; + } + short JungleFenceGate(); + eBlockFace Facing(short ID); + bool InWall(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace JungleLeaves + { + constexpr short JungleLeaves(unsigned char Distance, bool Persistent) + { + if (!Persistent && Distance == 6) return 198; + if (Persistent && Distance == 3) return 191; + if (Persistent && Distance == 7) return 199; + if (!Persistent && Distance == 3) return 192; + if (!Persistent && Distance == 7) return 200; + if (Persistent && Distance == 4) return 193; + if (!Persistent && Distance == 4) return 194; + if (Persistent && Distance == 1) return 187; + if (Persistent && Distance == 5) return 195; + if (!Persistent && Distance == 1) return 188; + if (!Persistent && Distance == 5) return 196; + if (Persistent && Distance == 2) return 189; + if (Persistent && Distance == 6) return 197; + return 190; + } + short JungleLeaves(); + unsigned char Distance(short ID); + bool Persistent(short ID); + } + namespace JungleLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short JungleLog(enum Axis Axis) + { + if (Axis == Axis::X) return 82; + if (Axis == Axis::Y) return 83; + return 84; + } + short JungleLog(); + enum Axis Axis(short ID); + } + namespace JunglePlanks + { + constexpr short JunglePlanks() + { + return 18; + } + } + namespace JunglePressurePlate + { + constexpr short JunglePressurePlate(bool Powered) + { + if (Powered) return 3879; + return 3880; + } + short JunglePressurePlate(); + bool Powered(short ID); + } + namespace JungleSapling + { + constexpr short JungleSapling(unsigned char Stage) + { + if (Stage == 0) return 27; + return 28; + } + short JungleSapling(); + unsigned char Stage(short ID); + } + namespace JungleSign + { + constexpr short JungleSign(unsigned char Rotation) + { + if (Rotation == 2 && !false) return 3514; + if (Rotation == 3 && !false) return 3516; + if (Rotation == 4 && !false) return 3518; + if (Rotation == 5 && !false) return 3520; + if (Rotation == 6 && !false) return 3522; + if (Rotation == 7 && !false) return 3524; + if (Rotation == 8 && !false) return 3526; + if (Rotation == 9 && !false) return 3528; + if (Rotation == 10 && !false) return 3530; + if (Rotation == 11 && !false) return 3532; + if (Rotation == 12 && !false) return 3534; + if (Rotation == 13 && !false) return 3536; + if (Rotation == 14 && !false) return 3538; + if (Rotation == 0 && false) return 3509; + if (Rotation == 1 && false) return 3511; + if (Rotation == 2 && false) return 3513; + if (Rotation == 3 && false) return 3515; + if (Rotation == 4 && false) return 3517; + if (Rotation == 5 && false) return 3519; + if (Rotation == 6 && false) return 3521; + if (Rotation == 7 && false) return 3523; + if (Rotation == 8 && false) return 3525; + if (Rotation == 9 && false) return 3527; + if (Rotation == 10 && false) return 3529; + if (Rotation == 11 && false) return 3531; + if (Rotation == 12 && false) return 3533; + if (Rotation == 13 && false) return 3535; + if (Rotation == 14 && false) return 3537; + if (Rotation == 15 && false) return 3539; + if (Rotation == 0 && !false) return 3510; + if (Rotation == 1 && !false) return 3512; + return 3540; + } + short JungleSign(); + unsigned char Rotation(short ID); + bool Waterlogged(short ID); + } + namespace JungleSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short JungleSlab(enum Type Type) + { + if (Type == Type::Top && false) return 8318; + if (Type == Type::Double && false) return 8322; + if (Type == Type::Top && !false) return 8319; + if (Type == Type::Double && !false) return 8323; + if (Type == Type::Bottom && false) return 8320; + return 8321; + } + short JungleSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace JungleStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short JungleStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5584; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5585; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5586; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5587; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5588; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5589; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5590; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5591; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5592; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5593; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5594; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5595; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5596; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5597; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5598; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5599; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5600; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5601; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5602; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5603; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5604; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5605; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5606; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5607; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5608; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5609; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5610; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5611; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5612; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5613; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5614; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5615; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5616; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5617; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5618; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5619; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5620; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5621; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5622; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5623; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5624; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5625; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5626; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5627; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5564; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5628; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5565; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5629; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5566; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5630; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5567; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5631; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5568; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5632; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5569; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5633; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5570; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5634; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5571; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5635; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5572; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5636; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5573; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5637; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5574; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5638; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5575; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5639; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5576; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5640; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5577; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5641; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5578; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5642; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5579; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5643; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5580; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5581; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5582; + return 5583; + } + short JungleStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace JungleTrapdoor + { + enum class Half + { + Top, + Bottom + }; + constexpr short JungleTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) + { + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4321; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4337; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4353; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4306; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4322; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4338; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4354; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4307; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4323; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4339; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4355; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4308; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4324; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4340; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4356; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4309; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4325; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4341; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4357; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4310; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4326; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4342; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4358; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4311; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4327; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4343; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4359; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4312; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4328; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4344; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4360; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4313; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4329; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4345; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4361; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4314; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4330; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4346; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4362; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4315; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4331; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4347; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4363; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4316; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4332; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4348; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4364; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4317; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4333; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4349; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4365; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4318; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4334; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4350; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4303; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4319; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4335; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4351; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4304; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4320; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4336; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4352; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4305; + return 4366; + } + short JungleTrapdoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + bool Open(short ID); + bool Powered(short ID); + bool Waterlogged(short ID); + } + namespace JungleWallSign + { + constexpr short JungleWallSign(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 3771; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 3772; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 3773; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 3767; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 3768; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 3769; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 3770; + return 3774; + } + short JungleWallSign(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace JungleWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short JungleWood(enum Axis Axis) + { + if (Axis == Axis::X) return 118; + if (Axis == Axis::Y) return 119; + return 120; + } + short JungleWood(); + enum Axis Axis(short ID); + } + namespace Kelp + { + constexpr short Kelp(unsigned char Age) + { + if (Age == 13) return 9483; + if (Age == 21) return 9491; + if (Age == 6) return 9476; + if (Age == 14) return 9484; + if (Age == 22) return 9492; + if (Age == 7) return 9477; + if (Age == 15) return 9485; + if (Age == 23) return 9493; + if (Age == 0) return 9470; + if (Age == 8) return 9478; + if (Age == 16) return 9486; + if (Age == 24) return 9494; + if (Age == 1) return 9471; + if (Age == 9) return 9479; + if (Age == 17) return 9487; + if (Age == 25) return 9495; + if (Age == 2) return 9472; + if (Age == 10) return 9480; + if (Age == 18) return 9488; + if (Age == 3) return 9473; + if (Age == 11) return 9481; + if (Age == 19) return 9489; + if (Age == 4) return 9474; + if (Age == 12) return 9482; + if (Age == 20) return 9490; + return 9475; + } + short Kelp(); + unsigned char Age(short ID); + } + namespace KelpPlant + { + constexpr short KelpPlant() + { + return 9496; + } + } + namespace Ladder + { + constexpr short Ladder(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 3638; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 3639; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 3640; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 3641; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 3642; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 3643; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 3637; + return 3644; + } + short Ladder(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace Lantern + { + constexpr short Lantern(bool Hanging) + { + if (Hanging) return 14886; + return 14887; + } + short Lantern(); + bool Hanging(short ID); + } + namespace LapisBlock + { + constexpr short LapisBlock() + { + return 233; + } + } + namespace LapisOre + { + constexpr short LapisOre() + { + return 232; + } + } + namespace LargeFern + { + enum class Half + { + Upper, + Lower + }; + constexpr short LargeFern(enum Half Half) + { + if (Half == Half::Upper) return 7895; + return 7896; + } + short LargeFern(); + enum Half Half(short ID); + } + namespace Lava + { + constexpr short Lava(unsigned char Level) + { + if (Level == 11) return 61; + if (Level == 13) return 63; + if (Level == 0) return 50; + if (Level == 2) return 52; + if (Level == 4) return 54; + if (Level == 6) return 56; + if (Level == 8) return 58; + if (Level == 10) return 60; + if (Level == 12) return 62; + if (Level == 14) return 64; + if (Level == 1) return 51; + if (Level == 3) return 53; + if (Level == 5) return 55; + if (Level == 7) return 57; + if (Level == 9) return 59; + return 65; + } + short Lava(); + unsigned char Level(short ID); + } + namespace Lectern + { + constexpr short Lectern(eBlockFace Facing, bool HasBook, bool Powered) + { + if (!HasBook && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14835; + if (HasBook && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14837; + if (!HasBook && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14839; + if (HasBook && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14841; + if (!HasBook && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14843; + if (HasBook && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14845; + if (!HasBook && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14847; + if (HasBook && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14834; + if (!HasBook && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14836; + if (HasBook && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14838; + if (!HasBook && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 14840; + if (HasBook && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14842; + if (!HasBook && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 14844; + if (HasBook && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 14846; + if (HasBook && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 14833; + return 14848; + } + short Lectern(); + eBlockFace Facing(short ID); + bool HasBook(short ID); + bool Powered(short ID); + } + namespace Lever + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short Lever(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3793; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3795; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3797; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3799; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3801; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3803; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3805; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3784; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3786; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3788; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3790; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3792; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3794; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3796; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3798; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3800; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3802; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3804; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3806; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3783; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3785; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3787; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3789; + return 3791; + } + short Lever(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace LightBlueBanner + { + constexpr short LightBlueBanner(unsigned char Rotation) + { + if (Rotation == 6) return 7951; + if (Rotation == 7) return 7952; + if (Rotation == 8) return 7953; + if (Rotation == 9) return 7954; + if (Rotation == 10) return 7955; + if (Rotation == 11) return 7956; + if (Rotation == 12) return 7957; + if (Rotation == 13) return 7958; + if (Rotation == 14) return 7959; + if (Rotation == 0) return 7945; + if (Rotation == 1) return 7946; + if (Rotation == 2) return 7947; + if (Rotation == 3) return 7948; + if (Rotation == 4) return 7949; + if (Rotation == 5) return 7950; + return 7960; + } + short LightBlueBanner(); + unsigned char Rotation(short ID); + } + namespace LightBlueBed + { + enum class Part + { + Head, + Foot + }; + constexpr short LightBlueBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1107; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1111; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1100; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1104; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1108; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1097; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1101; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1105; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1109; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1098; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1102; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1106; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1110; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1099; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1103; + return 1112; + } + short LightBlueBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace LightBlueCarpet + { + constexpr short LightBlueCarpet() + { + return 7869; + } + } + namespace LightBlueConcrete + { + constexpr short LightBlueConcrete() + { + return 9441; + } + } + namespace LightBlueConcretePowder + { + constexpr short LightBlueConcretePowder() + { + return 9457; + } + } + namespace LightBlueGlazedTerracotta + { + constexpr short LightBlueGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9387; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9386; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9388; + return 9389; + } + short LightBlueGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace LightBlueShulkerBox + { + constexpr short LightBlueShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9298; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9299; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9296; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9300; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9297; + return 9301; + } + short LightBlueShulkerBox(); + eBlockFace Facing(short ID); + } + namespace LightBlueStainedGlass + { + constexpr short LightBlueStainedGlass() + { + return 4098; + } + } + namespace LightBlueStainedGlassPane + { + constexpr short LightBlueStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (!false && South && !West && East && North) return 6962; + if (!false && !South && !West && East && North) return 6966; + if (!false && South && !West && East && !North) return 6970; + if (!false && !South && !West && East && !North) return 6974; + if (!false && South && !West && !East && North) return 6978; + if (!false && !South && !West && !East && North) return 6982; + if (!false && South && !West && !East && !North) return 6986; + if (false && South && West && East && North) return 6959; + if (false && !South && West && East && North) return 6963; + if (false && South && West && East && !North) return 6967; + if (false && !South && West && East && !North) return 6971; + if (false && South && West && !East && North) return 6975; + if (false && !South && West && !East && North) return 6979; + if (false && South && West && !East && !North) return 6983; + if (false && !South && West && !East && !North) return 6987; + if (false && South && !West && East && North) return 6960; + if (false && !South && !West && East && North) return 6964; + if (false && South && !West && East && !North) return 6968; + if (false && !South && !West && East && !North) return 6972; + if (false && South && !West && !East && North) return 6976; + if (false && !South && !West && !East && North) return 6980; + if (false && South && !West && !East && !North) return 6984; + if (false && !South && !West && !East && !North) return 6988; + if (!false && South && West && East && North) return 6961; + if (!false && !South && West && East && North) return 6965; + if (!false && South && West && East && !North) return 6969; + if (!false && !South && West && East && !North) return 6973; + if (!false && South && West && !East && North) return 6977; + if (!false && !South && West && !East && North) return 6981; + if (!false && South && West && !East && !North) return 6985; + if (!false && !South && West && !East && !North) return 6989; + return 6990; + } + short LightBlueStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace LightBlueTerracotta + { + constexpr short LightBlueTerracotta() + { + return 6850; + } + } + namespace LightBlueWallBanner + { + constexpr short LightBlueWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8167; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8165; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8166; + return 8168; + } + short LightBlueWallBanner(); + eBlockFace Facing(short ID); + } + namespace LightBlueWool + { + constexpr short LightBlueWool() + { + return 1387; + } + } + namespace LightGrayBanner + { + constexpr short LightGrayBanner(unsigned char Rotation) + { + if (Rotation == 1) return 8026; + if (Rotation == 2) return 8027; + if (Rotation == 3) return 8028; + if (Rotation == 4) return 8029; + if (Rotation == 5) return 8030; + if (Rotation == 6) return 8031; + if (Rotation == 7) return 8032; + if (Rotation == 8) return 8033; + if (Rotation == 9) return 8034; + if (Rotation == 10) return 8035; + if (Rotation == 11) return 8036; + if (Rotation == 12) return 8037; + if (Rotation == 13) return 8038; + if (Rotation == 14) return 8039; + if (Rotation == 0) return 8025; + return 8040; + } + short LightGrayBanner(); + unsigned char Rotation(short ID); + } + namespace LightGrayBed + { + enum class Part + { + Head, + Foot + }; + constexpr short LightGrayBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1182; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1186; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1190; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1179; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1183; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1187; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1191; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1180; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1184; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1188; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1177; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1181; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1185; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1189; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1178; + return 1192; + } + short LightGrayBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace LightGrayCarpet + { + constexpr short LightGrayCarpet() + { + return 7874; + } + } + namespace LightGrayConcrete + { + constexpr short LightGrayConcrete() + { + return 9446; + } + } + namespace LightGrayConcretePowder + { + constexpr short LightGrayConcretePowder() + { + return 9462; + } + } + namespace LightGrayGlazedTerracotta + { + constexpr short LightGrayGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9408; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9407; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9406; + return 9409; + } + short LightGrayGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace LightGrayShulkerBox + { + constexpr short LightGrayShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9326; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9330; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9327; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9331; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9328; + return 9329; + } + short LightGrayShulkerBox(); + eBlockFace Facing(short ID); + } + namespace LightGrayStainedGlass + { + constexpr short LightGrayStainedGlass() + { + return 4103; + } + } + namespace LightGrayStainedGlassPane + { + constexpr short LightGrayStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (false && !South && !West && !East && !North) return 7148; + if (!false && South && West && East && North) return 7121; + if (!false && !South && West && East && North) return 7125; + if (!false && South && West && East && !North) return 7129; + if (!false && !South && West && East && !North) return 7133; + if (!false && South && West && !East && North) return 7137; + if (!false && !South && West && !East && North) return 7141; + if (!false && South && West && !East && !North) return 7145; + if (!false && !South && West && !East && !North) return 7149; + if (!false && South && !West && East && North) return 7122; + if (!false && !South && !West && East && North) return 7126; + if (!false && South && !West && East && !North) return 7130; + if (!false && !South && !West && East && !North) return 7134; + if (!false && South && !West && !East && North) return 7138; + if (!false && !South && !West && !East && North) return 7142; + if (!false && South && !West && !East && !North) return 7146; + if (false && South && West && East && North) return 7119; + if (false && !South && West && East && North) return 7123; + if (false && South && West && East && !North) return 7127; + if (false && !South && West && East && !North) return 7131; + if (false && South && West && !East && North) return 7135; + if (false && !South && West && !East && North) return 7139; + if (false && South && West && !East && !North) return 7143; + if (false && !South && West && !East && !North) return 7147; + if (false && South && !West && East && North) return 7120; + if (false && !South && !West && East && North) return 7124; + if (false && South && !West && East && !North) return 7128; + if (false && !South && !West && East && !North) return 7132; + if (false && South && !West && !East && North) return 7136; + if (false && !South && !West && !East && North) return 7140; + if (false && South && !West && !East && !North) return 7144; + return 7150; + } + short LightGrayStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace LightGrayTerracotta + { + constexpr short LightGrayTerracotta() + { + return 6855; + } + } + namespace LightGrayWallBanner + { + constexpr short LightGrayWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8185; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8186; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8187; + return 8188; + } + short LightGrayWallBanner(); + eBlockFace Facing(short ID); + } + namespace LightGrayWool + { + constexpr short LightGrayWool() + { + return 1392; + } + } + namespace LightWeightedPressurePlate + { + constexpr short LightWeightedPressurePlate(unsigned char Power) + { + if (Power == 0) return 6646; + if (Power == 1) return 6647; + if (Power == 2) return 6648; + if (Power == 3) return 6649; + if (Power == 4) return 6650; + if (Power == 5) return 6651; + if (Power == 6) return 6652; + if (Power == 7) return 6653; + if (Power == 8) return 6654; + if (Power == 9) return 6655; + if (Power == 10) return 6656; + if (Power == 11) return 6657; + if (Power == 12) return 6658; + if (Power == 13) return 6659; + if (Power == 14) return 6660; + return 6661; + } + short LightWeightedPressurePlate(); + unsigned char Power(short ID); + } + namespace Lilac + { + enum class Half + { + Upper, + Lower + }; + constexpr short Lilac(enum Half Half) + { + if (Half == Half::Upper) return 7887; + return 7888; + } + short Lilac(); + enum Half Half(short ID); + } + namespace LilyOfTheValley + { + constexpr short LilyOfTheValley() + { + return 1424; + } + } + namespace LilyPad + { + constexpr short LilyPad() + { + return 5014; + } + } + namespace LimeBanner + { + constexpr short LimeBanner(unsigned char Rotation) + { + if (Rotation == 4) return 7981; + if (Rotation == 5) return 7982; + if (Rotation == 6) return 7983; + if (Rotation == 7) return 7984; + if (Rotation == 8) return 7985; + if (Rotation == 9) return 7986; + if (Rotation == 10) return 7987; + if (Rotation == 11) return 7988; + if (Rotation == 12) return 7989; + if (Rotation == 13) return 7990; + if (Rotation == 14) return 7991; + if (Rotation == 0) return 7977; + if (Rotation == 1) return 7978; + if (Rotation == 2) return 7979; + if (Rotation == 3) return 7980; + return 7992; + } + short LimeBanner(); + unsigned char Rotation(short ID); + } + namespace LimeBed + { + enum class Part + { + Head, + Foot + }; + constexpr short LimeBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1137; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1141; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1130; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1134; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1138; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1142; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1131; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1135; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1139; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1143; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1132; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1136; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1140; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1129; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1133; + return 1144; + } + short LimeBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace LimeCarpet + { + constexpr short LimeCarpet() + { + return 7871; + } + } + namespace LimeConcrete + { + constexpr short LimeConcrete() + { + return 9443; + } + } + namespace LimeConcretePowder + { + constexpr short LimeConcretePowder() + { + return 9459; + } + } + namespace LimeGlazedTerracotta + { + constexpr short LimeGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9396; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9395; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9394; + return 9397; + } + short LimeGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace LimeShulkerBox + { + constexpr short LimeShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9312; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9309; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9313; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9310; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9311; + return 9308; + } + short LimeShulkerBox(); + eBlockFace Facing(short ID); + } + namespace LimeStainedGlass + { + constexpr short LimeStainedGlass() + { + return 4100; + } + } + namespace LimeStainedGlassPane + { + constexpr short LimeStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (false && South && !West && East && North) return 7024; + if (false && !South && !West && East && North) return 7028; + if (false && South && !West && East && !North) return 7032; + if (false && !South && !West && East && !North) return 7036; + if (false && South && !West && !East && North) return 7040; + if (false && !South && !West && !East && North) return 7044; + if (false && South && !West && !East && !North) return 7048; + if (false && !South && !West && !East && !North) return 7052; + if (!false && South && West && East && North) return 7025; + if (!false && !South && West && East && North) return 7029; + if (!false && South && West && East && !North) return 7033; + if (!false && !South && West && East && !North) return 7037; + if (!false && South && West && !East && North) return 7041; + if (!false && !South && West && !East && North) return 7045; + if (!false && South && West && !East && !North) return 7049; + if (!false && !South && West && !East && !North) return 7053; + if (!false && South && !West && East && North) return 7026; + if (!false && !South && !West && East && North) return 7030; + if (!false && South && !West && East && !North) return 7034; + if (!false && !South && !West && East && !North) return 7038; + if (!false && South && !West && !East && North) return 7042; + if (!false && !South && !West && !East && North) return 7046; + if (!false && South && !West && !East && !North) return 7050; + if (false && South && West && East && North) return 7023; + if (false && !South && West && East && North) return 7027; + if (false && South && West && East && !North) return 7031; + if (false && !South && West && East && !North) return 7035; + if (false && South && West && !East && North) return 7039; + if (false && !South && West && !East && North) return 7043; + if (false && South && West && !East && !North) return 7047; + if (false && !South && West && !East && !North) return 7051; + return 7054; + } + short LimeStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace LimeTerracotta + { + constexpr short LimeTerracotta() + { + return 6852; + } + } + namespace LimeWallBanner + { + constexpr short LimeWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8173; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8174; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8175; + return 8176; + } + short LimeWallBanner(); + eBlockFace Facing(short ID); + } + namespace LimeWool + { + constexpr short LimeWool() + { + return 1389; + } + } + namespace Lodestone + { + constexpr short Lodestone() + { + return 15838; + } + } + namespace Loom + { + constexpr short Loom(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14787; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 14789; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14788; + return 14790; + } + short Loom(); + eBlockFace Facing(short ID); + } + namespace MagentaBanner + { + constexpr short MagentaBanner(unsigned char Rotation) + { + if (Rotation == 7) return 7936; + if (Rotation == 8) return 7937; + if (Rotation == 9) return 7938; + if (Rotation == 10) return 7939; + if (Rotation == 11) return 7940; + if (Rotation == 12) return 7941; + if (Rotation == 13) return 7942; + if (Rotation == 14) return 7943; + if (Rotation == 0) return 7929; + if (Rotation == 1) return 7930; + if (Rotation == 2) return 7931; + if (Rotation == 3) return 7932; + if (Rotation == 4) return 7933; + if (Rotation == 5) return 7934; + if (Rotation == 6) return 7935; + return 7944; + } + short MagentaBanner(); + unsigned char Rotation(short ID); + } + namespace MagentaBed + { + enum class Part + { + Head, + Foot + }; + constexpr short MagentaBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1092; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1081; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1085; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1089; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1093; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1082; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1086; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1090; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1094; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1083; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1087; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1091; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1095; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1084; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1088; + return 1096; + } + short MagentaBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace MagentaCarpet + { + constexpr short MagentaCarpet() + { + return 7868; + } + } + namespace MagentaConcrete + { + constexpr short MagentaConcrete() + { + return 9440; + } + } + namespace MagentaConcretePowder + { + constexpr short MagentaConcretePowder() + { + return 9456; + } + } + namespace MagentaGlazedTerracotta + { + constexpr short MagentaGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9384; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9383; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9382; + return 9385; + } + short MagentaGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace MagentaShulkerBox + { + constexpr short MagentaShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9291; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9295; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9292; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9293; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9290; + return 9294; + } + short MagentaShulkerBox(); + eBlockFace Facing(short ID); + } + namespace MagentaStainedGlass + { + constexpr short MagentaStainedGlass() + { + return 4097; + } + } + namespace MagentaStainedGlassPane + { + constexpr short MagentaStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (false && !South && West && East && North) return 6931; + if (false && South && West && East && !North) return 6935; + if (false && !South && West && East && !North) return 6939; + if (false && South && West && !East && North) return 6943; + if (false && !South && West && !East && North) return 6947; + if (false && South && West && !East && !North) return 6951; + if (false && !South && West && !East && !North) return 6955; + if (false && South && !West && East && North) return 6928; + if (false && !South && !West && East && North) return 6932; + if (false && South && !West && East && !North) return 6936; + if (false && !South && !West && East && !North) return 6940; + if (false && South && !West && !East && North) return 6944; + if (false && !South && !West && !East && North) return 6948; + if (false && South && !West && !East && !North) return 6952; + if (false && !South && !West && !East && !North) return 6956; + if (!false && South && West && East && North) return 6929; + if (!false && !South && West && East && North) return 6933; + if (!false && South && West && East && !North) return 6937; + if (!false && !South && West && East && !North) return 6941; + if (!false && South && West && !East && North) return 6945; + if (!false && !South && West && !East && North) return 6949; + if (!false && South && West && !East && !North) return 6953; + if (!false && !South && West && !East && !North) return 6957; + if (!false && South && !West && East && North) return 6930; + if (!false && !South && !West && East && North) return 6934; + if (!false && South && !West && East && !North) return 6938; + if (!false && !South && !West && East && !North) return 6942; + if (!false && South && !West && !East && North) return 6946; + if (!false && !South && !West && !East && North) return 6950; + if (!false && South && !West && !East && !North) return 6954; + if (false && South && West && East && North) return 6927; + return 6958; + } + short MagentaStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace MagentaTerracotta + { + constexpr short MagentaTerracotta() + { + return 6849; + } + } + namespace MagentaWallBanner + { + constexpr short MagentaWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8161; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8162; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8163; + return 8164; + } + short MagentaWallBanner(); + eBlockFace Facing(short ID); + } + namespace MagentaWool + { + constexpr short MagentaWool() + { + return 1386; + } + } + namespace MagmaBlock + { + constexpr short MagmaBlock() + { + return 9253; + } + } + namespace Melon + { + constexpr short Melon() + { + return 4763; + } + } + namespace MelonStem + { + constexpr short MelonStem(unsigned char Age) + { + if (Age == 3) return 4783; + if (Age == 5) return 4785; + if (Age == 0) return 4780; + if (Age == 2) return 4782; + if (Age == 4) return 4784; + if (Age == 6) return 4786; + if (Age == 1) return 4781; + return 4787; + } + short MelonStem(); + unsigned char Age(short ID); + } + namespace MossyCobblestone + { + constexpr short MossyCobblestone() + { + return 1433; + } + } + namespace MossyCobblestoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short MossyCobblestoneSlab(enum Type Type) + { + if (Type == Type::Double && false) return 10817; + if (Type == Type::Top && !false) return 10814; + if (Type == Type::Double && !false) return 10818; + if (Type == Type::Bottom && false) return 10815; + if (Type == Type::Bottom && !false) return 10816; + return 10813; + } + short MossyCobblestoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace MossyCobblestoneStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short MossyCobblestoneStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9989; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9990; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9991; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9992; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9993; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9994; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9995; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9996; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9997; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9998; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9999; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10000; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10001; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10002; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10003; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10004; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10005; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10006; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10007; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10008; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10009; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10010; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10011; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10012; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10013; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10014; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10015; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10016; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10017; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10018; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10019; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10020; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10021; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10022; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10023; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10024; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10025; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10026; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10027; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10028; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10029; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10030; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10031; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10032; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10033; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10034; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10035; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10036; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10037; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10038; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10039; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10040; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10041; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10042; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10043; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10044; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10045; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10046; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10047; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10048; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10049; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10050; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10051; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10052; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10053; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10054; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10055; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10056; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10057; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10058; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10059; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10060; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10061; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10062; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10063; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10064; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10065; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10066; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10067; + return 10068; + } + short MossyCobblestoneStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace MossyCobblestoneWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short MossyCobblestoneWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 6036; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 6038; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 6040; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 6042; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 6044; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 6046; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 6048; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 6050; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 6052; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 6054; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 6056; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 6058; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 6060; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 6062; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 6064; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 6066; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 6068; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 6070; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 6072; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 6074; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 6076; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 6078; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 6080; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 6082; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 6084; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 6086; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 6088; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 6090; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 6092; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 6094; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 6096; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 6098; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 6100; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 6102; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 6104; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 6106; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 6108; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 6110; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 6112; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 6114; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 6116; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 6118; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 6120; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 6122; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 6124; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 6126; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 6128; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 6130; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 6132; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 6134; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 6136; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 6138; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 6140; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 6142; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 6144; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 6146; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 6148; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 6150; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 6152; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 6154; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 6156; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 6158; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 6160; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 6162; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 6164; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 6166; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 6168; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 6170; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 6172; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 6174; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 6176; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 6178; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 6180; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 6182; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 6184; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 6186; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 6188; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 6190; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 6192; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 6194; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 6196; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 6198; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 6200; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 6202; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 6204; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 6206; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 6208; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 6210; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 6212; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 6214; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 6216; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 6218; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 6220; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 6222; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 6224; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 6226; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 6228; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 6230; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 6232; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 6234; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 6236; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 6238; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 6240; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 6242; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 6244; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 6246; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 6248; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 6250; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 6252; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 6254; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 6256; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 6258; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 6260; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 6262; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 6264; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 6266; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 6268; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 6270; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 6272; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 6274; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 6276; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 6278; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 6280; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 6282; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 6284; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 6286; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 6288; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 6290; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 6292; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 6294; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 6296; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 6298; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 6300; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 6302; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 6304; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 5981; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 5983; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 5985; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 5987; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 5989; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 5991; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 5993; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 5995; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 5997; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 5999; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 6001; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 6003; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 6005; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 6007; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 6009; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 6011; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 6013; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 6015; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 6017; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 6019; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 6021; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 6023; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 6025; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 6027; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 6029; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 6031; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 6033; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 6035; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 6037; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 6039; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 6041; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 6043; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 6045; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 6047; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 6049; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 6051; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 6053; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 6055; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 6057; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 6059; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 6061; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 6063; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 6065; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 6067; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 6069; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 6071; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 6073; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 6075; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 6077; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 6079; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 6081; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 6083; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 6085; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 6087; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 6089; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 6091; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 6093; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 6095; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 6097; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 6099; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 6101; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 6103; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 6105; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 6107; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 6109; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 6111; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 6113; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 6115; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 6117; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 6119; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 6121; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 6123; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 6125; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 6127; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 6129; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 6131; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 6133; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 6135; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 6137; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 6139; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 6141; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 6143; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 6145; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 6147; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 6149; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 6151; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 6153; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 6155; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 6157; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 6159; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 6161; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 6163; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 6165; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 6167; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 6169; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 6171; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 6173; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 6175; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 6177; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 6179; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 6181; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 6183; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 6185; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 6187; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 6189; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 6191; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 6193; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 6195; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 6197; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 6199; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 6201; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 6203; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 6205; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 6207; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 6209; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 6211; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 6213; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 6215; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 6217; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 6219; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 6221; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 6223; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 6225; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 6227; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 6229; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 6231; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 6233; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 6235; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 6237; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 6239; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 6241; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 6243; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 6245; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 6247; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 6249; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 6251; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 6253; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 6255; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 6257; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 6259; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 6261; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 6263; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 6265; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 6267; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 6269; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 6271; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 6273; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 6275; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 6277; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 6279; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 6281; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 6283; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 6285; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 6287; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 6289; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 6291; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 6293; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 6295; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 6297; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 6299; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 6301; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 6303; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 5982; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 5984; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 5986; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 5988; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 5990; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 5992; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 5994; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 5996; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 5998; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 6000; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 6002; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 6004; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 6006; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 6008; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 6010; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 6012; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 6014; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 6016; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 6018; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 6020; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 6022; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 6024; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 6026; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 6028; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 6030; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 6032; + return 6034; + } + short MossyCobblestoneWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace MossyStoneBrickSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short MossyStoneBrickSlab(enum Type Type) + { + if (Type == Type::Bottom && false) return 10803; + if (Type == Type::Bottom && !false) return 10804; + if (Type == Type::Top && false) return 10801; + if (Type == Type::Double && false) return 10805; + if (Type == Type::Top && !false) return 10802; + return 10806; + } + short MossyStoneBrickSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace MossyStoneBrickStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short MossyStoneBrickStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9833; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9834; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9835; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9836; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9837; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9838; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9839; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9840; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9841; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9842; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9843; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9844; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9845; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9846; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9847; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9848; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9849; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9850; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9851; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9852; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9853; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9854; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9855; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9856; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9857; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9858; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9859; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9860; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9861; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9862; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9863; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9864; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9865; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9866; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9867; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9868; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9869; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9870; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9871; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9872; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9873; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9874; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9875; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9876; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9877; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9878; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9879; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9880; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9881; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9882; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9883; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9884; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9885; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9886; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9887; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9888; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9889; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9890; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9891; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9892; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9893; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9894; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9895; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9896; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9897; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9898; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9899; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9900; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9901; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9902; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9903; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9904; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9905; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9906; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9907; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9908; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9829; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9830; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9831; + return 9832; + } + short MossyStoneBrickStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace MossyStoneBrickWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short MossyStoneBrickWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 12056; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 12060; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 12064; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 12068; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 12072; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 12076; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 12080; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 12084; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 12088; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 12092; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12096; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 12100; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 12104; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12108; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 12112; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 12116; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12120; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 12124; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12128; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12132; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12136; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12140; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12144; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12148; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12152; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12156; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12160; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 11841; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 11845; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 11849; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 11853; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 11857; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 11861; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 11865; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 11869; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 11873; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 11877; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 11881; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 11885; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 11889; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 11893; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 11897; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 11901; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 11905; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 11909; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 11913; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 11917; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 11921; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 11925; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 11929; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 11933; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 11937; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 11941; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 11945; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 11949; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 11953; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 11957; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 11961; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 11965; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 11969; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 11973; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 11977; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 11981; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 11985; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 11989; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 11993; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 11997; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 12001; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 12005; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 12009; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 12013; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 12017; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12021; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 12025; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12029; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12033; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 12037; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12041; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12045; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 12049; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12053; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 12057; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 12061; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 12065; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 12069; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 12073; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 12077; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 12081; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 12085; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 12089; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12093; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 12097; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12101; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12105; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 12109; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12113; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12117; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 12121; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12125; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12129; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12133; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12137; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12141; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12145; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12149; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12153; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12157; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12161; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 11842; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 11846; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 11850; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 11854; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 11858; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 11862; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 11866; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 11870; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 11874; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 11878; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 11882; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 11886; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 11890; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 11894; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 11898; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 11902; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 11906; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 11910; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 11914; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 11918; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11922; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 11926; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 11930; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11934; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 11938; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 11942; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11946; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 11950; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 11954; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 11958; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 11962; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 11966; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 11970; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 11974; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 11978; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 11982; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 11986; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 11990; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11994; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 11998; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 12002; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12006; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 12010; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 12014; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12018; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 12022; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12026; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12030; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 12034; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12038; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12042; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 12046; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12050; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12054; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 12058; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 12062; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12066; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 12070; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 12074; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12078; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 12082; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 12086; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12090; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 12094; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12098; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12102; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 12106; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12110; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12114; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 12118; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12122; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12126; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 12130; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12134; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12138; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 12142; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12146; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12150; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 12154; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12158; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12162; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 11839; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 11843; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 11847; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 11851; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 11855; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 11859; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 11863; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 11867; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 11871; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 11875; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 11879; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 11883; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 11887; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 11891; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 11895; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 11899; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 11903; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 11907; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 11911; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 11915; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11919; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 11923; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 11927; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11931; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 11935; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 11939; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11943; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 11947; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 11951; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 11955; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 11959; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 11963; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 11967; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 11971; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 11975; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 11979; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 11983; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 11987; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11991; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 11995; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 11999; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12003; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 12007; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 12011; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12015; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 12019; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 12023; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12027; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 12031; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 12035; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12039; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 12043; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 12047; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12051; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 12055; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 12059; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12063; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 12067; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 12071; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12075; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 12079; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 12083; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12087; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 12091; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 12095; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12099; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 12103; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 12107; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12111; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 12115; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 12119; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12123; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 12127; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12131; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12135; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 12139; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12143; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12147; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 12151; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12155; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12159; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 11840; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 11844; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 11848; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 11852; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 11856; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 11860; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 11864; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 11868; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 11872; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 11876; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 11880; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 11884; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 11888; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 11892; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 11896; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 11900; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 11904; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 11908; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 11912; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 11916; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 11920; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 11924; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 11928; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 11932; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 11936; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 11940; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 11944; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 11948; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 11952; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 11956; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 11960; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 11964; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 11968; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 11972; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 11976; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 11980; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 11984; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 11988; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 11992; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 11996; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 12000; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 12004; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 12008; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 12012; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 12016; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 12020; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12024; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 12028; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 12032; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12036; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 12040; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 12044; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12048; + return 12052; + } + short MossyStoneBrickWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace MossyStoneBricks + { + constexpr short MossyStoneBricks() + { + return 4496; + } + } + namespace MovingPiston + { + enum class Type + { + Normal, + Sticky + }; + constexpr short MovingPiston(eBlockFace Facing, enum Type Type) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Sticky) return 1407; + if (Facing == eBlockFace::BLOCK_FACE_YM && Type == Type::Sticky) return 1411; + if (Facing == eBlockFace::BLOCK_FACE_ZM && Type == Type::Normal) return 1400; + if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Normal) return 1404; + if (Facing == eBlockFace::BLOCK_FACE_YP && Type == Type::Normal) return 1408; + if (Facing == eBlockFace::BLOCK_FACE_ZM && Type == Type::Sticky) return 1401; + if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Sticky) return 1405; + if (Facing == eBlockFace::BLOCK_FACE_YP && Type == Type::Sticky) return 1409; + if (Facing == eBlockFace::BLOCK_FACE_XP && Type == Type::Normal) return 1402; + if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Normal) return 1406; + if (Facing == eBlockFace::BLOCK_FACE_YM && Type == Type::Normal) return 1410; + return 1403; + } + short MovingPiston(); + eBlockFace Facing(short ID); + enum Type Type(short ID); + } + namespace MushroomStem + { + constexpr short MushroomStem(bool Down, bool East, bool North, bool South, bool Up, bool West) + { + if (!Up && !West && East && South && Down && North) return 4636; + if (!Up && !West && !East && South && Down && North) return 4652; + if (!Up && !West && East && South && !Down && North) return 4668; + if (!Up && !West && !East && South && !Down && North) return 4684; + if (Up && West && East && !South && Down && North) return 4637; + if (Up && West && !East && !South && Down && North) return 4653; + if (Up && West && East && !South && !Down && North) return 4669; + if (Up && West && !East && !South && !Down && North) return 4685; + if (Up && !West && East && !South && Down && North) return 4638; + if (Up && !West && !East && !South && Down && North) return 4654; + if (Up && !West && East && !South && !Down && North) return 4670; + if (Up && !West && !East && !South && !Down && North) return 4686; + if (!Up && West && East && !South && Down && North) return 4639; + if (!Up && West && !East && !South && Down && North) return 4655; + if (!Up && West && East && !South && !Down && North) return 4671; + if (!Up && West && !East && !South && !Down && North) return 4687; + if (!Up && !West && East && !South && Down && North) return 4640; + if (!Up && !West && !East && !South && Down && North) return 4656; + if (!Up && !West && East && !South && !Down && North) return 4672; + if (!Up && !West && !East && !South && !Down && North) return 4688; + if (Up && West && East && South && Down && !North) return 4641; + if (Up && West && !East && South && Down && !North) return 4657; + if (Up && West && East && South && !Down && !North) return 4673; + if (Up && West && !East && South && !Down && !North) return 4689; + if (Up && !West && East && South && Down && !North) return 4642; + if (Up && !West && !East && South && Down && !North) return 4658; + if (Up && !West && East && South && !Down && !North) return 4674; + if (Up && !West && !East && South && !Down && !North) return 4690; + if (!Up && West && East && South && Down && !North) return 4643; + if (!Up && West && !East && South && Down && !North) return 4659; + if (!Up && West && East && South && !Down && !North) return 4675; + if (!Up && West && !East && South && !Down && !North) return 4691; + if (!Up && !West && East && South && Down && !North) return 4644; + if (!Up && !West && !East && South && Down && !North) return 4660; + if (!Up && !West && East && South && !Down && !North) return 4676; + if (!Up && !West && !East && South && !Down && !North) return 4692; + if (Up && West && East && !South && Down && !North) return 4645; + if (Up && West && !East && !South && Down && !North) return 4661; + if (Up && West && East && !South && !Down && !North) return 4677; + if (Up && West && !East && !South && !Down && !North) return 4693; + if (Up && !West && East && !South && Down && !North) return 4646; + if (Up && !West && !East && !South && Down && !North) return 4662; + if (Up && !West && East && !South && !Down && !North) return 4678; + if (Up && !West && !East && !South && !Down && !North) return 4694; + if (!Up && West && East && !South && Down && !North) return 4647; + if (!Up && West && !East && !South && Down && !North) return 4663; + if (!Up && West && East && !South && !Down && !North) return 4679; + if (!Up && West && !East && !South && !Down && !North) return 4695; + if (!Up && !West && East && !South && Down && !North) return 4648; + if (!Up && !West && !East && !South && Down && !North) return 4664; + if (!Up && !West && East && !South && !Down && !North) return 4680; + if (Up && West && East && South && Down && North) return 4633; + if (Up && West && !East && South && Down && North) return 4649; + if (Up && West && East && South && !Down && North) return 4665; + if (Up && West && !East && South && !Down && North) return 4681; + if (Up && !West && East && South && Down && North) return 4634; + if (Up && !West && !East && South && Down && North) return 4650; + if (Up && !West && East && South && !Down && North) return 4666; + if (Up && !West && !East && South && !Down && North) return 4682; + if (!Up && West && East && South && Down && North) return 4635; + if (!Up && West && !East && South && Down && North) return 4651; + if (!Up && West && East && South && !Down && North) return 4667; + if (!Up && West && !East && South && !Down && North) return 4683; + return 4696; + } + short MushroomStem(); + bool Down(short ID); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Up(short ID); + bool West(short ID); + } + namespace Mycelium + { + constexpr short Mycelium(bool Snowy) + { + if (Snowy) return 5012; + return 5013; + } + short Mycelium(); + bool Snowy(short ID); + } + namespace NetherBrickFence + { + constexpr short NetherBrickFence(bool East, bool North, bool South, bool West) + { + if (false && South && West && !East && !North) return 5040; + if (false && !South && West && !East && !North) return 5044; + if (false && South && !West && East && North) return 5017; + if (false && !South && !West && East && North) return 5021; + if (false && South && !West && East && !North) return 5025; + if (false && !South && !West && East && !North) return 5029; + if (false && South && !West && !East && North) return 5033; + if (false && !South && !West && !East && North) return 5037; + if (false && South && !West && !East && !North) return 5041; + if (false && !South && !West && !East && !North) return 5045; + if (!false && South && West && East && North) return 5018; + if (!false && !South && West && East && North) return 5022; + if (!false && South && West && East && !North) return 5026; + if (!false && !South && West && East && !North) return 5030; + if (!false && South && West && !East && North) return 5034; + if (!false && !South && West && !East && North) return 5038; + if (!false && South && West && !East && !North) return 5042; + if (!false && !South && West && !East && !North) return 5046; + if (!false && South && !West && East && North) return 5019; + if (!false && !South && !West && East && North) return 5023; + if (!false && South && !West && East && !North) return 5027; + if (!false && !South && !West && East && !North) return 5031; + if (!false && South && !West && !East && North) return 5035; + if (!false && !South && !West && !East && North) return 5039; + if (!false && South && !West && !East && !North) return 5043; + if (false && South && West && East && North) return 5016; + if (false && !South && West && East && North) return 5020; + if (false && South && West && East && !North) return 5024; + if (false && !South && West && East && !North) return 5028; + if (false && South && West && !East && North) return 5032; + if (false && !South && West && !East && North) return 5036; + return 5047; + } + short NetherBrickFence(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace NetherBrickSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short NetherBrickSlab(enum Type Type) + { + if (Type == Type::Double && false) return 8388; + if (Type == Type::Top && !false) return 8385; + if (Type == Type::Double && !false) return 8389; + if (Type == Type::Bottom && false) return 8386; + if (Type == Type::Bottom && !false) return 8387; + return 8384; + } + short NetherBrickSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace NetherBrickStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short NetherBrickStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5076; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5077; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5078; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5079; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5080; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5081; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5082; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5083; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5084; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5085; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5086; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5087; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5088; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5089; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5090; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5091; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5092; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5093; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5094; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5095; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5096; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5097; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5098; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5099; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5100; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5101; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5102; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5103; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5104; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5105; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5106; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5107; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5108; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5109; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5110; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5111; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5048; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5112; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5049; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5113; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5050; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5114; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5051; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5115; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5052; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5116; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5053; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5117; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5054; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5118; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5055; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5119; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5056; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5120; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5057; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5121; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5058; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5122; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5059; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5123; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5060; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5124; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5061; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5125; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5062; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5126; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5063; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5127; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5064; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5065; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5066; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5067; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5068; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5069; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5070; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5071; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5072; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5073; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5074; + return 5075; + } + short NetherBrickStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace NetherBrickWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short NetherBrickWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 13078; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13082; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13086; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 13090; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13094; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13098; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 13102; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13106; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13110; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 13114; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13118; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13122; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 13126; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13130; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13134; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 12811; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 12815; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 12819; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 12823; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 12827; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 12831; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 12835; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 12839; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 12843; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 12847; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 12851; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 12855; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 12859; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 12863; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 12867; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 12871; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 12875; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 12879; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 12883; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 12887; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12891; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 12895; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 12899; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12903; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 12907; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 12911; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12915; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 12919; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 12923; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 12927; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 12931; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 12935; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 12939; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 12943; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 12947; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 12951; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 12955; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 12959; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12963; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 12967; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 12971; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12975; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 12979; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 12983; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12987; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 12991; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 12995; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12999; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 13003; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 13007; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13011; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 13015; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 13019; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13023; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 13027; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 13031; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13035; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 13039; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 13043; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13047; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 13051; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 13055; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13059; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 13063; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 13067; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13071; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 13075; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 13079; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13083; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 13087; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 13091; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13095; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 13099; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13103; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13107; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 13111; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13115; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13119; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 13123; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13127; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13131; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 12812; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 12816; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 12820; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 12824; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 12828; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 12832; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 12836; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 12840; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 12844; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 12848; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 12852; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 12856; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 12860; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 12864; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 12868; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 12872; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 12876; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 12880; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 12884; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 12888; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 12892; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 12896; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 12900; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 12904; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 12908; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 12912; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 12916; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 12920; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 12924; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 12928; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 12932; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 12936; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 12940; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 12944; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 12948; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 12952; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 12956; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 12960; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 12964; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 12968; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 12972; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 12976; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 12980; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 12984; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 12988; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 12992; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12996; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 13000; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 13004; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13008; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 13012; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 13016; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13020; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 13024; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 13028; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 13032; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 13036; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 13040; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 13044; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 13048; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 13052; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 13056; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 13060; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 13064; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13068; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 13072; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 13076; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13080; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 13084; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 13088; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13092; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 13096; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13100; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13104; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13108; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13112; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13116; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13120; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13124; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13128; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13132; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 12813; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 12817; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 12821; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 12825; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 12829; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 12833; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 12837; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 12841; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 12845; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 12849; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 12853; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 12857; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 12861; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 12865; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 12869; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 12873; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 12877; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 12881; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 12885; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 12889; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 12893; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 12897; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 12901; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 12905; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 12909; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 12913; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 12917; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 12921; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 12925; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 12929; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 12933; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 12937; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 12941; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 12945; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 12949; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 12953; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 12957; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 12961; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 12965; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 12969; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 12973; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 12977; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 12981; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 12985; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 12989; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12993; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 12997; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13001; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13005; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 13009; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13013; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13017; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 13021; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13025; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 13029; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 13033; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 13037; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 13041; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 13045; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 13049; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 13053; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 13057; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 13061; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13065; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 13069; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13073; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13077; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 13081; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13085; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13089; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 13093; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13097; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13101; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13105; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13109; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13113; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13117; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13121; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13125; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13129; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13133; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 12814; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 12818; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 12822; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 12826; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 12830; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 12834; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 12838; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 12842; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 12846; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 12850; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 12854; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 12858; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 12862; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 12866; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 12870; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 12874; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 12878; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 12882; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 12886; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 12890; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12894; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 12898; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 12902; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12906; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 12910; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 12914; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12918; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 12922; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 12926; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 12930; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 12934; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 12938; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 12942; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 12946; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 12950; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 12954; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 12958; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 12962; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12966; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 12970; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 12974; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12978; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 12982; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 12986; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12990; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 12994; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12998; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13002; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 13006; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13010; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13014; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 13018; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13022; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13026; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 13030; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 13034; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13038; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 13042; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 13046; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13050; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 13054; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 13058; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13062; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 13066; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13070; + return 13074; + } + short NetherBrickWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace NetherBricks + { + constexpr short NetherBricks() + { + return 5015; + } + } + namespace NetherGoldOre + { + constexpr short NetherGoldOre() + { + return 72; + } + } + namespace NetherPortal + { + enum class Axis + { + X, + Z + }; + constexpr short NetherPortal(enum Axis Axis) + { + if (Axis == Axis::X) return 4014; + return 4015; + } + short NetherPortal(); + enum Axis Axis(short ID); + } + namespace NetherQuartzOre + { + constexpr short NetherQuartzOre() + { + return 6727; + } + } + namespace NetherSprouts + { + constexpr short NetherSprouts() + { + return 14974; + } + } + namespace NetherWart + { + constexpr short NetherWart(unsigned char Age) + { + if (Age == 0) return 5128; + if (Age == 1) return 5129; + if (Age == 2) return 5130; + return 5131; + } + short NetherWart(); + unsigned char Age(short ID); + } + namespace NetherWartBlock + { + constexpr short NetherWartBlock() + { + return 9254; + } + } + namespace NetheriteBlock + { + constexpr short NetheriteBlock() + { + return 15826; + } + } + namespace Netherrack + { + constexpr short Netherrack() + { + return 3999; + } + } + namespace NoteBlock + { + enum class Instrument + { + Harp, + Basedrum, + Snare, + Hat, + Bass, + Flute, + Bell, + Guitar, + Chime, + Xylophone, + IronXylophone, + CowBell, + Didgeridoo, + Bit, + Banjo, + Pling + }; + constexpr short NoteBlock(enum Instrument Instrument, unsigned char Note, bool Powered) + { + if (Instrument == Instrument::Harp && Note == 0 && Powered) return 249; + if (Instrument == Instrument::Harp && Note == 0 && !Powered) return 250; + if (Instrument == Instrument::Harp && Note == 1 && Powered) return 251; + if (Instrument == Instrument::Harp && Note == 1 && !Powered) return 252; + if (Instrument == Instrument::Harp && Note == 2 && Powered) return 253; + if (Instrument == Instrument::Harp && Note == 2 && !Powered) return 254; + if (Instrument == Instrument::Harp && Note == 3 && Powered) return 255; + if (Instrument == Instrument::Harp && Note == 3 && !Powered) return 256; + if (Instrument == Instrument::Harp && Note == 4 && Powered) return 257; + if (Instrument == Instrument::Harp && Note == 4 && !Powered) return 258; + if (Instrument == Instrument::Harp && Note == 5 && Powered) return 259; + if (Instrument == Instrument::Harp && Note == 5 && !Powered) return 260; + if (Instrument == Instrument::Harp && Note == 6 && Powered) return 261; + if (Instrument == Instrument::Harp && Note == 6 && !Powered) return 262; + if (Instrument == Instrument::Harp && Note == 7 && Powered) return 263; + if (Instrument == Instrument::Harp && Note == 7 && !Powered) return 264; + if (Instrument == Instrument::Harp && Note == 8 && Powered) return 265; + if (Instrument == Instrument::Harp && Note == 8 && !Powered) return 266; + if (Instrument == Instrument::Harp && Note == 9 && Powered) return 267; + if (Instrument == Instrument::Harp && Note == 9 && !Powered) return 268; + if (Instrument == Instrument::Harp && Note == 10 && Powered) return 269; + if (Instrument == Instrument::Harp && Note == 10 && !Powered) return 270; + if (Instrument == Instrument::Harp && Note == 11 && Powered) return 271; + if (Instrument == Instrument::Harp && Note == 11 && !Powered) return 272; + if (Instrument == Instrument::Harp && Note == 12 && Powered) return 273; + if (Instrument == Instrument::Harp && Note == 12 && !Powered) return 274; + if (Instrument == Instrument::Harp && Note == 13 && Powered) return 275; + if (Instrument == Instrument::Harp && Note == 13 && !Powered) return 276; + if (Instrument == Instrument::Harp && Note == 14 && Powered) return 277; + if (Instrument == Instrument::Harp && Note == 14 && !Powered) return 278; + if (Instrument == Instrument::Harp && Note == 15 && Powered) return 279; + if (Instrument == Instrument::Harp && Note == 15 && !Powered) return 280; + if (Instrument == Instrument::Harp && Note == 16 && Powered) return 281; + if (Instrument == Instrument::Harp && Note == 16 && !Powered) return 282; + if (Instrument == Instrument::Harp && Note == 17 && Powered) return 283; + if (Instrument == Instrument::Harp && Note == 17 && !Powered) return 284; + if (Instrument == Instrument::Harp && Note == 18 && Powered) return 285; + if (Instrument == Instrument::Harp && Note == 18 && !Powered) return 286; + if (Instrument == Instrument::Harp && Note == 19 && Powered) return 287; + if (Instrument == Instrument::Harp && Note == 19 && !Powered) return 288; + if (Instrument == Instrument::Harp && Note == 20 && Powered) return 289; + if (Instrument == Instrument::Harp && Note == 20 && !Powered) return 290; + if (Instrument == Instrument::Harp && Note == 21 && Powered) return 291; + if (Instrument == Instrument::Harp && Note == 21 && !Powered) return 292; + if (Instrument == Instrument::Harp && Note == 22 && Powered) return 293; + if (Instrument == Instrument::Harp && Note == 22 && !Powered) return 294; + if (Instrument == Instrument::Harp && Note == 23 && Powered) return 295; + if (Instrument == Instrument::Harp && Note == 23 && !Powered) return 296; + if (Instrument == Instrument::Harp && Note == 24 && Powered) return 297; + if (Instrument == Instrument::Harp && Note == 24 && !Powered) return 298; + if (Instrument == Instrument::Basedrum && Note == 0 && Powered) return 299; + if (Instrument == Instrument::Basedrum && Note == 0 && !Powered) return 300; + if (Instrument == Instrument::Basedrum && Note == 1 && Powered) return 301; + if (Instrument == Instrument::Basedrum && Note == 1 && !Powered) return 302; + if (Instrument == Instrument::Basedrum && Note == 2 && Powered) return 303; + if (Instrument == Instrument::Basedrum && Note == 2 && !Powered) return 304; + if (Instrument == Instrument::Basedrum && Note == 3 && Powered) return 305; + if (Instrument == Instrument::Basedrum && Note == 3 && !Powered) return 306; + if (Instrument == Instrument::Basedrum && Note == 4 && Powered) return 307; + if (Instrument == Instrument::Basedrum && Note == 4 && !Powered) return 308; + if (Instrument == Instrument::Basedrum && Note == 5 && Powered) return 309; + if (Instrument == Instrument::Basedrum && Note == 5 && !Powered) return 310; + if (Instrument == Instrument::Basedrum && Note == 6 && Powered) return 311; + if (Instrument == Instrument::Basedrum && Note == 6 && !Powered) return 312; + if (Instrument == Instrument::Basedrum && Note == 7 && Powered) return 313; + if (Instrument == Instrument::Basedrum && Note == 7 && !Powered) return 314; + if (Instrument == Instrument::Basedrum && Note == 8 && Powered) return 315; + if (Instrument == Instrument::Basedrum && Note == 8 && !Powered) return 316; + if (Instrument == Instrument::Basedrum && Note == 9 && Powered) return 317; + if (Instrument == Instrument::Basedrum && Note == 9 && !Powered) return 318; + if (Instrument == Instrument::Basedrum && Note == 10 && Powered) return 319; + if (Instrument == Instrument::Basedrum && Note == 10 && !Powered) return 320; + if (Instrument == Instrument::Basedrum && Note == 11 && Powered) return 321; + if (Instrument == Instrument::Basedrum && Note == 11 && !Powered) return 322; + if (Instrument == Instrument::Basedrum && Note == 12 && Powered) return 323; + if (Instrument == Instrument::Basedrum && Note == 12 && !Powered) return 324; + if (Instrument == Instrument::Basedrum && Note == 13 && Powered) return 325; + if (Instrument == Instrument::Basedrum && Note == 13 && !Powered) return 326; + if (Instrument == Instrument::Basedrum && Note == 14 && Powered) return 327; + if (Instrument == Instrument::Basedrum && Note == 14 && !Powered) return 328; + if (Instrument == Instrument::Basedrum && Note == 15 && Powered) return 329; + if (Instrument == Instrument::Basedrum && Note == 15 && !Powered) return 330; + if (Instrument == Instrument::Basedrum && Note == 16 && Powered) return 331; + if (Instrument == Instrument::Basedrum && Note == 16 && !Powered) return 332; + if (Instrument == Instrument::Basedrum && Note == 17 && Powered) return 333; + if (Instrument == Instrument::Basedrum && Note == 17 && !Powered) return 334; + if (Instrument == Instrument::Basedrum && Note == 18 && Powered) return 335; + if (Instrument == Instrument::Basedrum && Note == 18 && !Powered) return 336; + if (Instrument == Instrument::Basedrum && Note == 19 && Powered) return 337; + if (Instrument == Instrument::Basedrum && Note == 19 && !Powered) return 338; + if (Instrument == Instrument::Basedrum && Note == 20 && Powered) return 339; + if (Instrument == Instrument::Basedrum && Note == 20 && !Powered) return 340; + if (Instrument == Instrument::Basedrum && Note == 21 && Powered) return 341; + if (Instrument == Instrument::Basedrum && Note == 21 && !Powered) return 342; + if (Instrument == Instrument::Basedrum && Note == 22 && Powered) return 343; + if (Instrument == Instrument::Basedrum && Note == 22 && !Powered) return 344; + if (Instrument == Instrument::Basedrum && Note == 23 && Powered) return 345; + if (Instrument == Instrument::Basedrum && Note == 23 && !Powered) return 346; + if (Instrument == Instrument::Basedrum && Note == 24 && Powered) return 347; + if (Instrument == Instrument::Basedrum && Note == 24 && !Powered) return 348; + if (Instrument == Instrument::Snare && Note == 0 && Powered) return 349; + if (Instrument == Instrument::Snare && Note == 0 && !Powered) return 350; + if (Instrument == Instrument::Snare && Note == 1 && Powered) return 351; + if (Instrument == Instrument::Snare && Note == 1 && !Powered) return 352; + if (Instrument == Instrument::Snare && Note == 2 && Powered) return 353; + if (Instrument == Instrument::Snare && Note == 2 && !Powered) return 354; + if (Instrument == Instrument::Snare && Note == 3 && Powered) return 355; + if (Instrument == Instrument::Snare && Note == 3 && !Powered) return 356; + if (Instrument == Instrument::Snare && Note == 4 && Powered) return 357; + if (Instrument == Instrument::Snare && Note == 4 && !Powered) return 358; + if (Instrument == Instrument::Snare && Note == 5 && Powered) return 359; + if (Instrument == Instrument::Snare && Note == 5 && !Powered) return 360; + if (Instrument == Instrument::Snare && Note == 6 && Powered) return 361; + if (Instrument == Instrument::Snare && Note == 6 && !Powered) return 362; + if (Instrument == Instrument::Snare && Note == 7 && Powered) return 363; + if (Instrument == Instrument::Snare && Note == 7 && !Powered) return 364; + if (Instrument == Instrument::Snare && Note == 8 && Powered) return 365; + if (Instrument == Instrument::Snare && Note == 8 && !Powered) return 366; + if (Instrument == Instrument::Snare && Note == 9 && Powered) return 367; + if (Instrument == Instrument::Snare && Note == 9 && !Powered) return 368; + if (Instrument == Instrument::Snare && Note == 10 && Powered) return 369; + if (Instrument == Instrument::Snare && Note == 10 && !Powered) return 370; + if (Instrument == Instrument::Snare && Note == 11 && Powered) return 371; + if (Instrument == Instrument::Snare && Note == 11 && !Powered) return 372; + if (Instrument == Instrument::Snare && Note == 12 && Powered) return 373; + if (Instrument == Instrument::Snare && Note == 12 && !Powered) return 374; + if (Instrument == Instrument::Snare && Note == 13 && Powered) return 375; + if (Instrument == Instrument::Snare && Note == 13 && !Powered) return 376; + if (Instrument == Instrument::Snare && Note == 14 && Powered) return 377; + if (Instrument == Instrument::Snare && Note == 14 && !Powered) return 378; + if (Instrument == Instrument::Snare && Note == 15 && Powered) return 379; + if (Instrument == Instrument::Snare && Note == 15 && !Powered) return 380; + if (Instrument == Instrument::Snare && Note == 16 && Powered) return 381; + if (Instrument == Instrument::Snare && Note == 16 && !Powered) return 382; + if (Instrument == Instrument::Snare && Note == 17 && Powered) return 383; + if (Instrument == Instrument::Snare && Note == 17 && !Powered) return 384; + if (Instrument == Instrument::Snare && Note == 18 && Powered) return 385; + if (Instrument == Instrument::Snare && Note == 18 && !Powered) return 386; + if (Instrument == Instrument::Snare && Note == 19 && Powered) return 387; + if (Instrument == Instrument::Snare && Note == 19 && !Powered) return 388; + if (Instrument == Instrument::Snare && Note == 20 && Powered) return 389; + if (Instrument == Instrument::Snare && Note == 20 && !Powered) return 390; + if (Instrument == Instrument::Snare && Note == 21 && Powered) return 391; + if (Instrument == Instrument::Snare && Note == 21 && !Powered) return 392; + if (Instrument == Instrument::Snare && Note == 22 && Powered) return 393; + if (Instrument == Instrument::Snare && Note == 22 && !Powered) return 394; + if (Instrument == Instrument::Snare && Note == 23 && Powered) return 395; + if (Instrument == Instrument::Snare && Note == 23 && !Powered) return 396; + if (Instrument == Instrument::Snare && Note == 24 && Powered) return 397; + if (Instrument == Instrument::Snare && Note == 24 && !Powered) return 398; + if (Instrument == Instrument::Hat && Note == 0 && Powered) return 399; + if (Instrument == Instrument::Hat && Note == 0 && !Powered) return 400; + if (Instrument == Instrument::Hat && Note == 1 && Powered) return 401; + if (Instrument == Instrument::Hat && Note == 1 && !Powered) return 402; + if (Instrument == Instrument::Hat && Note == 2 && Powered) return 403; + if (Instrument == Instrument::Hat && Note == 2 && !Powered) return 404; + if (Instrument == Instrument::Hat && Note == 3 && Powered) return 405; + if (Instrument == Instrument::Hat && Note == 3 && !Powered) return 406; + if (Instrument == Instrument::Hat && Note == 4 && Powered) return 407; + if (Instrument == Instrument::Hat && Note == 4 && !Powered) return 408; + if (Instrument == Instrument::Hat && Note == 5 && Powered) return 409; + if (Instrument == Instrument::Hat && Note == 5 && !Powered) return 410; + if (Instrument == Instrument::Hat && Note == 6 && Powered) return 411; + if (Instrument == Instrument::Hat && Note == 6 && !Powered) return 412; + if (Instrument == Instrument::Hat && Note == 7 && Powered) return 413; + if (Instrument == Instrument::Hat && Note == 7 && !Powered) return 414; + if (Instrument == Instrument::Hat && Note == 8 && Powered) return 415; + if (Instrument == Instrument::Hat && Note == 8 && !Powered) return 416; + if (Instrument == Instrument::Hat && Note == 9 && Powered) return 417; + if (Instrument == Instrument::Hat && Note == 9 && !Powered) return 418; + if (Instrument == Instrument::Hat && Note == 10 && Powered) return 419; + if (Instrument == Instrument::Hat && Note == 10 && !Powered) return 420; + if (Instrument == Instrument::Hat && Note == 11 && Powered) return 421; + if (Instrument == Instrument::Hat && Note == 11 && !Powered) return 422; + if (Instrument == Instrument::Hat && Note == 12 && Powered) return 423; + if (Instrument == Instrument::Hat && Note == 12 && !Powered) return 424; + if (Instrument == Instrument::Hat && Note == 13 && Powered) return 425; + if (Instrument == Instrument::Hat && Note == 13 && !Powered) return 426; + if (Instrument == Instrument::Hat && Note == 14 && Powered) return 427; + if (Instrument == Instrument::Hat && Note == 14 && !Powered) return 428; + if (Instrument == Instrument::Hat && Note == 15 && Powered) return 429; + if (Instrument == Instrument::Hat && Note == 15 && !Powered) return 430; + if (Instrument == Instrument::Hat && Note == 16 && Powered) return 431; + if (Instrument == Instrument::Hat && Note == 16 && !Powered) return 432; + if (Instrument == Instrument::Hat && Note == 17 && Powered) return 433; + if (Instrument == Instrument::Hat && Note == 17 && !Powered) return 434; + if (Instrument == Instrument::Hat && Note == 18 && Powered) return 435; + if (Instrument == Instrument::Hat && Note == 18 && !Powered) return 436; + if (Instrument == Instrument::Hat && Note == 19 && Powered) return 437; + if (Instrument == Instrument::Hat && Note == 19 && !Powered) return 438; + if (Instrument == Instrument::Hat && Note == 20 && Powered) return 439; + if (Instrument == Instrument::Hat && Note == 20 && !Powered) return 440; + if (Instrument == Instrument::Hat && Note == 21 && Powered) return 441; + if (Instrument == Instrument::Hat && Note == 21 && !Powered) return 442; + if (Instrument == Instrument::Hat && Note == 22 && Powered) return 443; + if (Instrument == Instrument::Hat && Note == 22 && !Powered) return 444; + if (Instrument == Instrument::Hat && Note == 23 && Powered) return 445; + if (Instrument == Instrument::Hat && Note == 23 && !Powered) return 446; + if (Instrument == Instrument::Hat && Note == 24 && Powered) return 447; + if (Instrument == Instrument::Hat && Note == 24 && !Powered) return 448; + if (Instrument == Instrument::Bass && Note == 0 && Powered) return 449; + if (Instrument == Instrument::Bass && Note == 0 && !Powered) return 450; + if (Instrument == Instrument::Bass && Note == 1 && Powered) return 451; + if (Instrument == Instrument::Bass && Note == 1 && !Powered) return 452; + if (Instrument == Instrument::Bass && Note == 2 && Powered) return 453; + if (Instrument == Instrument::Bass && Note == 2 && !Powered) return 454; + if (Instrument == Instrument::Bass && Note == 3 && Powered) return 455; + if (Instrument == Instrument::Bass && Note == 3 && !Powered) return 456; + if (Instrument == Instrument::Bass && Note == 4 && Powered) return 457; + if (Instrument == Instrument::Bass && Note == 4 && !Powered) return 458; + if (Instrument == Instrument::Bass && Note == 5 && Powered) return 459; + if (Instrument == Instrument::Bass && Note == 5 && !Powered) return 460; + if (Instrument == Instrument::Bass && Note == 6 && Powered) return 461; + if (Instrument == Instrument::Bass && Note == 6 && !Powered) return 462; + if (Instrument == Instrument::Bass && Note == 7 && Powered) return 463; + if (Instrument == Instrument::Bass && Note == 7 && !Powered) return 464; + if (Instrument == Instrument::Bass && Note == 8 && Powered) return 465; + if (Instrument == Instrument::Bass && Note == 8 && !Powered) return 466; + if (Instrument == Instrument::Bass && Note == 9 && Powered) return 467; + if (Instrument == Instrument::Bass && Note == 9 && !Powered) return 468; + if (Instrument == Instrument::Bass && Note == 10 && Powered) return 469; + if (Instrument == Instrument::Bass && Note == 10 && !Powered) return 470; + if (Instrument == Instrument::Bass && Note == 11 && Powered) return 471; + if (Instrument == Instrument::Bass && Note == 11 && !Powered) return 472; + if (Instrument == Instrument::Bass && Note == 12 && Powered) return 473; + if (Instrument == Instrument::Bass && Note == 12 && !Powered) return 474; + if (Instrument == Instrument::Bass && Note == 13 && Powered) return 475; + if (Instrument == Instrument::Bass && Note == 13 && !Powered) return 476; + if (Instrument == Instrument::Bass && Note == 14 && Powered) return 477; + if (Instrument == Instrument::Bass && Note == 14 && !Powered) return 478; + if (Instrument == Instrument::Bass && Note == 15 && Powered) return 479; + if (Instrument == Instrument::Bass && Note == 15 && !Powered) return 480; + if (Instrument == Instrument::Bass && Note == 16 && Powered) return 481; + if (Instrument == Instrument::Bass && Note == 16 && !Powered) return 482; + if (Instrument == Instrument::Bass && Note == 17 && Powered) return 483; + if (Instrument == Instrument::Bass && Note == 17 && !Powered) return 484; + if (Instrument == Instrument::Bass && Note == 18 && Powered) return 485; + if (Instrument == Instrument::Bass && Note == 18 && !Powered) return 486; + if (Instrument == Instrument::Bass && Note == 19 && Powered) return 487; + if (Instrument == Instrument::Bass && Note == 19 && !Powered) return 488; + if (Instrument == Instrument::Bass && Note == 20 && Powered) return 489; + if (Instrument == Instrument::Bass && Note == 20 && !Powered) return 490; + if (Instrument == Instrument::Bass && Note == 21 && Powered) return 491; + if (Instrument == Instrument::Bass && Note == 21 && !Powered) return 492; + if (Instrument == Instrument::Bass && Note == 22 && Powered) return 493; + if (Instrument == Instrument::Bass && Note == 22 && !Powered) return 494; + if (Instrument == Instrument::Bass && Note == 23 && Powered) return 495; + if (Instrument == Instrument::Bass && Note == 23 && !Powered) return 496; + if (Instrument == Instrument::Bass && Note == 24 && Powered) return 497; + if (Instrument == Instrument::Bass && Note == 24 && !Powered) return 498; + if (Instrument == Instrument::Flute && Note == 0 && Powered) return 499; + if (Instrument == Instrument::Flute && Note == 0 && !Powered) return 500; + if (Instrument == Instrument::Flute && Note == 1 && Powered) return 501; + if (Instrument == Instrument::Flute && Note == 1 && !Powered) return 502; + if (Instrument == Instrument::Flute && Note == 2 && Powered) return 503; + if (Instrument == Instrument::Flute && Note == 2 && !Powered) return 504; + if (Instrument == Instrument::Flute && Note == 3 && Powered) return 505; + if (Instrument == Instrument::Flute && Note == 3 && !Powered) return 506; + if (Instrument == Instrument::Flute && Note == 4 && Powered) return 507; + if (Instrument == Instrument::Flute && Note == 4 && !Powered) return 508; + if (Instrument == Instrument::Flute && Note == 5 && Powered) return 509; + if (Instrument == Instrument::Flute && Note == 5 && !Powered) return 510; + if (Instrument == Instrument::Flute && Note == 6 && Powered) return 511; + if (Instrument == Instrument::Flute && Note == 6 && !Powered) return 512; + if (Instrument == Instrument::Flute && Note == 7 && Powered) return 513; + if (Instrument == Instrument::Flute && Note == 7 && !Powered) return 514; + if (Instrument == Instrument::Flute && Note == 8 && Powered) return 515; + if (Instrument == Instrument::Flute && Note == 8 && !Powered) return 516; + if (Instrument == Instrument::Flute && Note == 9 && Powered) return 517; + if (Instrument == Instrument::Flute && Note == 9 && !Powered) return 518; + if (Instrument == Instrument::Flute && Note == 10 && Powered) return 519; + if (Instrument == Instrument::Flute && Note == 10 && !Powered) return 520; + if (Instrument == Instrument::Flute && Note == 11 && Powered) return 521; + if (Instrument == Instrument::Flute && Note == 11 && !Powered) return 522; + if (Instrument == Instrument::Flute && Note == 12 && Powered) return 523; + if (Instrument == Instrument::Flute && Note == 12 && !Powered) return 524; + if (Instrument == Instrument::Flute && Note == 13 && Powered) return 525; + if (Instrument == Instrument::Flute && Note == 13 && !Powered) return 526; + if (Instrument == Instrument::Flute && Note == 14 && Powered) return 527; + if (Instrument == Instrument::Flute && Note == 14 && !Powered) return 528; + if (Instrument == Instrument::Flute && Note == 15 && Powered) return 529; + if (Instrument == Instrument::Flute && Note == 15 && !Powered) return 530; + if (Instrument == Instrument::Flute && Note == 16 && Powered) return 531; + if (Instrument == Instrument::Flute && Note == 16 && !Powered) return 532; + if (Instrument == Instrument::Flute && Note == 17 && Powered) return 533; + if (Instrument == Instrument::Flute && Note == 17 && !Powered) return 534; + if (Instrument == Instrument::Flute && Note == 18 && Powered) return 535; + if (Instrument == Instrument::Flute && Note == 18 && !Powered) return 536; + if (Instrument == Instrument::Flute && Note == 19 && Powered) return 537; + if (Instrument == Instrument::Flute && Note == 19 && !Powered) return 538; + if (Instrument == Instrument::Flute && Note == 20 && Powered) return 539; + if (Instrument == Instrument::Flute && Note == 20 && !Powered) return 540; + if (Instrument == Instrument::Flute && Note == 21 && Powered) return 541; + if (Instrument == Instrument::Flute && Note == 21 && !Powered) return 542; + if (Instrument == Instrument::Flute && Note == 22 && Powered) return 543; + if (Instrument == Instrument::Flute && Note == 22 && !Powered) return 544; + if (Instrument == Instrument::Flute && Note == 23 && Powered) return 545; + if (Instrument == Instrument::Flute && Note == 23 && !Powered) return 546; + if (Instrument == Instrument::Flute && Note == 24 && Powered) return 547; + if (Instrument == Instrument::Flute && Note == 24 && !Powered) return 548; + if (Instrument == Instrument::Bell && Note == 0 && Powered) return 549; + if (Instrument == Instrument::Bell && Note == 0 && !Powered) return 550; + if (Instrument == Instrument::Bell && Note == 1 && Powered) return 551; + if (Instrument == Instrument::Bell && Note == 1 && !Powered) return 552; + if (Instrument == Instrument::Bell && Note == 2 && Powered) return 553; + if (Instrument == Instrument::Bell && Note == 2 && !Powered) return 554; + if (Instrument == Instrument::Bell && Note == 3 && Powered) return 555; + if (Instrument == Instrument::Bell && Note == 3 && !Powered) return 556; + if (Instrument == Instrument::Bell && Note == 4 && Powered) return 557; + if (Instrument == Instrument::Bell && Note == 4 && !Powered) return 558; + if (Instrument == Instrument::Bell && Note == 5 && Powered) return 559; + if (Instrument == Instrument::Bell && Note == 5 && !Powered) return 560; + if (Instrument == Instrument::Bell && Note == 6 && Powered) return 561; + if (Instrument == Instrument::Bell && Note == 6 && !Powered) return 562; + if (Instrument == Instrument::Bell && Note == 7 && Powered) return 563; + if (Instrument == Instrument::Bell && Note == 7 && !Powered) return 564; + if (Instrument == Instrument::Bell && Note == 8 && Powered) return 565; + if (Instrument == Instrument::Bell && Note == 8 && !Powered) return 566; + if (Instrument == Instrument::Bell && Note == 9 && Powered) return 567; + if (Instrument == Instrument::Bell && Note == 9 && !Powered) return 568; + if (Instrument == Instrument::Bell && Note == 10 && Powered) return 569; + if (Instrument == Instrument::Bell && Note == 10 && !Powered) return 570; + if (Instrument == Instrument::Bell && Note == 11 && Powered) return 571; + if (Instrument == Instrument::Bell && Note == 11 && !Powered) return 572; + if (Instrument == Instrument::Bell && Note == 12 && Powered) return 573; + if (Instrument == Instrument::Bell && Note == 12 && !Powered) return 574; + if (Instrument == Instrument::Bell && Note == 13 && Powered) return 575; + if (Instrument == Instrument::Bell && Note == 13 && !Powered) return 576; + if (Instrument == Instrument::Bell && Note == 14 && Powered) return 577; + if (Instrument == Instrument::Bell && Note == 14 && !Powered) return 578; + if (Instrument == Instrument::Bell && Note == 15 && Powered) return 579; + if (Instrument == Instrument::Bell && Note == 15 && !Powered) return 580; + if (Instrument == Instrument::Bell && Note == 16 && Powered) return 581; + if (Instrument == Instrument::Bell && Note == 16 && !Powered) return 582; + if (Instrument == Instrument::Bell && Note == 17 && Powered) return 583; + if (Instrument == Instrument::Bell && Note == 17 && !Powered) return 584; + if (Instrument == Instrument::Bell && Note == 18 && Powered) return 585; + if (Instrument == Instrument::Bell && Note == 18 && !Powered) return 586; + if (Instrument == Instrument::Bell && Note == 19 && Powered) return 587; + if (Instrument == Instrument::Bell && Note == 19 && !Powered) return 588; + if (Instrument == Instrument::Bell && Note == 20 && Powered) return 589; + if (Instrument == Instrument::Bell && Note == 20 && !Powered) return 590; + if (Instrument == Instrument::Bell && Note == 21 && Powered) return 591; + if (Instrument == Instrument::Bell && Note == 21 && !Powered) return 592; + if (Instrument == Instrument::Bell && Note == 22 && Powered) return 593; + if (Instrument == Instrument::Bell && Note == 22 && !Powered) return 594; + if (Instrument == Instrument::Bell && Note == 23 && Powered) return 595; + if (Instrument == Instrument::Bell && Note == 23 && !Powered) return 596; + if (Instrument == Instrument::Bell && Note == 24 && Powered) return 597; + if (Instrument == Instrument::Bell && Note == 24 && !Powered) return 598; + if (Instrument == Instrument::Guitar && Note == 0 && Powered) return 599; + if (Instrument == Instrument::Guitar && Note == 0 && !Powered) return 600; + if (Instrument == Instrument::Guitar && Note == 1 && Powered) return 601; + if (Instrument == Instrument::Guitar && Note == 1 && !Powered) return 602; + if (Instrument == Instrument::Guitar && Note == 2 && Powered) return 603; + if (Instrument == Instrument::Guitar && Note == 2 && !Powered) return 604; + if (Instrument == Instrument::Guitar && Note == 3 && Powered) return 605; + if (Instrument == Instrument::Guitar && Note == 3 && !Powered) return 606; + if (Instrument == Instrument::Guitar && Note == 4 && Powered) return 607; + if (Instrument == Instrument::Guitar && Note == 4 && !Powered) return 608; + if (Instrument == Instrument::Guitar && Note == 5 && Powered) return 609; + if (Instrument == Instrument::Guitar && Note == 5 && !Powered) return 610; + if (Instrument == Instrument::Guitar && Note == 6 && Powered) return 611; + if (Instrument == Instrument::Guitar && Note == 6 && !Powered) return 612; + if (Instrument == Instrument::Guitar && Note == 7 && Powered) return 613; + if (Instrument == Instrument::Guitar && Note == 7 && !Powered) return 614; + if (Instrument == Instrument::Guitar && Note == 8 && Powered) return 615; + if (Instrument == Instrument::Guitar && Note == 8 && !Powered) return 616; + if (Instrument == Instrument::Guitar && Note == 9 && Powered) return 617; + if (Instrument == Instrument::Guitar && Note == 9 && !Powered) return 618; + if (Instrument == Instrument::Guitar && Note == 10 && Powered) return 619; + if (Instrument == Instrument::Guitar && Note == 10 && !Powered) return 620; + if (Instrument == Instrument::Guitar && Note == 11 && Powered) return 621; + if (Instrument == Instrument::Guitar && Note == 11 && !Powered) return 622; + if (Instrument == Instrument::Guitar && Note == 12 && Powered) return 623; + if (Instrument == Instrument::Guitar && Note == 12 && !Powered) return 624; + if (Instrument == Instrument::Guitar && Note == 13 && Powered) return 625; + if (Instrument == Instrument::Guitar && Note == 13 && !Powered) return 626; + if (Instrument == Instrument::Guitar && Note == 14 && Powered) return 627; + if (Instrument == Instrument::Guitar && Note == 14 && !Powered) return 628; + if (Instrument == Instrument::Guitar && Note == 15 && Powered) return 629; + if (Instrument == Instrument::Guitar && Note == 15 && !Powered) return 630; + if (Instrument == Instrument::Guitar && Note == 16 && Powered) return 631; + if (Instrument == Instrument::Guitar && Note == 16 && !Powered) return 632; + if (Instrument == Instrument::Guitar && Note == 17 && Powered) return 633; + if (Instrument == Instrument::Guitar && Note == 17 && !Powered) return 634; + if (Instrument == Instrument::Guitar && Note == 18 && Powered) return 635; + if (Instrument == Instrument::Guitar && Note == 18 && !Powered) return 636; + if (Instrument == Instrument::Guitar && Note == 19 && Powered) return 637; + if (Instrument == Instrument::Guitar && Note == 19 && !Powered) return 638; + if (Instrument == Instrument::Guitar && Note == 20 && Powered) return 639; + if (Instrument == Instrument::Guitar && Note == 20 && !Powered) return 640; + if (Instrument == Instrument::Guitar && Note == 21 && Powered) return 641; + if (Instrument == Instrument::Guitar && Note == 21 && !Powered) return 642; + if (Instrument == Instrument::Guitar && Note == 22 && Powered) return 643; + if (Instrument == Instrument::Guitar && Note == 22 && !Powered) return 644; + if (Instrument == Instrument::Guitar && Note == 23 && Powered) return 645; + if (Instrument == Instrument::Guitar && Note == 23 && !Powered) return 646; + if (Instrument == Instrument::Guitar && Note == 24 && Powered) return 647; + if (Instrument == Instrument::Guitar && Note == 24 && !Powered) return 648; + if (Instrument == Instrument::Chime && Note == 0 && Powered) return 649; + if (Instrument == Instrument::Chime && Note == 0 && !Powered) return 650; + if (Instrument == Instrument::Chime && Note == 1 && Powered) return 651; + if (Instrument == Instrument::Chime && Note == 1 && !Powered) return 652; + if (Instrument == Instrument::Chime && Note == 2 && Powered) return 653; + if (Instrument == Instrument::Chime && Note == 2 && !Powered) return 654; + if (Instrument == Instrument::Chime && Note == 3 && Powered) return 655; + if (Instrument == Instrument::Chime && Note == 3 && !Powered) return 656; + if (Instrument == Instrument::Chime && Note == 4 && Powered) return 657; + if (Instrument == Instrument::Chime && Note == 4 && !Powered) return 658; + if (Instrument == Instrument::Chime && Note == 5 && Powered) return 659; + if (Instrument == Instrument::Chime && Note == 5 && !Powered) return 660; + if (Instrument == Instrument::Chime && Note == 6 && Powered) return 661; + if (Instrument == Instrument::Chime && Note == 6 && !Powered) return 662; + if (Instrument == Instrument::Chime && Note == 7 && Powered) return 663; + if (Instrument == Instrument::Chime && Note == 7 && !Powered) return 664; + if (Instrument == Instrument::Chime && Note == 8 && Powered) return 665; + if (Instrument == Instrument::Chime && Note == 8 && !Powered) return 666; + if (Instrument == Instrument::Chime && Note == 9 && Powered) return 667; + if (Instrument == Instrument::Chime && Note == 9 && !Powered) return 668; + if (Instrument == Instrument::Chime && Note == 10 && Powered) return 669; + if (Instrument == Instrument::Chime && Note == 10 && !Powered) return 670; + if (Instrument == Instrument::Chime && Note == 11 && Powered) return 671; + if (Instrument == Instrument::Chime && Note == 11 && !Powered) return 672; + if (Instrument == Instrument::Chime && Note == 12 && Powered) return 673; + if (Instrument == Instrument::Chime && Note == 12 && !Powered) return 674; + if (Instrument == Instrument::Chime && Note == 13 && Powered) return 675; + if (Instrument == Instrument::Chime && Note == 13 && !Powered) return 676; + if (Instrument == Instrument::Chime && Note == 14 && Powered) return 677; + if (Instrument == Instrument::Chime && Note == 14 && !Powered) return 678; + if (Instrument == Instrument::Chime && Note == 15 && Powered) return 679; + if (Instrument == Instrument::Chime && Note == 15 && !Powered) return 680; + if (Instrument == Instrument::Chime && Note == 16 && Powered) return 681; + if (Instrument == Instrument::Chime && Note == 16 && !Powered) return 682; + if (Instrument == Instrument::Chime && Note == 17 && Powered) return 683; + if (Instrument == Instrument::Chime && Note == 17 && !Powered) return 684; + if (Instrument == Instrument::Chime && Note == 18 && Powered) return 685; + if (Instrument == Instrument::Chime && Note == 18 && !Powered) return 686; + if (Instrument == Instrument::Chime && Note == 19 && Powered) return 687; + if (Instrument == Instrument::Chime && Note == 19 && !Powered) return 688; + if (Instrument == Instrument::Chime && Note == 20 && Powered) return 689; + if (Instrument == Instrument::Chime && Note == 20 && !Powered) return 690; + if (Instrument == Instrument::Chime && Note == 21 && Powered) return 691; + if (Instrument == Instrument::Chime && Note == 21 && !Powered) return 692; + if (Instrument == Instrument::Chime && Note == 22 && Powered) return 693; + if (Instrument == Instrument::Chime && Note == 22 && !Powered) return 694; + if (Instrument == Instrument::Chime && Note == 23 && Powered) return 695; + if (Instrument == Instrument::Chime && Note == 23 && !Powered) return 696; + if (Instrument == Instrument::Chime && Note == 24 && Powered) return 697; + if (Instrument == Instrument::Chime && Note == 24 && !Powered) return 698; + if (Instrument == Instrument::Xylophone && Note == 0 && Powered) return 699; + if (Instrument == Instrument::Xylophone && Note == 0 && !Powered) return 700; + if (Instrument == Instrument::Xylophone && Note == 1 && Powered) return 701; + if (Instrument == Instrument::Xylophone && Note == 1 && !Powered) return 702; + if (Instrument == Instrument::Xylophone && Note == 2 && Powered) return 703; + if (Instrument == Instrument::Xylophone && Note == 2 && !Powered) return 704; + if (Instrument == Instrument::Xylophone && Note == 3 && Powered) return 705; + if (Instrument == Instrument::Xylophone && Note == 3 && !Powered) return 706; + if (Instrument == Instrument::Xylophone && Note == 4 && Powered) return 707; + if (Instrument == Instrument::Xylophone && Note == 4 && !Powered) return 708; + if (Instrument == Instrument::Xylophone && Note == 5 && Powered) return 709; + if (Instrument == Instrument::Xylophone && Note == 5 && !Powered) return 710; + if (Instrument == Instrument::Xylophone && Note == 6 && Powered) return 711; + if (Instrument == Instrument::Xylophone && Note == 6 && !Powered) return 712; + if (Instrument == Instrument::Xylophone && Note == 7 && Powered) return 713; + if (Instrument == Instrument::Xylophone && Note == 7 && !Powered) return 714; + if (Instrument == Instrument::Xylophone && Note == 8 && Powered) return 715; + if (Instrument == Instrument::Xylophone && Note == 8 && !Powered) return 716; + if (Instrument == Instrument::Xylophone && Note == 9 && Powered) return 717; + if (Instrument == Instrument::Xylophone && Note == 9 && !Powered) return 718; + if (Instrument == Instrument::Xylophone && Note == 10 && Powered) return 719; + if (Instrument == Instrument::Xylophone && Note == 10 && !Powered) return 720; + if (Instrument == Instrument::Xylophone && Note == 11 && Powered) return 721; + if (Instrument == Instrument::Xylophone && Note == 11 && !Powered) return 722; + if (Instrument == Instrument::Xylophone && Note == 12 && Powered) return 723; + if (Instrument == Instrument::Xylophone && Note == 12 && !Powered) return 724; + if (Instrument == Instrument::Xylophone && Note == 13 && Powered) return 725; + if (Instrument == Instrument::Xylophone && Note == 13 && !Powered) return 726; + if (Instrument == Instrument::Xylophone && Note == 14 && Powered) return 727; + if (Instrument == Instrument::Xylophone && Note == 14 && !Powered) return 728; + if (Instrument == Instrument::Xylophone && Note == 15 && Powered) return 729; + if (Instrument == Instrument::Xylophone && Note == 15 && !Powered) return 730; + if (Instrument == Instrument::Xylophone && Note == 16 && Powered) return 731; + if (Instrument == Instrument::Xylophone && Note == 16 && !Powered) return 732; + if (Instrument == Instrument::Xylophone && Note == 17 && Powered) return 733; + if (Instrument == Instrument::Xylophone && Note == 17 && !Powered) return 734; + if (Instrument == Instrument::Xylophone && Note == 18 && Powered) return 735; + if (Instrument == Instrument::Xylophone && Note == 18 && !Powered) return 736; + if (Instrument == Instrument::Xylophone && Note == 19 && Powered) return 737; + if (Instrument == Instrument::Xylophone && Note == 19 && !Powered) return 738; + if (Instrument == Instrument::Xylophone && Note == 20 && Powered) return 739; + if (Instrument == Instrument::Xylophone && Note == 20 && !Powered) return 740; + if (Instrument == Instrument::Xylophone && Note == 21 && Powered) return 741; + if (Instrument == Instrument::Xylophone && Note == 21 && !Powered) return 742; + if (Instrument == Instrument::Xylophone && Note == 22 && Powered) return 743; + if (Instrument == Instrument::Xylophone && Note == 22 && !Powered) return 744; + if (Instrument == Instrument::Xylophone && Note == 23 && Powered) return 745; + if (Instrument == Instrument::Xylophone && Note == 23 && !Powered) return 746; + if (Instrument == Instrument::Xylophone && Note == 24 && Powered) return 747; + if (Instrument == Instrument::Xylophone && Note == 24 && !Powered) return 748; + if (Instrument == Instrument::IronXylophone && Note == 0 && Powered) return 749; + if (Instrument == Instrument::IronXylophone && Note == 0 && !Powered) return 750; + if (Instrument == Instrument::IronXylophone && Note == 1 && Powered) return 751; + if (Instrument == Instrument::IronXylophone && Note == 1 && !Powered) return 752; + if (Instrument == Instrument::IronXylophone && Note == 2 && Powered) return 753; + if (Instrument == Instrument::IronXylophone && Note == 2 && !Powered) return 754; + if (Instrument == Instrument::IronXylophone && Note == 3 && Powered) return 755; + if (Instrument == Instrument::IronXylophone && Note == 3 && !Powered) return 756; + if (Instrument == Instrument::IronXylophone && Note == 4 && Powered) return 757; + if (Instrument == Instrument::IronXylophone && Note == 4 && !Powered) return 758; + if (Instrument == Instrument::IronXylophone && Note == 5 && Powered) return 759; + if (Instrument == Instrument::IronXylophone && Note == 5 && !Powered) return 760; + if (Instrument == Instrument::IronXylophone && Note == 6 && Powered) return 761; + if (Instrument == Instrument::IronXylophone && Note == 6 && !Powered) return 762; + if (Instrument == Instrument::IronXylophone && Note == 7 && Powered) return 763; + if (Instrument == Instrument::IronXylophone && Note == 7 && !Powered) return 764; + if (Instrument == Instrument::IronXylophone && Note == 8 && Powered) return 765; + if (Instrument == Instrument::IronXylophone && Note == 8 && !Powered) return 766; + if (Instrument == Instrument::IronXylophone && Note == 9 && Powered) return 767; + if (Instrument == Instrument::IronXylophone && Note == 9 && !Powered) return 768; + if (Instrument == Instrument::IronXylophone && Note == 10 && Powered) return 769; + if (Instrument == Instrument::IronXylophone && Note == 10 && !Powered) return 770; + if (Instrument == Instrument::IronXylophone && Note == 11 && Powered) return 771; + if (Instrument == Instrument::IronXylophone && Note == 11 && !Powered) return 772; + if (Instrument == Instrument::IronXylophone && Note == 12 && Powered) return 773; + if (Instrument == Instrument::IronXylophone && Note == 12 && !Powered) return 774; + if (Instrument == Instrument::IronXylophone && Note == 13 && Powered) return 775; + if (Instrument == Instrument::IronXylophone && Note == 13 && !Powered) return 776; + if (Instrument == Instrument::IronXylophone && Note == 14 && Powered) return 777; + if (Instrument == Instrument::IronXylophone && Note == 14 && !Powered) return 778; + if (Instrument == Instrument::IronXylophone && Note == 15 && Powered) return 779; + if (Instrument == Instrument::IronXylophone && Note == 15 && !Powered) return 780; + if (Instrument == Instrument::IronXylophone && Note == 16 && Powered) return 781; + if (Instrument == Instrument::IronXylophone && Note == 16 && !Powered) return 782; + if (Instrument == Instrument::IronXylophone && Note == 17 && Powered) return 783; + if (Instrument == Instrument::IronXylophone && Note == 17 && !Powered) return 784; + if (Instrument == Instrument::IronXylophone && Note == 18 && Powered) return 785; + if (Instrument == Instrument::IronXylophone && Note == 18 && !Powered) return 786; + if (Instrument == Instrument::IronXylophone && Note == 19 && Powered) return 787; + if (Instrument == Instrument::IronXylophone && Note == 19 && !Powered) return 788; + if (Instrument == Instrument::IronXylophone && Note == 20 && Powered) return 789; + if (Instrument == Instrument::IronXylophone && Note == 20 && !Powered) return 790; + if (Instrument == Instrument::IronXylophone && Note == 21 && Powered) return 791; + if (Instrument == Instrument::IronXylophone && Note == 21 && !Powered) return 792; + if (Instrument == Instrument::IronXylophone && Note == 22 && Powered) return 793; + if (Instrument == Instrument::IronXylophone && Note == 22 && !Powered) return 794; + if (Instrument == Instrument::IronXylophone && Note == 23 && Powered) return 795; + if (Instrument == Instrument::IronXylophone && Note == 23 && !Powered) return 796; + if (Instrument == Instrument::IronXylophone && Note == 24 && Powered) return 797; + if (Instrument == Instrument::IronXylophone && Note == 24 && !Powered) return 798; + if (Instrument == Instrument::CowBell && Note == 0 && Powered) return 799; + if (Instrument == Instrument::CowBell && Note == 0 && !Powered) return 800; + if (Instrument == Instrument::CowBell && Note == 1 && Powered) return 801; + if (Instrument == Instrument::CowBell && Note == 1 && !Powered) return 802; + if (Instrument == Instrument::CowBell && Note == 2 && Powered) return 803; + if (Instrument == Instrument::CowBell && Note == 2 && !Powered) return 804; + if (Instrument == Instrument::CowBell && Note == 3 && Powered) return 805; + if (Instrument == Instrument::CowBell && Note == 3 && !Powered) return 806; + if (Instrument == Instrument::CowBell && Note == 4 && Powered) return 807; + if (Instrument == Instrument::CowBell && Note == 4 && !Powered) return 808; + if (Instrument == Instrument::CowBell && Note == 5 && Powered) return 809; + if (Instrument == Instrument::CowBell && Note == 5 && !Powered) return 810; + if (Instrument == Instrument::CowBell && Note == 6 && Powered) return 811; + if (Instrument == Instrument::CowBell && Note == 6 && !Powered) return 812; + if (Instrument == Instrument::CowBell && Note == 7 && Powered) return 813; + if (Instrument == Instrument::CowBell && Note == 7 && !Powered) return 814; + if (Instrument == Instrument::CowBell && Note == 8 && Powered) return 815; + if (Instrument == Instrument::CowBell && Note == 8 && !Powered) return 816; + if (Instrument == Instrument::CowBell && Note == 9 && Powered) return 817; + if (Instrument == Instrument::CowBell && Note == 9 && !Powered) return 818; + if (Instrument == Instrument::CowBell && Note == 10 && Powered) return 819; + if (Instrument == Instrument::CowBell && Note == 10 && !Powered) return 820; + if (Instrument == Instrument::CowBell && Note == 11 && Powered) return 821; + if (Instrument == Instrument::CowBell && Note == 11 && !Powered) return 822; + if (Instrument == Instrument::CowBell && Note == 12 && Powered) return 823; + if (Instrument == Instrument::CowBell && Note == 12 && !Powered) return 824; + if (Instrument == Instrument::CowBell && Note == 13 && Powered) return 825; + if (Instrument == Instrument::CowBell && Note == 13 && !Powered) return 826; + if (Instrument == Instrument::CowBell && Note == 14 && Powered) return 827; + if (Instrument == Instrument::CowBell && Note == 14 && !Powered) return 828; + if (Instrument == Instrument::CowBell && Note == 15 && Powered) return 829; + if (Instrument == Instrument::CowBell && Note == 15 && !Powered) return 830; + if (Instrument == Instrument::CowBell && Note == 16 && Powered) return 831; + if (Instrument == Instrument::CowBell && Note == 16 && !Powered) return 832; + if (Instrument == Instrument::CowBell && Note == 17 && Powered) return 833; + if (Instrument == Instrument::CowBell && Note == 17 && !Powered) return 834; + if (Instrument == Instrument::CowBell && Note == 18 && Powered) return 835; + if (Instrument == Instrument::CowBell && Note == 18 && !Powered) return 836; + if (Instrument == Instrument::CowBell && Note == 19 && Powered) return 837; + if (Instrument == Instrument::CowBell && Note == 19 && !Powered) return 838; + if (Instrument == Instrument::CowBell && Note == 20 && Powered) return 839; + if (Instrument == Instrument::CowBell && Note == 20 && !Powered) return 840; + if (Instrument == Instrument::CowBell && Note == 21 && Powered) return 841; + if (Instrument == Instrument::CowBell && Note == 21 && !Powered) return 842; + if (Instrument == Instrument::CowBell && Note == 22 && Powered) return 843; + if (Instrument == Instrument::CowBell && Note == 22 && !Powered) return 844; + if (Instrument == Instrument::CowBell && Note == 23 && Powered) return 845; + if (Instrument == Instrument::CowBell && Note == 23 && !Powered) return 846; + if (Instrument == Instrument::CowBell && Note == 24 && Powered) return 847; + if (Instrument == Instrument::CowBell && Note == 24 && !Powered) return 848; + if (Instrument == Instrument::Didgeridoo && Note == 0 && Powered) return 849; + if (Instrument == Instrument::Didgeridoo && Note == 0 && !Powered) return 850; + if (Instrument == Instrument::Didgeridoo && Note == 1 && Powered) return 851; + if (Instrument == Instrument::Didgeridoo && Note == 1 && !Powered) return 852; + if (Instrument == Instrument::Didgeridoo && Note == 2 && Powered) return 853; + if (Instrument == Instrument::Didgeridoo && Note == 2 && !Powered) return 854; + if (Instrument == Instrument::Didgeridoo && Note == 3 && Powered) return 855; + if (Instrument == Instrument::Didgeridoo && Note == 3 && !Powered) return 856; + if (Instrument == Instrument::Didgeridoo && Note == 4 && Powered) return 857; + if (Instrument == Instrument::Didgeridoo && Note == 4 && !Powered) return 858; + if (Instrument == Instrument::Didgeridoo && Note == 5 && Powered) return 859; + if (Instrument == Instrument::Didgeridoo && Note == 5 && !Powered) return 860; + if (Instrument == Instrument::Didgeridoo && Note == 6 && Powered) return 861; + if (Instrument == Instrument::Didgeridoo && Note == 6 && !Powered) return 862; + if (Instrument == Instrument::Didgeridoo && Note == 7 && Powered) return 863; + if (Instrument == Instrument::Didgeridoo && Note == 7 && !Powered) return 864; + if (Instrument == Instrument::Didgeridoo && Note == 8 && Powered) return 865; + if (Instrument == Instrument::Didgeridoo && Note == 8 && !Powered) return 866; + if (Instrument == Instrument::Didgeridoo && Note == 9 && Powered) return 867; + if (Instrument == Instrument::Didgeridoo && Note == 9 && !Powered) return 868; + if (Instrument == Instrument::Didgeridoo && Note == 10 && Powered) return 869; + if (Instrument == Instrument::Didgeridoo && Note == 10 && !Powered) return 870; + if (Instrument == Instrument::Didgeridoo && Note == 11 && Powered) return 871; + if (Instrument == Instrument::Didgeridoo && Note == 11 && !Powered) return 872; + if (Instrument == Instrument::Didgeridoo && Note == 12 && Powered) return 873; + if (Instrument == Instrument::Didgeridoo && Note == 12 && !Powered) return 874; + if (Instrument == Instrument::Didgeridoo && Note == 13 && Powered) return 875; + if (Instrument == Instrument::Didgeridoo && Note == 13 && !Powered) return 876; + if (Instrument == Instrument::Didgeridoo && Note == 14 && Powered) return 877; + if (Instrument == Instrument::Didgeridoo && Note == 14 && !Powered) return 878; + if (Instrument == Instrument::Didgeridoo && Note == 15 && Powered) return 879; + if (Instrument == Instrument::Didgeridoo && Note == 15 && !Powered) return 880; + if (Instrument == Instrument::Didgeridoo && Note == 16 && Powered) return 881; + if (Instrument == Instrument::Didgeridoo && Note == 16 && !Powered) return 882; + if (Instrument == Instrument::Didgeridoo && Note == 17 && Powered) return 883; + if (Instrument == Instrument::Didgeridoo && Note == 17 && !Powered) return 884; + if (Instrument == Instrument::Didgeridoo && Note == 18 && Powered) return 885; + if (Instrument == Instrument::Didgeridoo && Note == 18 && !Powered) return 886; + if (Instrument == Instrument::Didgeridoo && Note == 19 && Powered) return 887; + if (Instrument == Instrument::Didgeridoo && Note == 19 && !Powered) return 888; + if (Instrument == Instrument::Didgeridoo && Note == 20 && Powered) return 889; + if (Instrument == Instrument::Didgeridoo && Note == 20 && !Powered) return 890; + if (Instrument == Instrument::Didgeridoo && Note == 21 && Powered) return 891; + if (Instrument == Instrument::Didgeridoo && Note == 21 && !Powered) return 892; + if (Instrument == Instrument::Didgeridoo && Note == 22 && Powered) return 893; + if (Instrument == Instrument::Didgeridoo && Note == 22 && !Powered) return 894; + if (Instrument == Instrument::Didgeridoo && Note == 23 && Powered) return 895; + if (Instrument == Instrument::Didgeridoo && Note == 23 && !Powered) return 896; + if (Instrument == Instrument::Didgeridoo && Note == 24 && Powered) return 897; + if (Instrument == Instrument::Didgeridoo && Note == 24 && !Powered) return 898; + if (Instrument == Instrument::Bit && Note == 0 && Powered) return 899; + if (Instrument == Instrument::Bit && Note == 0 && !Powered) return 900; + if (Instrument == Instrument::Bit && Note == 1 && Powered) return 901; + if (Instrument == Instrument::Bit && Note == 1 && !Powered) return 902; + if (Instrument == Instrument::Bit && Note == 2 && Powered) return 903; + if (Instrument == Instrument::Bit && Note == 2 && !Powered) return 904; + if (Instrument == Instrument::Bit && Note == 3 && Powered) return 905; + if (Instrument == Instrument::Bit && Note == 3 && !Powered) return 906; + if (Instrument == Instrument::Bit && Note == 4 && Powered) return 907; + if (Instrument == Instrument::Bit && Note == 4 && !Powered) return 908; + if (Instrument == Instrument::Bit && Note == 5 && Powered) return 909; + if (Instrument == Instrument::Bit && Note == 5 && !Powered) return 910; + if (Instrument == Instrument::Bit && Note == 6 && Powered) return 911; + if (Instrument == Instrument::Bit && Note == 6 && !Powered) return 912; + if (Instrument == Instrument::Bit && Note == 7 && Powered) return 913; + if (Instrument == Instrument::Bit && Note == 7 && !Powered) return 914; + if (Instrument == Instrument::Bit && Note == 8 && Powered) return 915; + if (Instrument == Instrument::Bit && Note == 8 && !Powered) return 916; + if (Instrument == Instrument::Bit && Note == 9 && Powered) return 917; + if (Instrument == Instrument::Bit && Note == 9 && !Powered) return 918; + if (Instrument == Instrument::Bit && Note == 10 && Powered) return 919; + if (Instrument == Instrument::Bit && Note == 10 && !Powered) return 920; + if (Instrument == Instrument::Bit && Note == 11 && Powered) return 921; + if (Instrument == Instrument::Bit && Note == 11 && !Powered) return 922; + if (Instrument == Instrument::Bit && Note == 12 && Powered) return 923; + if (Instrument == Instrument::Bit && Note == 12 && !Powered) return 924; + if (Instrument == Instrument::Bit && Note == 13 && Powered) return 925; + if (Instrument == Instrument::Bit && Note == 13 && !Powered) return 926; + if (Instrument == Instrument::Bit && Note == 14 && Powered) return 927; + if (Instrument == Instrument::Bit && Note == 14 && !Powered) return 928; + if (Instrument == Instrument::Bit && Note == 15 && Powered) return 929; + if (Instrument == Instrument::Bit && Note == 15 && !Powered) return 930; + if (Instrument == Instrument::Bit && Note == 16 && Powered) return 931; + if (Instrument == Instrument::Bit && Note == 16 && !Powered) return 932; + if (Instrument == Instrument::Bit && Note == 17 && Powered) return 933; + if (Instrument == Instrument::Bit && Note == 17 && !Powered) return 934; + if (Instrument == Instrument::Bit && Note == 18 && Powered) return 935; + if (Instrument == Instrument::Bit && Note == 18 && !Powered) return 936; + if (Instrument == Instrument::Bit && Note == 19 && Powered) return 937; + if (Instrument == Instrument::Bit && Note == 19 && !Powered) return 938; + if (Instrument == Instrument::Bit && Note == 20 && Powered) return 939; + if (Instrument == Instrument::Bit && Note == 20 && !Powered) return 940; + if (Instrument == Instrument::Bit && Note == 21 && Powered) return 941; + if (Instrument == Instrument::Bit && Note == 21 && !Powered) return 942; + if (Instrument == Instrument::Bit && Note == 22 && Powered) return 943; + if (Instrument == Instrument::Bit && Note == 22 && !Powered) return 944; + if (Instrument == Instrument::Bit && Note == 23 && Powered) return 945; + if (Instrument == Instrument::Bit && Note == 23 && !Powered) return 946; + if (Instrument == Instrument::Bit && Note == 24 && Powered) return 947; + if (Instrument == Instrument::Bit && Note == 24 && !Powered) return 948; + if (Instrument == Instrument::Banjo && Note == 0 && Powered) return 949; + if (Instrument == Instrument::Banjo && Note == 0 && !Powered) return 950; + if (Instrument == Instrument::Banjo && Note == 1 && Powered) return 951; + if (Instrument == Instrument::Banjo && Note == 1 && !Powered) return 952; + if (Instrument == Instrument::Banjo && Note == 2 && Powered) return 953; + if (Instrument == Instrument::Banjo && Note == 2 && !Powered) return 954; + if (Instrument == Instrument::Banjo && Note == 3 && Powered) return 955; + if (Instrument == Instrument::Banjo && Note == 3 && !Powered) return 956; + if (Instrument == Instrument::Banjo && Note == 4 && Powered) return 957; + if (Instrument == Instrument::Banjo && Note == 4 && !Powered) return 958; + if (Instrument == Instrument::Banjo && Note == 5 && Powered) return 959; + if (Instrument == Instrument::Banjo && Note == 5 && !Powered) return 960; + if (Instrument == Instrument::Banjo && Note == 6 && Powered) return 961; + if (Instrument == Instrument::Banjo && Note == 6 && !Powered) return 962; + if (Instrument == Instrument::Banjo && Note == 7 && Powered) return 963; + if (Instrument == Instrument::Banjo && Note == 7 && !Powered) return 964; + if (Instrument == Instrument::Banjo && Note == 8 && Powered) return 965; + if (Instrument == Instrument::Banjo && Note == 8 && !Powered) return 966; + if (Instrument == Instrument::Banjo && Note == 9 && Powered) return 967; + if (Instrument == Instrument::Banjo && Note == 9 && !Powered) return 968; + if (Instrument == Instrument::Banjo && Note == 10 && Powered) return 969; + if (Instrument == Instrument::Banjo && Note == 10 && !Powered) return 970; + if (Instrument == Instrument::Banjo && Note == 11 && Powered) return 971; + if (Instrument == Instrument::Banjo && Note == 11 && !Powered) return 972; + if (Instrument == Instrument::Banjo && Note == 12 && Powered) return 973; + if (Instrument == Instrument::Banjo && Note == 12 && !Powered) return 974; + if (Instrument == Instrument::Banjo && Note == 13 && Powered) return 975; + if (Instrument == Instrument::Banjo && Note == 13 && !Powered) return 976; + if (Instrument == Instrument::Banjo && Note == 14 && Powered) return 977; + if (Instrument == Instrument::Banjo && Note == 14 && !Powered) return 978; + if (Instrument == Instrument::Banjo && Note == 15 && Powered) return 979; + if (Instrument == Instrument::Banjo && Note == 15 && !Powered) return 980; + if (Instrument == Instrument::Banjo && Note == 16 && Powered) return 981; + if (Instrument == Instrument::Banjo && Note == 16 && !Powered) return 982; + if (Instrument == Instrument::Banjo && Note == 17 && Powered) return 983; + if (Instrument == Instrument::Banjo && Note == 17 && !Powered) return 984; + if (Instrument == Instrument::Banjo && Note == 18 && Powered) return 985; + if (Instrument == Instrument::Banjo && Note == 18 && !Powered) return 986; + if (Instrument == Instrument::Banjo && Note == 19 && Powered) return 987; + if (Instrument == Instrument::Banjo && Note == 19 && !Powered) return 988; + if (Instrument == Instrument::Banjo && Note == 20 && Powered) return 989; + if (Instrument == Instrument::Banjo && Note == 20 && !Powered) return 990; + if (Instrument == Instrument::Banjo && Note == 21 && Powered) return 991; + if (Instrument == Instrument::Banjo && Note == 21 && !Powered) return 992; + if (Instrument == Instrument::Banjo && Note == 22 && Powered) return 993; + if (Instrument == Instrument::Banjo && Note == 22 && !Powered) return 994; + if (Instrument == Instrument::Banjo && Note == 23 && Powered) return 995; + if (Instrument == Instrument::Banjo && Note == 23 && !Powered) return 996; + if (Instrument == Instrument::Banjo && Note == 24 && Powered) return 997; + if (Instrument == Instrument::Banjo && Note == 24 && !Powered) return 998; + if (Instrument == Instrument::Pling && Note == 0 && Powered) return 999; + if (Instrument == Instrument::Pling && Note == 0 && !Powered) return 1000; + if (Instrument == Instrument::Pling && Note == 1 && Powered) return 1001; + if (Instrument == Instrument::Pling && Note == 1 && !Powered) return 1002; + if (Instrument == Instrument::Pling && Note == 2 && Powered) return 1003; + if (Instrument == Instrument::Pling && Note == 2 && !Powered) return 1004; + if (Instrument == Instrument::Pling && Note == 3 && Powered) return 1005; + if (Instrument == Instrument::Pling && Note == 3 && !Powered) return 1006; + if (Instrument == Instrument::Pling && Note == 4 && Powered) return 1007; + if (Instrument == Instrument::Pling && Note == 4 && !Powered) return 1008; + if (Instrument == Instrument::Pling && Note == 5 && Powered) return 1009; + if (Instrument == Instrument::Pling && Note == 5 && !Powered) return 1010; + if (Instrument == Instrument::Pling && Note == 6 && Powered) return 1011; + if (Instrument == Instrument::Pling && Note == 6 && !Powered) return 1012; + if (Instrument == Instrument::Pling && Note == 7 && Powered) return 1013; + if (Instrument == Instrument::Pling && Note == 7 && !Powered) return 1014; + if (Instrument == Instrument::Pling && Note == 8 && Powered) return 1015; + if (Instrument == Instrument::Pling && Note == 8 && !Powered) return 1016; + if (Instrument == Instrument::Pling && Note == 9 && Powered) return 1017; + if (Instrument == Instrument::Pling && Note == 9 && !Powered) return 1018; + if (Instrument == Instrument::Pling && Note == 10 && Powered) return 1019; + if (Instrument == Instrument::Pling && Note == 10 && !Powered) return 1020; + if (Instrument == Instrument::Pling && Note == 11 && Powered) return 1021; + if (Instrument == Instrument::Pling && Note == 11 && !Powered) return 1022; + if (Instrument == Instrument::Pling && Note == 12 && Powered) return 1023; + if (Instrument == Instrument::Pling && Note == 12 && !Powered) return 1024; + if (Instrument == Instrument::Pling && Note == 23 && Powered) return 1045; + if (Instrument == Instrument::Pling && Note == 23 && !Powered) return 1046; + if (Instrument == Instrument::Pling && Note == 24 && Powered) return 1047; + if (Instrument == Instrument::Pling && Note == 24 && !Powered) return 1048; + if (Instrument == Instrument::Pling && Note == 13 && Powered) return 1025; + if (Instrument == Instrument::Pling && Note == 13 && !Powered) return 1026; + if (Instrument == Instrument::Pling && Note == 14 && Powered) return 1027; + if (Instrument == Instrument::Pling && Note == 14 && !Powered) return 1028; + if (Instrument == Instrument::Pling && Note == 15 && Powered) return 1029; + if (Instrument == Instrument::Pling && Note == 15 && !Powered) return 1030; + if (Instrument == Instrument::Pling && Note == 16 && Powered) return 1031; + if (Instrument == Instrument::Pling && Note == 16 && !Powered) return 1032; + if (Instrument == Instrument::Pling && Note == 17 && Powered) return 1033; + if (Instrument == Instrument::Pling && Note == 17 && !Powered) return 1034; + if (Instrument == Instrument::Pling && Note == 18 && Powered) return 1035; + if (Instrument == Instrument::Pling && Note == 18 && !Powered) return 1036; + if (Instrument == Instrument::Pling && Note == 19 && Powered) return 1037; + if (Instrument == Instrument::Pling && Note == 19 && !Powered) return 1038; + if (Instrument == Instrument::Pling && Note == 20 && Powered) return 1039; + if (Instrument == Instrument::Pling && Note == 20 && !Powered) return 1040; + if (Instrument == Instrument::Pling && Note == 21 && Powered) return 1041; + if (Instrument == Instrument::Pling && Note == 21 && !Powered) return 1042; + if (Instrument == Instrument::Pling && Note == 22 && Powered) return 1043; + return 1044; + } + short NoteBlock(); + enum Instrument Instrument(short ID); + unsigned char Note(short ID); + bool Powered(short ID); + } + namespace OakButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short OakButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6346; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6350; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6354; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6358; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6362; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6366; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6347; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6351; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6355; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6359; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6363; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6367; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6348; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6352; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6356; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6360; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6364; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6368; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6349; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6353; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6357; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6361; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6365; + return 6369; + } + short OakButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace OakDoor + { + enum class Half + { + Upper, + Lower + }; + enum class Hinge + { + Left, + Right + }; + constexpr short OakDoor(eBlockFace Facing, enum Half Half, enum Hinge Hinge, bool Open, bool Powered) + { + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 3610; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 3618; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 3626; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 3634; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 3579; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 3587; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 3595; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 3603; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 3611; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 3619; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 3627; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 3635; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 3580; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 3588; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 3596; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 3604; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 3612; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 3620; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Right) return 3628; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 3573; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 3581; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 3589; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 3597; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 3605; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 3613; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 3621; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 3629; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 3574; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 3582; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 3590; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 3598; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 3606; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 3614; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 3622; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 3630; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 3575; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 3583; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 3591; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 3599; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 3607; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 3615; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 3623; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 3631; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 3576; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 3584; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 3592; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 3600; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 3608; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 3616; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 3624; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 3632; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 3577; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 3585; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 3593; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 3601; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 3609; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 3617; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 3625; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 3633; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 3578; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 3586; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 3594; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 3602; + return 3636; + } + short OakDoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Hinge Hinge(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace OakFence + { + constexpr short OakFence(bool East, bool North, bool South, bool West) + { + if (false && !South && !West && East && !North) return 3979; + if (!false && !South && !West && East && !North) return 3981; + if (false && South && !West && !East && North) return 3983; + if (!false && South && !West && !East && North) return 3985; + if (false && !South && !West && !East && North) return 3987; + if (!false && !South && !West && !East && North) return 3989; + if (false && South && !West && !East && !North) return 3991; + if (!false && South && !West && !East && !North) return 3993; + if (false && !South && !West && !East && !North) return 3995; + if (false && South && West && East && North) return 3966; + if (!false && South && West && East && North) return 3968; + if (false && !South && West && East && North) return 3970; + if (!false && !South && West && East && North) return 3972; + if (false && South && West && East && !North) return 3974; + if (!false && South && West && East && !North) return 3976; + if (false && !South && West && East && !North) return 3978; + if (!false && !South && West && East && !North) return 3980; + if (false && South && West && !East && North) return 3982; + if (!false && South && West && !East && North) return 3984; + if (false && !South && West && !East && North) return 3986; + if (!false && !South && West && !East && North) return 3988; + if (false && South && West && !East && !North) return 3990; + if (!false && South && West && !East && !North) return 3992; + if (false && !South && West && !East && !North) return 3994; + if (!false && !South && West && !East && !North) return 3996; + if (false && South && !West && East && North) return 3967; + if (!false && South && !West && East && North) return 3969; + if (false && !South && !West && East && North) return 3971; + if (!false && !South && !West && East && North) return 3973; + if (false && South && !West && East && !North) return 3975; + if (!false && South && !West && East && !North) return 3977; + return 3997; + } + short OakFence(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace OakFenceGate + { + constexpr short OakFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) + { + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 4823; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 4827; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 4831; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 4835; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 4839; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 4843; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 4847; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 4820; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 4824; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 4828; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 4832; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 4836; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 4840; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 4844; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 4848; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 4821; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 4825; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 4829; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 4833; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 4837; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 4841; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 4845; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 4849; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 4822; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 4826; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 4830; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 4834; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 4838; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 4842; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 4846; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 4850; + return 4851; + } + short OakFenceGate(); + eBlockFace Facing(short ID); + bool InWall(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace OakLeaves + { + constexpr short OakLeaves(unsigned char Distance, bool Persistent) + { + if (Persistent && Distance == 5) return 153; + if (!Persistent && Distance == 1) return 146; + if (!Persistent && Distance == 5) return 154; + if (Persistent && Distance == 2) return 147; + if (Persistent && Distance == 6) return 155; + if (!Persistent && Distance == 2) return 148; + if (!Persistent && Distance == 6) return 156; + if (Persistent && Distance == 3) return 149; + if (Persistent && Distance == 7) return 157; + if (!Persistent && Distance == 3) return 150; + if (!Persistent && Distance == 7) return 158; + if (Persistent && Distance == 4) return 151; + if (!Persistent && Distance == 4) return 152; + return 145; + } + short OakLeaves(); + unsigned char Distance(short ID); + bool Persistent(short ID); + } + namespace OakLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short OakLog(enum Axis Axis) + { + if (Axis == Axis::X) return 73; + if (Axis == Axis::Y) return 74; + return 75; + } + short OakLog(); + enum Axis Axis(short ID); + } + namespace OakPlanks + { + constexpr short OakPlanks() + { + return 15; + } + } + namespace OakPressurePlate + { + constexpr short OakPressurePlate(bool Powered) + { + if (Powered) return 3873; + return 3874; + } + short OakPressurePlate(); + bool Powered(short ID); + } + namespace OakSapling + { + constexpr short OakSapling(unsigned char Stage) + { + if (Stage == 0) return 21; + return 22; + } + short OakSapling(); + unsigned char Stage(short ID); + } + namespace OakSign + { + constexpr short OakSign(unsigned char Rotation) + { + if (Rotation == 4 && !false) return 3390; + if (Rotation == 5 && !false) return 3392; + if (Rotation == 6 && !false) return 3394; + if (Rotation == 7 && !false) return 3396; + if (Rotation == 8 && !false) return 3398; + if (Rotation == 9 && !false) return 3400; + if (Rotation == 10 && !false) return 3402; + if (Rotation == 11 && !false) return 3404; + if (Rotation == 12 && !false) return 3406; + if (Rotation == 13 && !false) return 3408; + if (Rotation == 14 && !false) return 3410; + if (Rotation == 0 && false) return 3381; + if (Rotation == 1 && false) return 3383; + if (Rotation == 2 && false) return 3385; + if (Rotation == 3 && false) return 3387; + if (Rotation == 4 && false) return 3389; + if (Rotation == 5 && false) return 3391; + if (Rotation == 6 && false) return 3393; + if (Rotation == 7 && false) return 3395; + if (Rotation == 8 && false) return 3397; + if (Rotation == 9 && false) return 3399; + if (Rotation == 10 && false) return 3401; + if (Rotation == 11 && false) return 3403; + if (Rotation == 12 && false) return 3405; + if (Rotation == 13 && false) return 3407; + if (Rotation == 14 && false) return 3409; + if (Rotation == 15 && false) return 3411; + if (Rotation == 0 && !false) return 3382; + if (Rotation == 1 && !false) return 3384; + if (Rotation == 2 && !false) return 3386; + if (Rotation == 3 && !false) return 3388; + return 3412; + } + short OakSign(); + unsigned char Rotation(short ID); + bool Waterlogged(short ID); + } + namespace OakSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short OakSlab(enum Type Type) + { + if (Type == Type::Double && false) return 8304; + if (Type == Type::Top && !false) return 8301; + if (Type == Type::Double && !false) return 8305; + if (Type == Type::Bottom && false) return 8302; + if (Type == Type::Bottom && !false) return 8303; + return 8300; + } + short OakSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace OakStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short OakStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 2031; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1968; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1984; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 2000; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 2016; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 2032; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1969; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1985; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 2001; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 2017; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 2033; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1954; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 1970; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 1986; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 2002; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 2018; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1955; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 1971; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 1987; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 2003; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 2019; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 1956; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1972; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1988; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 2004; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 2020; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 1957; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1973; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1989; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 2005; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 2021; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1958; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1974; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 1990; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 2006; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 2022; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1959; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1975; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 1991; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 2007; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 2023; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 1960; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 1976; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1992; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 2008; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 2024; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 1961; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 1977; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1993; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 2009; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 2025; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1962; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1978; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 1994; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 2010; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 2026; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1963; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1979; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 1995; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 2011; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 2027; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1964; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 1980; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 1996; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 2012; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 2028; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 1965; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 1981; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 1997; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 2013; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 2029; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 1966; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1982; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 1998; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 2014; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 2030; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 1967; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 1983; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 1999; + return 2015; + } + short OakStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace OakTrapdoor + { + enum class Half + { + Top, + Bottom + }; + constexpr short OakTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) + { + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4132; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4148; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4164; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4117; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4133; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4149; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4165; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4118; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4134; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4150; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4166; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4119; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4135; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4151; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4167; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4120; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4136; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4152; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4168; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4121; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4137; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4153; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4169; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4122; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4138; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4154; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4170; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4123; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4139; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4155; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4171; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4124; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4140; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4156; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4172; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4125; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4141; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4157; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4173; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4126; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4142; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4158; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4111; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4127; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4143; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4159; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4112; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4128; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4144; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4160; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4113; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4129; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4145; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4161; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4114; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4130; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4146; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4162; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4115; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4131; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4147; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4163; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4116; + return 4174; + } + short OakTrapdoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + bool Open(short ID); + bool Powered(short ID); + bool Waterlogged(short ID); + } + namespace OakWallSign + { + constexpr short OakWallSign(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 3736; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 3737; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 3738; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 3739; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 3740; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 3741; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 3735; + return 3742; + } + short OakWallSign(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace OakWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short OakWood(enum Axis Axis) + { + if (Axis == Axis::X) return 109; + if (Axis == Axis::Y) return 110; + return 111; + } + short OakWood(); + enum Axis Axis(short ID); + } + namespace Observer + { + constexpr short Observer(eBlockFace Facing, bool Powered) + { + if (Facing == eBlockFace::BLOCK_FACE_YM && Powered) return 9270; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 9261; + if (Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 9263; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 9265; + if (Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 9267; + if (Facing == eBlockFace::BLOCK_FACE_YP && !Powered) return 9269; + if (Facing == eBlockFace::BLOCK_FACE_YM && !Powered) return 9271; + if (Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 9260; + if (Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 9262; + if (Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 9264; + if (Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 9266; + return 9268; + } + short Observer(); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace Obsidian + { + constexpr short Obsidian() + { + return 1434; + } + } + namespace OrangeBanner + { + constexpr short OrangeBanner(unsigned char Rotation) + { + if (Rotation == 8) return 7921; + if (Rotation == 9) return 7922; + if (Rotation == 10) return 7923; + if (Rotation == 11) return 7924; + if (Rotation == 12) return 7925; + if (Rotation == 13) return 7926; + if (Rotation == 14) return 7927; + if (Rotation == 0) return 7913; + if (Rotation == 1) return 7914; + if (Rotation == 2) return 7915; + if (Rotation == 3) return 7916; + if (Rotation == 4) return 7917; + if (Rotation == 5) return 7918; + if (Rotation == 6) return 7919; + if (Rotation == 7) return 7920; + return 7928; + } + short OrangeBanner(); + unsigned char Rotation(short ID); + } + namespace OrangeBed + { + enum class Part + { + Head, + Foot + }; + constexpr short OrangeBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1077; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1066; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1070; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1074; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1078; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1067; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1071; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1075; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1079; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1068; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1072; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1076; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1065; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1069; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1073; + return 1080; + } + short OrangeBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace OrangeCarpet + { + constexpr short OrangeCarpet() + { + return 7867; + } + } + namespace OrangeConcrete + { + constexpr short OrangeConcrete() + { + return 9439; + } + } + namespace OrangeConcretePowder + { + constexpr short OrangeConcretePowder() + { + return 9455; + } + } + namespace OrangeGlazedTerracotta + { + constexpr short OrangeGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9378; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9380; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9379; + return 9381; + } + short OrangeGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace OrangeShulkerBox + { + constexpr short OrangeShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9284; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9288; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9285; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9289; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9286; + return 9287; + } + short OrangeShulkerBox(); + eBlockFace Facing(short ID); + } + namespace OrangeStainedGlass + { + constexpr short OrangeStainedGlass() + { + return 4096; + } + } + namespace OrangeStainedGlassPane + { + constexpr short OrangeStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (false && !South && !West && East && North) return 6900; + if (false && South && !West && East && !North) return 6904; + if (false && !South && !West && East && !North) return 6908; + if (false && South && !West && !East && North) return 6912; + if (false && !South && !West && !East && North) return 6916; + if (false && South && !West && !East && !North) return 6920; + if (false && !South && !West && !East && !North) return 6924; + if (!false && South && West && East && North) return 6897; + if (!false && !South && West && East && North) return 6901; + if (!false && South && West && East && !North) return 6905; + if (!false && !South && West && East && !North) return 6909; + if (!false && South && West && !East && North) return 6913; + if (!false && !South && West && !East && North) return 6917; + if (!false && South && West && !East && !North) return 6921; + if (!false && !South && West && !East && !North) return 6925; + if (!false && South && !West && East && North) return 6898; + if (!false && !South && !West && East && North) return 6902; + if (!false && South && !West && East && !North) return 6906; + if (!false && !South && !West && East && !North) return 6910; + if (!false && South && !West && !East && North) return 6914; + if (!false && !South && !West && !East && North) return 6918; + if (!false && South && !West && !East && !North) return 6922; + if (false && South && West && East && North) return 6895; + if (false && !South && West && East && North) return 6899; + if (false && South && West && East && !North) return 6903; + if (false && !South && West && East && !North) return 6907; + if (false && South && West && !East && North) return 6911; + if (false && !South && West && !East && North) return 6915; + if (false && South && West && !East && !North) return 6919; + if (false && !South && West && !East && !North) return 6923; + if (false && South && !West && East && North) return 6896; + return 6926; + } + short OrangeStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace OrangeTerracotta + { + constexpr short OrangeTerracotta() + { + return 6848; + } + } + namespace OrangeTulip + { + constexpr short OrangeTulip() + { + return 1418; + } + } + namespace OrangeWallBanner + { + constexpr short OrangeWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8158; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8159; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8157; + return 8160; + } + short OrangeWallBanner(); + eBlockFace Facing(short ID); + } + namespace OrangeWool + { + constexpr short OrangeWool() + { + return 1385; + } + } + namespace OxeyeDaisy + { + constexpr short OxeyeDaisy() + { + return 1421; + } + } + namespace PackedIce + { + constexpr short PackedIce() + { + return 7884; + } + } + namespace Peony + { + enum class Half + { + Upper, + Lower + }; + constexpr short Peony(enum Half Half) + { + if (Half == Half::Upper) return 7891; + return 7892; + } + short Peony(); + enum Half Half(short ID); + } + namespace PetrifiedOakSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short PetrifiedOakSlab(enum Type Type) + { + if (Type == Type::Top && false) return 8360; + if (Type == Type::Double && false) return 8364; + if (Type == Type::Top && !false) return 8361; + if (Type == Type::Double && !false) return 8365; + if (Type == Type::Bottom && false) return 8362; + return 8363; + } + short PetrifiedOakSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace PinkBanner + { + constexpr short PinkBanner(unsigned char Rotation) + { + if (Rotation == 3) return 7996; + if (Rotation == 4) return 7997; + if (Rotation == 5) return 7998; + if (Rotation == 6) return 7999; + if (Rotation == 7) return 8000; + if (Rotation == 8) return 8001; + if (Rotation == 9) return 8002; + if (Rotation == 10) return 8003; + if (Rotation == 11) return 8004; + if (Rotation == 12) return 8005; + if (Rotation == 13) return 8006; + if (Rotation == 14) return 8007; + if (Rotation == 0) return 7993; + if (Rotation == 1) return 7994; + if (Rotation == 2) return 7995; + return 8008; + } + short PinkBanner(); + unsigned char Rotation(short ID); + } + namespace PinkBed + { + enum class Part + { + Head, + Foot + }; + constexpr short PinkBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1152; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1156; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1145; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1149; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1153; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1157; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1146; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1150; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1154; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1158; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1147; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1151; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1155; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1159; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1148; + return 1160; + } + short PinkBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace PinkCarpet + { + constexpr short PinkCarpet() + { + return 7872; + } + } + namespace PinkConcrete + { + constexpr short PinkConcrete() + { + return 9444; + } + } + namespace PinkConcretePowder + { + constexpr short PinkConcretePowder() + { + return 9460; + } + } + namespace PinkGlazedTerracotta + { + constexpr short PinkGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9399; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9398; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9400; + return 9401; + } + short PinkGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace PinkShulkerBox + { + constexpr short PinkShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9319; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9316; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9317; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9314; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9318; + return 9315; + } + short PinkShulkerBox(); + eBlockFace Facing(short ID); + } + namespace PinkStainedGlass + { + constexpr short PinkStainedGlass() + { + return 4101; + } + } + namespace PinkStainedGlassPane + { + constexpr short PinkStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (false && South && West && East && North) return 7055; + if (false && !South && West && East && North) return 7059; + if (false && South && West && East && !North) return 7063; + if (false && !South && West && East && !North) return 7067; + if (false && South && West && !East && North) return 7071; + if (false && !South && West && !East && North) return 7075; + if (false && South && West && !East && !North) return 7079; + if (false && !South && West && !East && !North) return 7083; + if (false && South && !West && East && North) return 7056; + if (false && !South && !West && East && North) return 7060; + if (false && South && !West && East && !North) return 7064; + if (false && !South && !West && East && !North) return 7068; + if (false && South && !West && !East && North) return 7072; + if (false && !South && !West && !East && North) return 7076; + if (false && South && !West && !East && !North) return 7080; + if (false && !South && !West && !East && !North) return 7084; + if (!false && South && West && East && North) return 7057; + if (!false && !South && West && East && North) return 7061; + if (!false && South && West && East && !North) return 7065; + if (!false && !South && West && East && !North) return 7069; + if (!false && South && West && !East && North) return 7073; + if (!false && !South && West && !East && North) return 7077; + if (!false && South && West && !East && !North) return 7081; + if (!false && !South && West && !East && !North) return 7085; + if (!false && South && !West && East && North) return 7058; + if (!false && !South && !West && East && North) return 7062; + if (!false && South && !West && East && !North) return 7066; + if (!false && !South && !West && East && !North) return 7070; + if (!false && South && !West && !East && North) return 7074; + if (!false && !South && !West && !East && North) return 7078; + if (!false && South && !West && !East && !North) return 7082; + return 7086; + } + short PinkStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace PinkTerracotta + { + constexpr short PinkTerracotta() + { + return 6853; + } + } + namespace PinkTulip + { + constexpr short PinkTulip() + { + return 1420; + } + } + namespace PinkWallBanner + { + constexpr short PinkWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8179; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8177; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8178; + return 8180; + } + short PinkWallBanner(); + eBlockFace Facing(short ID); + } + namespace PinkWool + { + constexpr short PinkWool() + { + return 1390; + } + } + namespace Piston + { + constexpr short Piston(bool Extended, eBlockFace Facing) + { + if (Extended && Facing == eBlockFace::BLOCK_FACE_XM) return 1351; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_XP) return 1355; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_YM) return 1359; + if (Extended && Facing == eBlockFace::BLOCK_FACE_ZM) return 1348; + if (Extended && Facing == eBlockFace::BLOCK_FACE_YP) return 1352; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_ZP) return 1356; + if (Extended && Facing == eBlockFace::BLOCK_FACE_XP) return 1349; + if (Extended && Facing == eBlockFace::BLOCK_FACE_YM) return 1353; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_XM) return 1357; + if (Extended && Facing == eBlockFace::BLOCK_FACE_ZP) return 1350; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_ZM) return 1354; + return 1358; + } + short Piston(); + bool Extended(short ID); + eBlockFace Facing(short ID); + } + namespace PistonHead + { + enum class Type + { + Normal, + Sticky + }; + constexpr short PistonHead(eBlockFace Facing, bool Short, enum Type Type) + { + if (Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_ZM) return 1360; + if (Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_ZM) return 1361; + if (!Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_ZM) return 1362; + if (!Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_ZM) return 1363; + if (Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_XP) return 1364; + if (Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_XP) return 1365; + if (!Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_XP) return 1366; + if (!Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_XP) return 1367; + if (Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_ZP) return 1368; + if (Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_ZP) return 1369; + if (!Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_ZP) return 1370; + if (!Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_ZP) return 1371; + if (Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_XM) return 1372; + if (Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_XM) return 1373; + if (!Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_XM) return 1374; + if (!Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_XM) return 1375; + if (Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_YP) return 1376; + if (Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_YP) return 1377; + if (!Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_YP) return 1378; + if (!Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_YP) return 1379; + if (Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_YM) return 1380; + if (Short && Type == Type::Sticky && Facing == eBlockFace::BLOCK_FACE_YM) return 1381; + if (!Short && Type == Type::Normal && Facing == eBlockFace::BLOCK_FACE_YM) return 1382; + return 1383; + } + short PistonHead(); + eBlockFace Facing(short ID); + bool Short(short ID); + enum Type Type(short ID); + } + namespace PlayerHead + { + constexpr short PlayerHead(unsigned char Rotation) + { + if (Rotation == 6) return 6556; + if (Rotation == 7) return 6557; + if (Rotation == 8) return 6558; + if (Rotation == 9) return 6559; + if (Rotation == 10) return 6560; + if (Rotation == 11) return 6561; + if (Rotation == 12) return 6562; + if (Rotation == 13) return 6563; + if (Rotation == 14) return 6564; + if (Rotation == 0) return 6550; + if (Rotation == 1) return 6551; + if (Rotation == 2) return 6552; + if (Rotation == 3) return 6553; + if (Rotation == 4) return 6554; + if (Rotation == 5) return 6555; + return 6565; + } + short PlayerHead(); + unsigned char Rotation(short ID); + } + namespace PlayerWallHead + { + constexpr short PlayerWallHead(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 6568; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6566; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6567; + return 6569; + } + short PlayerWallHead(); + eBlockFace Facing(short ID); + } + namespace Podzol + { + constexpr short Podzol(bool Snowy) + { + if (Snowy) return 12; + return 13; + } + short Podzol(); + bool Snowy(short ID); + } + namespace PolishedAndesite + { + constexpr short PolishedAndesite() + { + return 7; + } + } + namespace PolishedAndesiteSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short PolishedAndesiteSlab(enum Type Type) + { + if (Type == Type::Double && false) return 10859; + if (Type == Type::Top && !false) return 10856; + if (Type == Type::Double && !false) return 10860; + if (Type == Type::Bottom && false) return 10857; + if (Type == Type::Bottom && !false) return 10858; + return 10855; + } + short PolishedAndesiteSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace PolishedAndesiteStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short PolishedAndesiteStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10629; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10630; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10631; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10632; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10633; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10634; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10635; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10636; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10637; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10638; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10639; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10640; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10641; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10642; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10643; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10644; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10645; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10646; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10647; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10648; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10649; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10650; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10651; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10652; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10653; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10654; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10655; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10656; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10657; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10658; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10659; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10660; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10661; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10662; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10663; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10664; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10665; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10666; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10667; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10668; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10669; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10670; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10671; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10672; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10673; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10674; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10675; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10676; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10677; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10678; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10679; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10680; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10681; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10682; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10683; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10684; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10685; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10686; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10687; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10688; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10689; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10690; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10691; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10692; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10693; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10694; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10695; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10696; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10697; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10698; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10699; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10700; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10701; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10702; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10703; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10704; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10705; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10706; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10707; + return 10708; + } + short PolishedAndesiteStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace PolishedBasalt + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short PolishedBasalt(enum Axis Axis) + { + if (Axis == Axis::Y) return 4006; + if (Axis == Axis::X) return 4005; + return 4007; + } + short PolishedBasalt(); + enum Axis Axis(short ID); + } + namespace PolishedBlackstone + { + constexpr short PolishedBlackstone() + { + return 16250; + } + } + namespace PolishedBlackstoneBrickSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short PolishedBlackstoneBrickSlab(enum Type Type) + { + if (Type == Type::Bottom && false) return 16256; + if (Type == Type::Bottom && !false) return 16257; + if (Type == Type::Top && false) return 16254; + if (Type == Type::Double && false) return 16258; + if (Type == Type::Top && !false) return 16255; + return 16259; + } + short PolishedBlackstoneBrickSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace PolishedBlackstoneBrickStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short PolishedBlackstoneBrickStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 16310; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 16311; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16312; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16313; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16314; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16315; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16316; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16317; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16318; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16319; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 16320; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 16321; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16322; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16323; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16324; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16325; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16326; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16327; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16328; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16329; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 16330; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 16331; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16332; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16333; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16334; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16335; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16336; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16337; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16338; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16339; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16260; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16261; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16262; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16263; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16264; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16265; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16266; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16267; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16268; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16269; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16270; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16271; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16272; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16273; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16274; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16275; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16276; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16277; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16278; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16279; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16280; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16281; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16282; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16283; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16284; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16285; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16286; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16287; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16288; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16289; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16290; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16291; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16292; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16293; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16294; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16295; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16296; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16297; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16298; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16299; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 16300; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 16301; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16302; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16303; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16304; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16305; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16306; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16307; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16308; + return 16309; + } + short PolishedBlackstoneBrickStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace PolishedBlackstoneBrickWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short PolishedBlackstoneBrickWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 16415; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16423; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 16431; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 16439; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16447; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 16455; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 16463; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 16471; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 16479; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 16487; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16495; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 16503; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 16511; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16519; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16527; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 16535; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16543; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16551; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 16559; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16567; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 16575; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 16583; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16591; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16599; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 16607; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16615; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16623; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 16631; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16639; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16647; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 16655; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16663; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 16340; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 16344; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 16348; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 16352; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 16356; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 16360; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 16364; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 16368; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 16372; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 16376; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 16380; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 16384; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 16392; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 16400; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 16408; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 16416; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 16424; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16432; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 16440; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 16448; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 16456; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 16464; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 16472; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 16480; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 16488; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 16496; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16504; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 16512; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 16520; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16528; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 16536; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 16544; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16552; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 16560; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 16568; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16576; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 16584; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 16592; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16600; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 16608; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 16616; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16624; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16632; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 16640; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16648; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16656; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 16385; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 16393; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 16401; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 16409; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 16417; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 16425; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 16433; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 16441; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 16449; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 16457; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 16465; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 16473; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 16481; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 16489; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 16497; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 16505; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 16513; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 16521; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 16529; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16537; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 16545; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 16553; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 16561; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 16569; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 16577; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 16585; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 16593; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 16601; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16609; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 16617; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 16625; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16633; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16641; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16649; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16657; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 16341; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 16345; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 16349; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 16353; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 16357; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 16361; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 16365; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 16369; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 16373; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 16377; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 16381; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 16386; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 16394; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 16402; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 16410; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 16418; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 16426; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 16434; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 16442; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 16450; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 16458; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 16466; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 16474; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 16482; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 16490; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 16498; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 16506; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 16514; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16522; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16530; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 16538; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16546; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16554; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 16562; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 16570; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 16578; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 16586; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16594; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16602; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 16610; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16618; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16626; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16634; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16642; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16650; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16658; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 16387; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 16395; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 16403; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 16411; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 16419; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 16427; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16435; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 16443; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 16451; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 16459; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 16467; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 16475; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 16483; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 16491; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 16499; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16507; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 16515; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 16523; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16531; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16539; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 16547; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16555; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 16563; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 16571; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16579; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 16587; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 16595; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16603; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16611; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 16619; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16627; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16635; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 16643; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16651; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16659; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 16342; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 16346; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 16350; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 16354; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 16358; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 16362; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 16366; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 16370; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 16374; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 16378; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 16382; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 16388; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 16396; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 16404; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 16412; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16420; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 16428; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 16436; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16444; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 16452; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 16460; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 16468; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 16476; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 16484; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16492; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 16500; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 16508; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16516; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 16524; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 16532; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16540; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 16548; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 16556; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16564; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 16572; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 16580; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 16588; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 16596; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 16604; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 16612; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 16620; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 16628; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16636; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16644; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 16652; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 16660; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 16389; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 16397; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 16405; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 16413; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 16421; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 16429; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 16437; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 16445; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 16453; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 16461; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 16469; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 16477; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 16485; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 16493; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 16501; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 16509; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 16517; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16525; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 16533; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 16541; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16549; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 16557; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 16565; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 16573; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 16581; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 16589; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16597; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 16605; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 16613; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16621; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16629; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16637; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16645; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 16653; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16661; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 16343; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 16347; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 16351; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 16355; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 16359; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 16363; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 16367; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 16371; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 16375; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 16379; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 16383; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 16390; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 16398; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 16406; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 16414; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 16422; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 16430; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 16438; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 16446; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 16454; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 16462; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 16470; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 16478; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 16486; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 16494; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 16502; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 16510; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 16518; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 16526; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16534; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16542; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 16550; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 16558; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 16566; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 16574; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 16582; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 16590; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 16598; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 16606; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 16614; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 16622; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16630; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16638; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 16646; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 16654; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 16662; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 16391; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 16399; + return 16407; + } + short PolishedBlackstoneBrickWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace PolishedBlackstoneBricks + { + constexpr short PolishedBlackstoneBricks() + { + return 16251; + } + } + namespace PolishedBlackstoneButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short PolishedBlackstoneButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 16765; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 16766; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 16767; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 16768; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 16753; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 16769; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 16754; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 16770; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 16755; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 16771; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 16756; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 16772; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 16757; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 16773; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 16758; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 16774; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 16759; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 16775; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 16760; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 16776; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 16761; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 16762; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 16763; + return 16764; + } + short PolishedBlackstoneButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace PolishedBlackstonePressurePlate + { + constexpr short PolishedBlackstonePressurePlate(bool Powered) + { + if (Powered) return 16751; + return 16752; + } + short PolishedBlackstonePressurePlate(); + bool Powered(short ID); + } + namespace PolishedBlackstoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short PolishedBlackstoneSlab(enum Type Type) + { + if (Type == Type::Top && false) return 16745; + if (Type == Type::Top && !false) return 16746; + if (Type == Type::Bottom && false) return 16747; + if (Type == Type::Bottom && !false) return 16748; + if (Type == Type::Double && false) return 16749; + return 16750; + } + short PolishedBlackstoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace PolishedBlackstoneStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short PolishedBlackstoneStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16744; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16665; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16667; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16669; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16671; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16673; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16675; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16677; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16679; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16681; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16683; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16685; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16687; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16689; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16691; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16693; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16695; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16697; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16699; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16701; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16703; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 16705; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16707; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16709; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16711; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16713; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 16715; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16717; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16719; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16721; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16723; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 16725; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16727; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16729; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16731; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16733; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 16735; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16737; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16739; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16741; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16743; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16666; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16668; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16670; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16672; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16674; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16676; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16678; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16680; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 16682; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 16684; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16686; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16688; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16690; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16692; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16694; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16696; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16698; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16700; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 16702; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 16704; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 16706; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16708; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16710; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16712; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16714; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 16716; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16718; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16720; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 16722; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 16724; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 16726; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16728; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16730; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16732; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16734; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 16736; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 16738; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 16740; + return 16742; + } + short PolishedBlackstoneStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace PolishedBlackstoneWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short PolishedBlackstoneWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 16926; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 16934; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 16942; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 16950; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 16958; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 16966; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16974; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 16982; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 16990; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 16998; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 17006; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 17014; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 17022; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 17030; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 17038; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 17046; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 17054; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 17062; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 17070; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 17078; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 17086; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 17094; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 16783; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 16791; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 16799; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 16807; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 16815; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 16823; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 16831; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 16839; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 16847; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 16855; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 16863; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 16871; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 16879; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 16887; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 16895; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 16903; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 16911; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 16919; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 16927; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 16935; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 16943; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 16951; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16959; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16967; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 16975; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16983; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16991; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 16999; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 17007; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 17015; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 17023; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 17031; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 17039; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 17047; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 17055; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 17063; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 17071; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 17079; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 17087; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 17095; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 16784; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 16792; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 16800; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 16808; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 16816; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 16824; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 16832; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 16840; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 16848; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 16856; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 16864; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16872; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 16880; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 16888; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 16896; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 16904; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 16912; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 16920; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 16928; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 16936; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16944; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 16952; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 16960; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16968; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16976; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 16984; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16992; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 17000; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 17008; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 17016; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 17024; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 17032; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 17040; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 17048; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 17056; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 17064; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 17072; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 17080; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 17088; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 17096; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 16777; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 16785; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 16793; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 16801; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 16809; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 16817; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 16825; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 16833; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 16841; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 16849; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16857; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 16865; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 16873; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16881; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 16889; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 16897; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 16905; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 16913; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 16921; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16929; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 16937; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 16945; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16953; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 16961; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 16969; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16977; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 16985; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 16993; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 17001; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 17009; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 17017; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 17025; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 17033; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 17041; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 17049; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 17057; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 17065; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 17073; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 17081; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 17089; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 17097; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 16778; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 16786; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 16794; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 16802; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 16810; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 16818; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 16826; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 16834; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 16842; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 16850; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 16858; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 16866; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 16874; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 16882; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 16890; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 16898; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 16906; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 16914; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 16922; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 16930; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 16938; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 16946; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 16954; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16962; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 16970; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 16978; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16986; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 16994; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 17002; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 17010; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 17018; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 17026; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 17034; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 17042; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 17050; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 17058; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 17066; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 17074; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 17082; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 17090; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 17098; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 16779; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 16787; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 16795; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 16803; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 16811; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 16819; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 16827; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 16835; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 16843; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 16851; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 16859; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 16867; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 16875; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 16883; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 16891; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 16899; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 16907; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 16915; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 16923; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 16931; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 16939; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 16947; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 16955; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 16963; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 16971; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16979; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 16987; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 16995; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 17003; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 17011; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 17019; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 17027; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 17035; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 17043; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 17051; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 17059; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 17067; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 17075; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 17083; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 17091; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 17099; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 16780; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 16788; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 16796; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 16804; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 16812; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 16820; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 16828; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 16836; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 16844; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 16852; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16860; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 16868; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 16876; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16884; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 16892; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 16900; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 16908; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 16916; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 16924; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16932; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 16940; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 16948; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16956; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16964; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 16972; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16980; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 16988; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 16996; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 17004; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 17012; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 17020; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 17028; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 17036; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 17044; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 17052; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 17060; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 17068; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 17076; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 17084; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 17092; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 17100; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 16781; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 16789; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 16797; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 16805; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 16813; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 16821; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 16829; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 16837; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 16845; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 16853; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 16861; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 16869; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 16877; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 16885; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 16893; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 16901; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 16909; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 16917; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 16925; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 16933; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 16941; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 16949; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 16957; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16965; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 16973; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 16981; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 16989; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 16997; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 17005; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 17013; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 17021; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 17029; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 17037; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 17045; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 17053; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 17061; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 17069; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 17077; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 17085; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 17093; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 16782; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 16790; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 16798; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 16806; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 16814; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 16822; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 16830; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 16838; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 16846; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 16854; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 16862; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 16870; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 16878; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 16886; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 16894; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 16902; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 16910; + return 16918; + } + short PolishedBlackstoneWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace PolishedDiorite + { + constexpr short PolishedDiorite() + { + return 5; + } + } + namespace PolishedDioriteSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short PolishedDioriteSlab(enum Type Type) + { + if (Type == Type::Bottom && !false) return 10810; + if (Type == Type::Top && false) return 10807; + if (Type == Type::Double && false) return 10811; + if (Type == Type::Top && !false) return 10808; + if (Type == Type::Double && !false) return 10812; + return 10809; + } + short PolishedDioriteSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace PolishedDioriteStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short PolishedDioriteStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9960; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9961; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9962; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9963; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9964; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9965; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9966; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9967; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9968; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9969; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9970; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9971; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9972; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9973; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9974; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9975; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9976; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9977; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9978; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9979; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9980; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9981; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9982; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9983; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9984; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9985; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9986; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9987; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9988; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9909; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9910; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9911; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9912; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9913; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9914; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9915; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9916; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9917; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9918; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9919; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9920; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9921; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9922; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9923; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9924; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9925; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9926; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9927; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9928; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9929; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9930; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9931; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9932; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9933; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9934; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9935; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9936; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9937; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9938; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9939; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9940; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9941; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9942; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9943; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9944; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9945; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9946; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9947; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9948; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9949; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9950; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9951; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9952; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9953; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9954; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9955; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9956; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9957; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9958; + return 9959; + } + short PolishedDioriteStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace PolishedGranite + { + constexpr short PolishedGranite() + { + return 3; + } + } + namespace PolishedGraniteSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short PolishedGraniteSlab(enum Type Type) + { + if (Type == Type::Top && false) return 10789; + if (Type == Type::Double && false) return 10793; + if (Type == Type::Top && !false) return 10790; + if (Type == Type::Double && !false) return 10794; + if (Type == Type::Bottom && false) return 10791; + return 10792; + } + short PolishedGraniteSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace PolishedGraniteStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short PolishedGraniteStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9706; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9707; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9708; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9709; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9710; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9711; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9712; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9713; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9714; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9715; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9716; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9717; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9718; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9719; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9720; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9721; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9722; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9723; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9724; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9725; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9726; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9727; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9728; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9729; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9730; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9731; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9732; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9733; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9734; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9735; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9736; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9737; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9738; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9739; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9740; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9741; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9742; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9743; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9744; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9745; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9746; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9747; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9748; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9669; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9670; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9671; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9672; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9673; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9674; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9675; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9676; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9677; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9678; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9679; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9680; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9681; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9682; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9683; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9684; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9685; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9686; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9687; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9688; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9689; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9690; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9691; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9692; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9693; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9694; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9695; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9696; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9697; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9698; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9699; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9700; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9701; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9702; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9703; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9704; + return 9705; + } + short PolishedGraniteStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace Poppy + { + constexpr short Poppy() + { + return 1413; + } + } + namespace Potatoes + { + constexpr short Potatoes(unsigned char Age) + { + if (Age == 6) return 6344; + if (Age == 1) return 6339; + if (Age == 3) return 6341; + if (Age == 5) return 6343; + if (Age == 0) return 6338; + if (Age == 2) return 6340; + if (Age == 4) return 6342; + return 6345; + } + short Potatoes(); + unsigned char Age(short ID); + } + namespace PottedAcaciaSapling + { + constexpr short PottedAcaciaSapling() + { + return 6310; + } + } + namespace PottedAllium + { + constexpr short PottedAllium() + { + return 6316; + } + } + namespace PottedAzureBluet + { + constexpr short PottedAzureBluet() + { + return 6317; + } + } + namespace PottedBamboo + { + constexpr short PottedBamboo() + { + return 9664; + } + } + namespace PottedBirchSapling + { + constexpr short PottedBirchSapling() + { + return 6308; + } + } + namespace PottedBlueOrchid + { + constexpr short PottedBlueOrchid() + { + return 6315; + } + } + namespace PottedBrownMushroom + { + constexpr short PottedBrownMushroom() + { + return 6327; + } + } + namespace PottedCactus + { + constexpr short PottedCactus() + { + return 6329; + } + } + namespace PottedCornflower + { + constexpr short PottedCornflower() + { + return 6323; + } + } + namespace PottedCrimsonFungus + { + constexpr short PottedCrimsonFungus() + { + return 15834; + } + } + namespace PottedCrimsonRoots + { + constexpr short PottedCrimsonRoots() + { + return 15836; + } + } + namespace PottedDandelion + { + constexpr short PottedDandelion() + { + return 6313; + } + } + namespace PottedDarkOakSapling + { + constexpr short PottedDarkOakSapling() + { + return 6311; + } + } + namespace PottedDeadBush + { + constexpr short PottedDeadBush() + { + return 6328; + } + } + namespace PottedFern + { + constexpr short PottedFern() + { + return 6312; + } + } + namespace PottedJungleSapling + { + constexpr short PottedJungleSapling() + { + return 6309; + } + } + namespace PottedLilyOfTheValley + { + constexpr short PottedLilyOfTheValley() + { + return 6324; + } + } + namespace PottedOakSapling + { + constexpr short PottedOakSapling() + { + return 6306; + } + } + namespace PottedOrangeTulip + { + constexpr short PottedOrangeTulip() + { + return 6319; + } + } + namespace PottedOxeyeDaisy + { + constexpr short PottedOxeyeDaisy() + { + return 6322; + } + } + namespace PottedPinkTulip + { + constexpr short PottedPinkTulip() + { + return 6321; + } + } + namespace PottedPoppy + { + constexpr short PottedPoppy() + { + return 6314; + } + } + namespace PottedRedMushroom + { + constexpr short PottedRedMushroom() + { + return 6326; + } + } + namespace PottedRedTulip + { + constexpr short PottedRedTulip() + { + return 6318; + } + } + namespace PottedSpruceSapling + { + constexpr short PottedSpruceSapling() + { + return 6307; + } + } + namespace PottedWarpedFungus + { + constexpr short PottedWarpedFungus() + { + return 15835; + } + } + namespace PottedWarpedRoots + { + constexpr short PottedWarpedRoots() + { + return 15837; + } + } + namespace PottedWhiteTulip + { + constexpr short PottedWhiteTulip() + { + return 6320; + } + } + namespace PottedWitherRose + { + constexpr short PottedWitherRose() + { + return 6325; + } + } + namespace PoweredRail + { + enum class Shape + { + NorthSouth, + EastWest, + AscendingEast, + AscendingWest, + AscendingNorth, + AscendingSouth + }; + constexpr short PoweredRail(bool Powered, enum Shape Shape) + { + if (Shape == Shape::EastWest && Powered) return 1306; + if (Shape == Shape::AscendingSouth && Powered) return 1310; + if (Shape == Shape::AscendingWest && !Powered) return 1314; + if (Shape == Shape::AscendingEast && Powered) return 1307; + if (Shape == Shape::NorthSouth && !Powered) return 1311; + if (Shape == Shape::AscendingNorth && !Powered) return 1315; + if (Shape == Shape::AscendingWest && Powered) return 1308; + if (Shape == Shape::EastWest && !Powered) return 1312; + if (Shape == Shape::AscendingSouth && !Powered) return 1316; + if (Shape == Shape::NorthSouth && Powered) return 1305; + if (Shape == Shape::AscendingNorth && Powered) return 1309; + return 1313; + } + short PoweredRail(); + bool Powered(short ID); + enum Shape Shape(short ID); + } + namespace Prismarine + { + constexpr short Prismarine() + { + return 7601; + } + } + namespace PrismarineBrickSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short PrismarineBrickSlab(enum Type Type) + { + if (Type == Type::Top && !false) return 7851; + if (Type == Type::Bottom && !false) return 7853; + if (Type == Type::Double && !false) return 7855; + if (Type == Type::Top && false) return 7850; + if (Type == Type::Bottom && false) return 7852; + return 7854; + } + short PrismarineBrickSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace PrismarineBrickStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short PrismarineBrickStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7743; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7744; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7745; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7746; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7747; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7684; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7748; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7685; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7749; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7686; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7750; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7687; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7751; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7688; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7752; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7689; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7753; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7690; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7754; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7691; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7755; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7692; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7756; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7693; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7757; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7694; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7758; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7695; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7759; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7696; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7760; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7697; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7761; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7698; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7762; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7699; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7763; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7700; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7701; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7702; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7703; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7704; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7705; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7706; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7707; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7708; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7709; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7710; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7711; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7712; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7713; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7714; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7715; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7716; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7717; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7718; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7719; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7720; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7721; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7722; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7723; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7724; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7725; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7726; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7727; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7728; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7729; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7730; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7731; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7732; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7733; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7734; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7735; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7736; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7737; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7738; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7739; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7740; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7741; + return 7742; + } + short PrismarineBrickStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace PrismarineBricks + { + constexpr short PrismarineBricks() + { + return 7602; + } + } + namespace PrismarineSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short PrismarineSlab(enum Type Type) + { + if (Type == Type::Double && !false) return 7849; + if (Type == Type::Top && false) return 7844; + if (Type == Type::Bottom && false) return 7846; + if (Type == Type::Double && false) return 7848; + if (Type == Type::Top && !false) return 7845; + return 7847; + } + short PrismarineSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace PrismarineStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short PrismarineStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7679; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7616; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7680; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7617; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7681; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7618; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7682; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7619; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7683; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7620; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7621; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7622; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7623; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7624; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7625; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7626; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7627; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7628; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7629; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7630; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7631; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7632; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7633; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7634; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7635; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7636; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7637; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7638; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7639; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7640; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 7641; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7642; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 7643; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7644; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7645; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7646; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7647; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7648; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7649; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7650; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7651; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7652; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7653; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7654; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 7655; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7656; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7657; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7658; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7659; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7660; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 7661; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7662; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 7663; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7664; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7665; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7666; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7667; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7604; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7668; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7605; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7669; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7606; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7670; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7607; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7671; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7608; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7672; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7609; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7673; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7610; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7674; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 7611; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 7675; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7612; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7676; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7613; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 7677; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 7614; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 7678; + return 7615; + } + short PrismarineStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace PrismarineWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short PrismarineWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 11194; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 11198; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 11202; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 11206; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 11210; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 11214; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 11218; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 11222; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 11226; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 11230; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 11234; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 11238; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 11242; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 11246; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 11250; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 11254; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 11258; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 11262; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 11266; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 11270; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11274; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 11278; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 11282; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11286; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 11290; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 11294; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11298; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 11302; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 11306; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 11310; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 11314; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 11318; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 11322; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 11326; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 11330; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 11334; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 11338; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 11342; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11346; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 11350; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 11354; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11358; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 11362; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 11366; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11370; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 11374; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11378; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11382; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 11386; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11390; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11394; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 11398; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11402; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11406; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 11410; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 11414; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11418; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 11422; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 11426; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11430; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 11434; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 11438; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11442; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 11446; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11450; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11454; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 11458; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11462; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11466; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 11470; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11474; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11478; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 11482; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11486; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11490; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 11494; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11498; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11502; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 11506; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11510; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11514; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 11191; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 11195; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 11199; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 11203; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 11207; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 11211; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 11215; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 11219; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 11223; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 11227; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 11231; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 11235; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 11239; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 11243; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 11247; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 11251; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 11255; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 11259; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 11263; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 11267; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11271; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 11275; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 11279; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11283; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 11287; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 11291; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11295; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 11299; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 11303; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 11307; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 11311; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 11315; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 11319; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 11323; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 11327; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 11331; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 11335; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 11339; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11343; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 11347; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 11351; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11355; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 11359; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 11363; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11367; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 11371; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 11375; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11379; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 11383; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 11387; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11391; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 11395; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 11399; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11403; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 11407; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 11411; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11415; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 11419; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 11423; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11427; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 11431; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 11435; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11439; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 11443; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 11447; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11451; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 11455; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 11459; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11463; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 11467; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 11471; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11475; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 11479; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11483; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11487; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 11491; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11495; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11499; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 11503; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11507; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11511; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 11192; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 11196; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 11200; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 11204; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 11208; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 11212; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 11216; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 11220; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 11224; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 11228; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 11232; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 11236; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 11240; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 11244; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 11248; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 11252; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 11256; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 11260; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 11264; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 11268; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 11272; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 11276; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 11280; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 11284; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 11288; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 11292; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 11296; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 11300; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 11304; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 11308; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 11312; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 11316; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 11320; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 11324; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 11328; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 11332; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 11336; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 11340; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 11344; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 11348; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 11352; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 11356; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 11360; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 11364; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 11368; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 11372; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11376; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 11380; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 11384; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11388; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 11392; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 11396; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11400; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 11404; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 11408; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 11412; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 11416; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 11420; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 11424; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 11428; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 11432; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 11436; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 11440; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 11444; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11448; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 11452; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 11456; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11460; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 11464; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 11468; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11472; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 11476; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11480; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11484; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11488; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11492; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11496; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11500; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11504; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11508; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11512; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 11193; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 11197; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 11201; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 11205; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 11209; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 11213; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 11217; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 11221; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 11225; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 11229; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 11233; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 11237; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 11241; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 11245; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 11249; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 11253; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 11257; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 11261; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 11265; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 11269; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 11273; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 11277; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 11281; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 11285; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 11289; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 11293; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 11297; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 11301; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 11305; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 11309; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 11313; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 11317; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 11321; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 11325; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 11329; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 11333; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 11337; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 11341; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 11345; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 11349; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 11353; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 11357; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 11361; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 11365; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 11369; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11373; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 11377; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11381; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11385; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 11389; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11393; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11397; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 11401; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11405; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 11409; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 11413; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 11417; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 11421; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 11425; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 11429; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 11433; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 11437; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 11441; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11445; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 11449; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11453; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11457; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 11461; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11465; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11469; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 11473; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11477; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11481; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11485; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11489; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11493; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11497; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11501; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11505; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11509; + return 11513; + } + short PrismarineWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace Pumpkin + { + constexpr short Pumpkin() + { + return 3998; + } + } + namespace PumpkinStem + { + constexpr short PumpkinStem(unsigned char Age) + { + if (Age == 4) return 4776; + if (Age == 6) return 4778; + if (Age == 1) return 4773; + if (Age == 3) return 4775; + if (Age == 5) return 4777; + if (Age == 0) return 4772; + if (Age == 2) return 4774; + return 4779; + } + short PumpkinStem(); + unsigned char Age(short ID); + } + namespace PurpleBanner + { + constexpr short PurpleBanner(unsigned char Rotation) + { + if (Rotation == 14) return 8071; + if (Rotation == 0) return 8057; + if (Rotation == 1) return 8058; + if (Rotation == 2) return 8059; + if (Rotation == 3) return 8060; + if (Rotation == 4) return 8061; + if (Rotation == 5) return 8062; + if (Rotation == 6) return 8063; + if (Rotation == 7) return 8064; + if (Rotation == 8) return 8065; + if (Rotation == 9) return 8066; + if (Rotation == 10) return 8067; + if (Rotation == 11) return 8068; + if (Rotation == 12) return 8069; + if (Rotation == 13) return 8070; + return 8072; + } + short PurpleBanner(); + unsigned char Rotation(short ID); + } + namespace PurpleBed + { + enum class Part + { + Head, + Foot + }; + constexpr short PurpleBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1212; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1216; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1220; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1209; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1213; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1217; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1221; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1210; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1214; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1218; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1222; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1211; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1215; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1219; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1223; + return 1224; + } + short PurpleBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace PurpleCarpet + { + constexpr short PurpleCarpet() + { + return 7876; + } + } + namespace PurpleConcrete + { + constexpr short PurpleConcrete() + { + return 9448; + } + } + namespace PurpleConcretePowder + { + constexpr short PurpleConcretePowder() + { + return 9464; + } + } + namespace PurpleGlazedTerracotta + { + constexpr short PurpleGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9414; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9416; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9415; + return 9417; + } + short PurpleGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace PurpleShulkerBox + { + constexpr short PurpleShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9340; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9341; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9338; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9342; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9339; + return 9343; + } + short PurpleShulkerBox(); + eBlockFace Facing(short ID); + } + namespace PurpleStainedGlass + { + constexpr short PurpleStainedGlass() + { + return 4105; + } + } + namespace PurpleStainedGlassPane + { + constexpr short PurpleStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (!false && South && !West && !East && !North) return 7210; + if (false && South && West && East && North) return 7183; + if (false && !South && West && East && North) return 7187; + if (false && South && West && East && !North) return 7191; + if (false && !South && West && East && !North) return 7195; + if (false && South && West && !East && North) return 7199; + if (false && !South && West && !East && North) return 7203; + if (false && South && West && !East && !North) return 7207; + if (false && !South && West && !East && !North) return 7211; + if (false && South && !West && East && North) return 7184; + if (false && !South && !West && East && North) return 7188; + if (false && South && !West && East && !North) return 7192; + if (false && !South && !West && East && !North) return 7196; + if (false && South && !West && !East && North) return 7200; + if (false && !South && !West && !East && North) return 7204; + if (false && South && !West && !East && !North) return 7208; + if (false && !South && !West && !East && !North) return 7212; + if (!false && South && West && East && North) return 7185; + if (!false && !South && West && East && North) return 7189; + if (!false && South && West && East && !North) return 7193; + if (!false && !South && West && East && !North) return 7197; + if (!false && South && West && !East && North) return 7201; + if (!false && !South && West && !East && North) return 7205; + if (!false && South && West && !East && !North) return 7209; + if (!false && !South && West && !East && !North) return 7213; + if (!false && South && !West && East && North) return 7186; + if (!false && !South && !West && East && North) return 7190; + if (!false && South && !West && East && !North) return 7194; + if (!false && !South && !West && East && !North) return 7198; + if (!false && South && !West && !East && North) return 7202; + if (!false && !South && !West && !East && North) return 7206; + return 7214; + } + short PurpleStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace PurpleTerracotta + { + constexpr short PurpleTerracotta() + { + return 6857; + } + } + namespace PurpleWallBanner + { + constexpr short PurpleWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8193; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8195; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8194; + return 8196; + } + short PurpleWallBanner(); + eBlockFace Facing(short ID); + } + namespace PurpleWool + { + constexpr short PurpleWool() + { + return 1394; + } + } + namespace PurpurBlock + { + constexpr short PurpurBlock() + { + return 9134; + } + } + namespace PurpurPillar + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short PurpurPillar(enum Axis Axis) + { + if (Axis == Axis::X) return 9135; + if (Axis == Axis::Z) return 9137; + return 9136; + } + short PurpurPillar(); + enum Axis Axis(short ID); + } + namespace PurpurSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short PurpurSlab(enum Type Type) + { + if (Type == Type::Top && !false) return 8409; + if (Type == Type::Double && !false) return 8413; + if (Type == Type::Bottom && false) return 8410; + if (Type == Type::Bottom && !false) return 8411; + if (Type == Type::Top && false) return 8408; + return 8412; + } + short PurpurSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace PurpurStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short PurpurStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9198; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9199; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9200; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9201; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9202; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9203; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9204; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9205; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9206; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9207; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9208; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9209; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9210; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9211; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9212; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9213; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9214; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9215; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9216; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9217; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9138; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9139; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9140; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9141; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9142; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9143; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9144; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9145; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9146; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9147; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9148; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9149; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9150; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9151; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9152; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9153; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9154; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9155; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9156; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9157; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9158; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9159; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9160; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9161; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9162; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9163; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9164; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9165; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9166; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9167; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9168; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9169; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9170; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9171; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9172; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9173; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9174; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9175; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9176; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9177; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9178; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9179; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9180; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9181; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9182; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9183; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9184; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9185; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9186; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9187; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9188; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9189; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9190; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9191; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9192; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9193; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9194; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9195; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9196; + return 9197; + } + short PurpurStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace QuartzBlock + { + constexpr short QuartzBlock() + { + return 6738; + } + } + namespace QuartzBricks + { + constexpr short QuartzBricks() + { + return 17103; + } + } + namespace QuartzPillar + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short QuartzPillar(enum Axis Axis) + { + if (Axis == Axis::Z) return 6742; + if (Axis == Axis::X) return 6740; + return 6741; + } + short QuartzPillar(); + enum Axis Axis(short ID); + } + namespace QuartzSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short QuartzSlab(enum Type Type) + { + if (Type == Type::Double && !false) return 8395; + if (Type == Type::Bottom && false) return 8392; + if (Type == Type::Bottom && !false) return 8393; + if (Type == Type::Top && false) return 8390; + if (Type == Type::Double && false) return 8394; + return 8391; + } + short QuartzSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace QuartzStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short QuartzStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 6790; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 6791; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 6792; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 6793; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 6794; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 6795; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 6796; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 6797; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 6798; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 6799; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 6800; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 6801; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 6802; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 6803; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 6804; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 6805; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 6806; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6743; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 6807; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6744; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 6808; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 6745; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 6809; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 6746; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 6810; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6747; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 6811; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6748; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 6812; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 6749; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 6813; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 6750; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 6814; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6751; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 6815; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6752; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 6816; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6753; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 6817; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6754; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 6818; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 6755; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 6819; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 6756; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 6820; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6757; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 6821; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6758; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 6822; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 6759; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 6760; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6761; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 6762; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6763; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6764; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 6765; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 6766; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6767; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6768; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 6769; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 6770; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6771; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6772; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6773; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6774; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 6775; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 6776; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6777; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6778; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 6779; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 6780; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6781; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 6782; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 6783; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 6784; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 6785; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 6786; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 6787; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 6788; + return 6789; + } + short QuartzStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace Rail + { + enum class Shape + { + NorthSouth, + EastWest, + AscendingEast, + AscendingWest, + AscendingNorth, + AscendingSouth, + SouthEast, + SouthWest, + NorthWest, + NorthEast + }; + constexpr short Rail(enum Shape Shape) + { + if (Shape == Shape::EastWest) return 3646; + if (Shape == Shape::NorthEast) return 3654; + if (Shape == Shape::AscendingEast) return 3647; + if (Shape == Shape::AscendingWest) return 3648; + if (Shape == Shape::AscendingNorth) return 3649; + if (Shape == Shape::AscendingSouth) return 3650; + if (Shape == Shape::SouthEast) return 3651; + if (Shape == Shape::SouthWest) return 3652; + if (Shape == Shape::NorthSouth) return 3645; + return 3653; + } + short Rail(); + enum Shape Shape(short ID); + } + namespace RedBanner + { + constexpr short RedBanner(unsigned char Rotation) + { + if (Rotation == 10) return 8131; + if (Rotation == 11) return 8132; + if (Rotation == 12) return 8133; + if (Rotation == 13) return 8134; + if (Rotation == 14) return 8135; + if (Rotation == 0) return 8121; + if (Rotation == 1) return 8122; + if (Rotation == 2) return 8123; + if (Rotation == 3) return 8124; + if (Rotation == 4) return 8125; + if (Rotation == 5) return 8126; + if (Rotation == 6) return 8127; + if (Rotation == 7) return 8128; + if (Rotation == 8) return 8129; + if (Rotation == 9) return 8130; + return 8136; + } + short RedBanner(); + unsigned char Rotation(short ID); + } + namespace RedBed + { + enum class Part + { + Head, + Foot + }; + constexpr short RedBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1287; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1276; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1280; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1284; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1273; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1277; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1281; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1285; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1274; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1278; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1282; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1286; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1275; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1279; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1283; + return 1288; + } + short RedBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace RedCarpet + { + constexpr short RedCarpet() + { + return 7880; + } + } + namespace RedConcrete + { + constexpr short RedConcrete() + { + return 9452; + } + } + namespace RedConcretePowder + { + constexpr short RedConcretePowder() + { + return 9468; + } + } + namespace RedGlazedTerracotta + { + constexpr short RedGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9432; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9431; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9430; + return 9433; + } + short RedGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace RedMushroom + { + constexpr short RedMushroom() + { + return 1426; + } + } + namespace RedMushroomBlock + { + constexpr short RedMushroomBlock(bool Down, bool East, bool North, bool South, bool Up, bool West) + { + if (Up && West && East && !South && Down && North) return 4573; + if (Up && West && !East && !South && Down && North) return 4589; + if (Up && West && East && !South && !Down && North) return 4605; + if (Up && West && !East && !South && !Down && North) return 4621; + if (Up && !West && East && !South && Down && North) return 4574; + if (Up && !West && !East && !South && Down && North) return 4590; + if (Up && !West && East && !South && !Down && North) return 4606; + if (Up && !West && !East && !South && !Down && North) return 4622; + if (!Up && West && East && !South && Down && North) return 4575; + if (!Up && West && !East && !South && Down && North) return 4591; + if (!Up && West && East && !South && !Down && North) return 4607; + if (!Up && West && !East && !South && !Down && North) return 4623; + if (!Up && !West && East && !South && Down && North) return 4576; + if (!Up && !West && !East && !South && Down && North) return 4592; + if (!Up && !West && East && !South && !Down && North) return 4608; + if (!Up && !West && !East && !South && !Down && North) return 4624; + if (Up && West && East && South && Down && !North) return 4577; + if (Up && West && !East && South && Down && !North) return 4593; + if (Up && West && East && South && !Down && !North) return 4609; + if (Up && West && !East && South && !Down && !North) return 4625; + if (Up && !West && East && South && Down && !North) return 4578; + if (Up && !West && !East && South && Down && !North) return 4594; + if (Up && !West && East && South && !Down && !North) return 4610; + if (Up && !West && !East && South && !Down && !North) return 4626; + if (!Up && West && East && South && Down && !North) return 4579; + if (!Up && West && !East && South && Down && !North) return 4595; + if (!Up && West && East && South && !Down && !North) return 4611; + if (!Up && West && !East && South && !Down && !North) return 4627; + if (!Up && !West && East && South && Down && !North) return 4580; + if (!Up && !West && !East && South && Down && !North) return 4596; + if (!Up && !West && East && South && !Down && !North) return 4612; + if (!Up && !West && !East && South && !Down && !North) return 4628; + if (Up && West && East && !South && Down && !North) return 4581; + if (Up && West && !East && !South && Down && !North) return 4597; + if (Up && West && East && !South && !Down && !North) return 4613; + if (Up && West && !East && !South && !Down && !North) return 4629; + if (Up && !West && East && !South && Down && !North) return 4582; + if (Up && !West && !East && !South && Down && !North) return 4598; + if (Up && !West && East && !South && !Down && !North) return 4614; + if (Up && !West && !East && !South && !Down && !North) return 4630; + if (!Up && West && East && !South && Down && !North) return 4583; + if (!Up && West && !East && !South && Down && !North) return 4599; + if (!Up && West && East && !South && !Down && !North) return 4615; + if (!Up && West && !East && !South && !Down && !North) return 4631; + if (!Up && !West && East && !South && Down && !North) return 4584; + if (!Up && !West && !East && !South && Down && !North) return 4600; + if (!Up && !West && East && !South && !Down && !North) return 4616; + if (Up && West && East && South && Down && North) return 4569; + if (Up && West && !East && South && Down && North) return 4585; + if (Up && West && East && South && !Down && North) return 4601; + if (Up && West && !East && South && !Down && North) return 4617; + if (Up && !West && East && South && Down && North) return 4570; + if (Up && !West && !East && South && Down && North) return 4586; + if (Up && !West && East && South && !Down && North) return 4602; + if (Up && !West && !East && South && !Down && North) return 4618; + if (!Up && West && East && South && Down && North) return 4571; + if (!Up && West && !East && South && Down && North) return 4587; + if (!Up && West && East && South && !Down && North) return 4603; + if (!Up && West && !East && South && !Down && North) return 4619; + if (!Up && !West && East && South && Down && North) return 4572; + if (!Up && !West && !East && South && Down && North) return 4588; + if (!Up && !West && East && South && !Down && North) return 4604; + if (!Up && !West && !East && South && !Down && North) return 4620; + return 4632; + } + short RedMushroomBlock(); + bool Down(short ID); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Up(short ID); + bool West(short ID); + } + namespace RedNetherBrickSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short RedNetherBrickSlab(enum Type Type) + { + if (Type == Type::Bottom && !false) return 10852; + if (Type == Type::Top && false) return 10849; + if (Type == Type::Double && false) return 10853; + if (Type == Type::Top && !false) return 10850; + if (Type == Type::Double && !false) return 10854; + return 10851; + } + short RedNetherBrickSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace RedNetherBrickStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short RedNetherBrickStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10595; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10596; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10597; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10598; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10599; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10600; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10601; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10602; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10603; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10604; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10605; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10606; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10607; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10608; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10609; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10610; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10611; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10612; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10613; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10614; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10615; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10616; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10617; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10618; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10619; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10620; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10621; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10622; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10623; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10624; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10625; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10626; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10627; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10628; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10549; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10550; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10551; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10552; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10553; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10554; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10555; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10556; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10557; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10558; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10559; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10560; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10561; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10562; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10563; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10564; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10565; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10566; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10567; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10568; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10569; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10570; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10571; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10572; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10573; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10574; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10575; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10576; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10577; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10578; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10579; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10580; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10581; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10582; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10583; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10584; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10585; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10586; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10587; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10588; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10589; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10590; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10591; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10592; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10593; + return 10594; + } + short RedNetherBrickStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace RedNetherBrickWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short RedNetherBrickWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 13589; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 13593; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 13597; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 13601; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 13605; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 13609; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 13613; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 13617; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 13621; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 13625; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 13629; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 13633; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 13637; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13641; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 13645; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13649; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13653; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 13657; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13661; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13665; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 13669; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13673; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 13677; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 13681; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 13685; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 13689; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 13693; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 13697; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 13701; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 13705; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 13709; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13713; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 13717; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13721; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13725; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 13729; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13733; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13737; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 13741; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13745; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13749; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13753; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13757; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13761; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13765; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13769; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13773; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13777; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13781; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 13462; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 13466; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 13470; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 13474; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 13478; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 13482; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 13486; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 13490; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 13494; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 13498; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 13502; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 13506; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 13510; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 13514; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 13518; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 13522; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 13526; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 13530; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 13534; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 13538; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13542; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 13546; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 13550; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13554; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 13558; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 13562; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13566; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 13570; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 13574; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 13578; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 13582; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 13586; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 13590; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 13594; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 13598; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 13602; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 13606; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 13610; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13614; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 13618; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 13622; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13626; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 13630; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 13634; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13638; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 13642; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13646; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13650; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 13654; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13658; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13662; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 13666; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13670; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13674; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 13678; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 13682; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13686; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 13690; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 13694; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13698; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 13702; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 13706; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13710; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 13714; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13718; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13722; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 13726; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13730; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13734; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 13738; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 13742; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13746; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 13750; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13754; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13758; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 13762; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13766; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13770; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 13774; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 13778; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13782; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 13459; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 13463; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 13467; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 13471; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 13475; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 13479; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 13483; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 13487; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 13491; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 13495; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 13499; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 13503; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 13507; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 13511; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 13515; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 13519; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 13523; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 13527; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 13531; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 13535; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13539; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 13543; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 13547; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13551; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 13555; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 13559; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13563; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 13567; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 13571; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 13575; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 13579; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 13583; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 13587; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 13591; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 13595; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 13599; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 13603; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 13607; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13611; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 13615; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 13619; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13623; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 13627; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 13631; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13635; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 13639; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 13643; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13647; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 13651; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 13655; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13659; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 13663; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 13667; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13671; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 13675; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 13679; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13683; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 13687; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 13691; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13695; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 13699; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 13703; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 13707; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 13711; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 13715; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13719; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 13723; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 13727; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13731; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 13735; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 13739; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 13743; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 13747; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13751; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13755; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 13759; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13763; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13767; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 13771; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13775; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 13779; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 13460; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 13464; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 13468; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 13472; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 13476; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 13480; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 13484; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 13488; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 13492; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 13496; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 13500; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 13504; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 13508; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 13512; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 13516; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 13520; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 13524; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 13528; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 13532; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 13536; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 13540; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 13544; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 13548; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 13552; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 13556; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 13560; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 13564; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 13568; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 13572; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 13576; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 13580; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 13584; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 13588; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 13592; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 13596; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 13600; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 13604; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 13608; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 13612; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 13616; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 13620; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 13624; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 13628; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 13632; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 13636; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 13640; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13644; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 13648; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 13652; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13656; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 13660; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 13664; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13668; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 13672; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 13676; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 13680; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 13684; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 13688; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 13692; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 13696; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 13700; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 13704; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 13708; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 13712; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13716; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 13720; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 13724; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13728; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 13732; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 13736; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 13740; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 13744; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13748; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13752; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13756; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13760; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13764; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13768; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 13772; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 13776; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 13780; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 13461; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 13465; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 13469; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 13473; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 13477; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 13481; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 13485; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 13489; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 13493; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 13497; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 13501; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 13505; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 13509; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 13513; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 13517; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 13521; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 13525; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 13529; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 13533; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 13537; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 13541; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 13545; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 13549; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 13553; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 13557; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 13561; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 13565; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 13569; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 13573; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 13577; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 13581; + return 13585; + } + short RedNetherBrickWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace RedNetherBricks + { + constexpr short RedNetherBricks() + { + return 9255; + } + } + namespace RedSand + { + constexpr short RedSand() + { + return 67; + } + } + namespace RedSandstone + { + constexpr short RedSandstone() + { + return 8217; + } + } + namespace RedSandstoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short RedSandstoneSlab(enum Type Type) + { + if (Type == Type::Bottom && !false) return 8399; + if (Type == Type::Top && false) return 8396; + if (Type == Type::Double && false) return 8400; + if (Type == Type::Top && !false) return 8397; + if (Type == Type::Double && !false) return 8401; + return 8398; + } + short RedSandstoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace RedSandstoneStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short RedSandstoneStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8220; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8221; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 8222; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 8223; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8224; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8225; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 8226; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 8227; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8228; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8229; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8230; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8231; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 8232; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 8233; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8234; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8235; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 8236; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 8237; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8238; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 8239; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8240; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8241; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 8242; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 8243; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8244; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8245; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 8246; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 8247; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8248; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8249; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8250; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8251; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 8252; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 8253; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8254; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8255; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 8256; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 8257; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8258; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 8259; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 8260; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 8261; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 8262; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 8263; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 8264; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 8265; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 8266; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 8267; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 8268; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 8269; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 8270; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 8271; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 8272; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 8273; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 8274; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 8275; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 8276; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 8277; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 8278; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 8279; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 8280; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 8281; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 8282; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 8283; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 8284; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 8285; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 8286; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 8287; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 8288; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 8289; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 8290; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 8291; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 8292; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 8293; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 8294; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 8295; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 8296; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 8297; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 8298; + return 8299; + } + short RedSandstoneStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace RedSandstoneWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short RedSandstoneWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 11545; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 11549; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 11553; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 11557; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 11561; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 11565; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 11569; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 11573; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 11577; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 11581; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 11585; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 11589; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 11593; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 11597; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 11601; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 11605; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 11609; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 11613; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 11617; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 11621; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 11625; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 11629; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 11633; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 11637; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 11641; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 11645; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 11649; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 11653; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 11657; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 11661; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 11665; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 11669; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 11673; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 11677; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 11681; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 11685; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 11689; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 11693; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11697; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 11701; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11705; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11709; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 11713; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11717; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11721; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 11725; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11729; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 11733; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 11737; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 11741; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 11745; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 11749; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 11753; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 11757; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 11761; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 11765; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11769; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 11773; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11777; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11781; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 11785; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11789; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11793; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 11797; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11801; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11805; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11809; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11813; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11817; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11821; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11825; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11829; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11833; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11837; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 11518; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 11522; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 11526; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 11530; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 11534; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 11538; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 11542; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 11546; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 11550; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 11554; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 11558; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 11562; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 11566; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 11570; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 11574; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 11578; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 11582; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 11586; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 11590; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 11594; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11598; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 11602; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 11606; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11610; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 11614; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 11618; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11622; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 11626; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 11630; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 11634; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 11638; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 11642; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 11646; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 11650; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 11654; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 11658; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 11662; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 11666; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11670; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 11674; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 11678; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11682; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 11686; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 11690; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11694; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 11698; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11702; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11706; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 11710; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11714; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11718; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 11722; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 11726; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11730; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 11734; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 11738; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11742; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 11746; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 11750; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11754; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 11758; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 11762; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11766; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 11770; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11774; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11778; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 11782; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11786; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11790; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 11794; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 11798; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11802; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 11806; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11810; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11814; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 11818; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11822; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11826; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 11830; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 11834; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11838; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 11515; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 11519; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 11523; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 11527; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 11531; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 11535; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 11539; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 11543; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 11547; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 11551; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 11555; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 11559; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 11563; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 11567; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 11571; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 11575; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 11579; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 11583; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 11587; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 11591; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11595; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 11599; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 11603; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11607; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 11611; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 11615; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 11619; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 11623; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 11627; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 11631; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 11635; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 11639; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 11643; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 11647; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 11651; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 11655; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 11659; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 11663; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11667; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 11671; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 11675; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11679; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 11683; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 11687; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 11691; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 11695; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 11699; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11703; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 11707; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 11711; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11715; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 11719; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 11723; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 11727; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 11731; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 11735; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11739; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 11743; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 11747; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11751; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 11755; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 11759; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 11763; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 11767; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 11771; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11775; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 11779; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 11783; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11787; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 11791; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 11795; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 11799; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 11803; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11807; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11811; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 11815; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11819; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11823; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 11827; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11831; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 11835; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 11516; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 11520; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 11524; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 11528; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 11532; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 11536; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 11540; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 11544; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 11548; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 11552; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 11556; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 11560; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 11564; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 11568; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 11572; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 11576; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 11580; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 11584; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 11588; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 11592; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 11596; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 11600; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 11604; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 11608; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 11612; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 11616; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 11620; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 11624; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 11628; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 11632; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 11636; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 11640; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 11644; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 11648; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 11652; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 11656; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 11660; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 11664; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 11668; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 11672; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 11676; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 11680; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 11684; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 11688; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 11692; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 11696; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11700; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 11704; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 11708; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11712; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 11716; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 11720; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 11724; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 11728; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 11732; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 11736; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 11740; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 11744; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 11748; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 11752; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 11756; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 11760; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 11764; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 11768; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11772; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 11776; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 11780; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11784; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 11788; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 11792; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 11796; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 11800; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11804; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11808; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11812; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11816; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11820; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11824; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 11828; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 11832; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 11836; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 11517; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 11521; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 11525; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 11529; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 11533; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 11537; + return 11541; + } + short RedSandstoneWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace RedShulkerBox + { + constexpr short RedShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9365; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9362; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9366; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9363; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9367; + return 9364; + } + short RedShulkerBox(); + eBlockFace Facing(short ID); + } + namespace RedStainedGlass + { + constexpr short RedStainedGlass() + { + return 4109; + } + } + namespace RedStainedGlassPane + { + constexpr short RedStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (!false && !South && !West && !East && North) return 7334; + if (!false && South && !West && !East && !North) return 7338; + if (false && South && West && East && North) return 7311; + if (false && !South && West && East && North) return 7315; + if (false && South && West && East && !North) return 7319; + if (false && !South && West && East && !North) return 7323; + if (false && South && West && !East && North) return 7327; + if (false && !South && West && !East && North) return 7331; + if (false && South && West && !East && !North) return 7335; + if (false && !South && West && !East && !North) return 7339; + if (false && South && !West && East && North) return 7312; + if (false && !South && !West && East && North) return 7316; + if (false && South && !West && East && !North) return 7320; + if (false && !South && !West && East && !North) return 7324; + if (false && South && !West && !East && North) return 7328; + if (false && !South && !West && !East && North) return 7332; + if (false && South && !West && !East && !North) return 7336; + if (false && !South && !West && !East && !North) return 7340; + if (!false && South && West && East && North) return 7313; + if (!false && !South && West && East && North) return 7317; + if (!false && South && West && East && !North) return 7321; + if (!false && !South && West && East && !North) return 7325; + if (!false && South && West && !East && North) return 7329; + if (!false && !South && West && !East && North) return 7333; + if (!false && South && West && !East && !North) return 7337; + if (!false && !South && West && !East && !North) return 7341; + if (!false && South && !West && East && North) return 7314; + if (!false && !South && !West && East && North) return 7318; + if (!false && South && !West && East && !North) return 7322; + if (!false && !South && !West && East && !North) return 7326; + if (!false && South && !West && !East && North) return 7330; + return 7342; + } + short RedStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace RedTerracotta + { + constexpr short RedTerracotta() + { + return 6861; + } + } + namespace RedTulip + { + constexpr short RedTulip() + { + return 1417; + } + } + namespace RedWallBanner + { + constexpr short RedWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8211; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8210; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8209; + return 8212; + } + short RedWallBanner(); + eBlockFace Facing(short ID); + } + namespace RedWool + { + constexpr short RedWool() + { + return 1398; + } + } + namespace RedstoneBlock + { + constexpr short RedstoneBlock() + { + return 6726; + } + } + namespace RedstoneLamp + { + constexpr short RedstoneLamp(bool Lit) + { + if (Lit) return 5156; + return 5157; + } + short RedstoneLamp(); + bool Lit(short ID); + } + namespace RedstoneOre + { + constexpr short RedstoneOre(bool Lit) + { + if (Lit) return 3885; + return 3886; + } + short RedstoneOre(); + bool Lit(short ID); + } + namespace RedstoneTorch + { + constexpr short RedstoneTorch(bool Lit) + { + if (Lit) return 3887; + return 3888; + } + short RedstoneTorch(); + bool Lit(short ID); + } + namespace RedstoneWallTorch + { + constexpr short RedstoneWallTorch(eBlockFace Facing, bool Lit) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit) return 3890; + if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit) return 3891; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit) return 3892; + if (Facing == eBlockFace::BLOCK_FACE_XM && Lit) return 3893; + if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit) return 3894; + if (Facing == eBlockFace::BLOCK_FACE_XP && Lit) return 3895; + if (Facing == eBlockFace::BLOCK_FACE_ZM && Lit) return 3889; + return 3896; + } + short RedstoneWallTorch(); + eBlockFace Facing(short ID); + bool Lit(short ID); + } + namespace RedstoneWire + { + enum class East + { + Up, + Side, + None + }; + enum class North + { + Up, + Side, + None + }; + enum class South + { + Up, + Side, + None + }; + enum class West + { + Up, + Side, + None + }; + constexpr short RedstoneWire(enum East East, enum North North, unsigned char Power, enum South South, enum West West) + { + if (Power == 15 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 3061; + if (Power == 15 && South == South::None && West == West::None && East == East::None && North == North::Up) return 3065; + if (Power == 0 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3069; + if (Power == 0 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3073; + if (Power == 1 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3077; + if (Power == 1 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3081; + if (Power == 2 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3085; + if (Power == 2 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3089; + if (Power == 3 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3093; + if (Power == 3 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3097; + if (Power == 3 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3101; + if (Power == 4 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3105; + if (Power == 4 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3109; + if (Power == 5 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3113; + if (Power == 5 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3117; + if (Power == 6 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3121; + if (Power == 6 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3125; + if (Power == 7 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3129; + if (Power == 7 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3133; + if (Power == 7 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3137; + if (Power == 8 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3141; + if (Power == 8 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3145; + if (Power == 9 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3149; + if (Power == 9 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3153; + if (Power == 10 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3157; + if (Power == 10 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3161; + if (Power == 11 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3165; + if (Power == 11 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3169; + if (Power == 11 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3173; + if (Power == 12 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3177; + if (Power == 12 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3181; + if (Power == 13 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3185; + if (Power == 13 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3189; + if (Power == 14 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3193; + if (Power == 14 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3197; + if (Power == 15 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3201; + if (Power == 15 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3205; + if (Power == 15 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3209; + if (Power == 0 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3213; + if (Power == 0 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3217; + if (Power == 1 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3221; + if (Power == 1 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3225; + if (Power == 2 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3229; + if (Power == 2 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3233; + if (Power == 3 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3237; + if (Power == 3 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3241; + if (Power == 3 && South == South::None && West == West::None && East == East::None && North == North::None) return 3245; + if (Power == 4 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3249; + if (Power == 4 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3253; + if (Power == 5 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3257; + if (Power == 5 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3261; + if (Power == 6 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3265; + if (Power == 6 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3269; + if (Power == 7 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3273; + if (Power == 7 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3277; + if (Power == 7 && South == South::None && West == West::None && East == East::None && North == North::None) return 3281; + if (Power == 8 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3285; + if (Power == 8 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3289; + if (Power == 9 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3293; + if (Power == 9 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3297; + if (Power == 10 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3301; + if (Power == 10 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3305; + if (Power == 11 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3309; + if (Power == 11 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3313; + if (Power == 11 && South == South::None && West == West::None && East == East::None && North == North::None) return 3317; + if (Power == 12 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3321; + if (Power == 12 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3325; + if (Power == 13 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3329; + if (Power == 13 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3333; + if (Power == 14 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3337; + if (Power == 14 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3341; + if (Power == 15 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3345; + if (Power == 15 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3349; + if (Power == 15 && South == South::None && West == West::None && East == East::None && North == North::None) return 3353; + if (Power == 0 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2058; + if (Power == 0 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2062; + if (Power == 0 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2066; + if (Power == 1 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2070; + if (Power == 1 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2074; + if (Power == 2 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2078; + if (Power == 2 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2082; + if (Power == 3 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2086; + if (Power == 3 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2090; + if (Power == 4 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2094; + if (Power == 4 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2098; + if (Power == 4 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2102; + if (Power == 5 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2106; + if (Power == 5 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2110; + if (Power == 6 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2114; + if (Power == 6 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2118; + if (Power == 7 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2122; + if (Power == 7 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2126; + if (Power == 8 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2130; + if (Power == 8 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2134; + if (Power == 8 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2138; + if (Power == 9 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2142; + if (Power == 9 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2146; + if (Power == 10 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2150; + if (Power == 10 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2154; + if (Power == 11 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2158; + if (Power == 11 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2162; + if (Power == 12 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2166; + if (Power == 12 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2170; + if (Power == 12 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2174; + if (Power == 13 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2178; + if (Power == 13 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2182; + if (Power == 14 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2186; + if (Power == 14 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2190; + if (Power == 15 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2194; + if (Power == 15 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2198; + if (Power == 0 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2202; + if (Power == 0 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2206; + if (Power == 0 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2210; + if (Power == 1 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2214; + if (Power == 1 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2218; + if (Power == 2 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2222; + if (Power == 2 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2226; + if (Power == 3 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2230; + if (Power == 3 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2234; + if (Power == 4 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2238; + if (Power == 4 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2242; + if (Power == 4 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2246; + if (Power == 5 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2250; + if (Power == 5 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2254; + if (Power == 6 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2258; + if (Power == 6 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2262; + if (Power == 7 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2266; + if (Power == 7 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2270; + if (Power == 8 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2274; + if (Power == 8 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2278; + if (Power == 8 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2282; + if (Power == 9 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2286; + if (Power == 9 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2290; + if (Power == 10 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2294; + if (Power == 10 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2298; + if (Power == 11 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2302; + if (Power == 11 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2306; + if (Power == 12 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2310; + if (Power == 12 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2314; + if (Power == 12 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2318; + if (Power == 13 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2322; + if (Power == 13 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2326; + if (Power == 14 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2330; + if (Power == 14 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2334; + if (Power == 15 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2338; + if (Power == 15 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2342; + if (Power == 0 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2346; + if (Power == 0 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2350; + if (Power == 0 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2354; + if (Power == 1 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2358; + if (Power == 1 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2362; + if (Power == 2 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2366; + if (Power == 2 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2370; + if (Power == 3 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2374; + if (Power == 3 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2378; + if (Power == 4 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2382; + if (Power == 4 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2386; + if (Power == 4 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2390; + if (Power == 5 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2394; + if (Power == 5 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2398; + if (Power == 6 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2402; + if (Power == 6 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2406; + if (Power == 7 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2410; + if (Power == 7 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2414; + if (Power == 8 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2418; + if (Power == 8 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2422; + if (Power == 8 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2426; + if (Power == 9 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2430; + if (Power == 9 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2434; + if (Power == 10 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2438; + if (Power == 10 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2442; + if (Power == 11 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2446; + if (Power == 11 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2450; + if (Power == 12 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2454; + if (Power == 12 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2458; + if (Power == 12 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2462; + if (Power == 13 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2466; + if (Power == 13 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2470; + if (Power == 14 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2474; + if (Power == 14 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2478; + if (Power == 15 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2482; + if (Power == 15 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2486; + if (Power == 0 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2490; + if (Power == 0 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2494; + if (Power == 0 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2498; + if (Power == 1 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2502; + if (Power == 1 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2506; + if (Power == 2 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2510; + if (Power == 2 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2514; + if (Power == 3 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2518; + if (Power == 3 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2522; + if (Power == 4 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2526; + if (Power == 4 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2530; + if (Power == 4 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2534; + if (Power == 5 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2538; + if (Power == 5 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2542; + if (Power == 6 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2546; + if (Power == 6 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2550; + if (Power == 7 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2554; + if (Power == 7 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2558; + if (Power == 8 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2562; + if (Power == 8 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2566; + if (Power == 8 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2570; + if (Power == 9 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2574; + if (Power == 9 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2578; + if (Power == 10 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2582; + if (Power == 10 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2586; + if (Power == 11 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2590; + if (Power == 11 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2594; + if (Power == 12 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2598; + if (Power == 12 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2602; + if (Power == 12 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2606; + if (Power == 13 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2610; + if (Power == 13 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2614; + if (Power == 14 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2618; + if (Power == 14 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2622; + if (Power == 15 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2626; + if (Power == 15 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2630; + if (Power == 0 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2634; + if (Power == 0 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2638; + if (Power == 0 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2642; + if (Power == 1 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2646; + if (Power == 1 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2650; + if (Power == 2 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2654; + if (Power == 2 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2658; + if (Power == 3 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2662; + if (Power == 3 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2666; + if (Power == 4 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2670; + if (Power == 4 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2674; + if (Power == 4 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2678; + if (Power == 5 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2682; + if (Power == 5 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2686; + if (Power == 6 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2690; + if (Power == 6 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2694; + if (Power == 7 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2698; + if (Power == 7 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2702; + if (Power == 8 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2706; + if (Power == 8 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2710; + if (Power == 8 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2714; + if (Power == 9 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2718; + if (Power == 9 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2722; + if (Power == 10 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2726; + if (Power == 10 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2730; + if (Power == 11 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2734; + if (Power == 11 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2738; + if (Power == 12 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2742; + if (Power == 12 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2746; + if (Power == 12 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2750; + if (Power == 13 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2754; + if (Power == 13 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2758; + if (Power == 14 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2762; + if (Power == 14 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2766; + if (Power == 15 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2770; + if (Power == 15 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2774; + if (Power == 0 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2778; + if (Power == 0 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2782; + if (Power == 0 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2786; + if (Power == 1 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2790; + if (Power == 1 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2794; + if (Power == 2 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2798; + if (Power == 2 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2802; + if (Power == 3 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2806; + if (Power == 3 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2810; + if (Power == 4 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2814; + if (Power == 4 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2818; + if (Power == 4 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2822; + if (Power == 5 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2826; + if (Power == 5 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2830; + if (Power == 6 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2834; + if (Power == 6 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2838; + if (Power == 7 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2842; + if (Power == 7 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2846; + if (Power == 8 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2850; + if (Power == 8 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2854; + if (Power == 8 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2858; + if (Power == 9 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2862; + if (Power == 9 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2866; + if (Power == 10 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2870; + if (Power == 10 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2874; + if (Power == 11 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2878; + if (Power == 11 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2882; + if (Power == 12 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2886; + if (Power == 12 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2890; + if (Power == 12 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2894; + if (Power == 13 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2898; + if (Power == 13 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2902; + if (Power == 14 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2906; + if (Power == 14 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2910; + if (Power == 15 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2914; + if (Power == 15 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2918; + if (Power == 0 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 2922; + if (Power == 0 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 2926; + if (Power == 0 && South == South::None && West == West::None && East == East::None && North == North::Up) return 2930; + if (Power == 1 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 2934; + if (Power == 1 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 2938; + if (Power == 2 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 2942; + if (Power == 2 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 2946; + if (Power == 3 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 2950; + if (Power == 3 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 2954; + if (Power == 4 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 2958; + if (Power == 4 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 2962; + if (Power == 4 && South == South::None && West == West::None && East == East::None && North == North::Up) return 2966; + if (Power == 5 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 2970; + if (Power == 5 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 2974; + if (Power == 6 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 2978; + if (Power == 6 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 2982; + if (Power == 7 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 2986; + if (Power == 7 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 2990; + if (Power == 8 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 2994; + if (Power == 8 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 2998; + if (Power == 8 && South == South::None && West == West::None && East == East::None && North == North::Up) return 3002; + if (Power == 9 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 3006; + if (Power == 9 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 3010; + if (Power == 10 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 3014; + if (Power == 10 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 3018; + if (Power == 11 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 3022; + if (Power == 11 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 3026; + if (Power == 12 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 3030; + if (Power == 12 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 3034; + if (Power == 12 && South == South::None && West == West::None && East == East::None && North == North::Up) return 3038; + if (Power == 13 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 3042; + if (Power == 13 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 3046; + if (Power == 14 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 3050; + if (Power == 14 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 3054; + if (Power == 15 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 3058; + if (Power == 15 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 3062; + if (Power == 0 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3066; + if (Power == 0 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3070; + if (Power == 0 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3074; + if (Power == 1 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3078; + if (Power == 1 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3082; + if (Power == 2 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3086; + if (Power == 2 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3090; + if (Power == 3 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3094; + if (Power == 3 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3098; + if (Power == 4 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3102; + if (Power == 4 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3106; + if (Power == 4 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3110; + if (Power == 5 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3114; + if (Power == 5 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3118; + if (Power == 6 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3122; + if (Power == 6 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3126; + if (Power == 7 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3130; + if (Power == 7 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3134; + if (Power == 8 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3138; + if (Power == 8 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3142; + if (Power == 8 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3146; + if (Power == 9 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3150; + if (Power == 9 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3154; + if (Power == 10 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3158; + if (Power == 10 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3162; + if (Power == 11 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3166; + if (Power == 11 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3170; + if (Power == 12 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3174; + if (Power == 12 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3178; + if (Power == 12 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3182; + if (Power == 13 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3186; + if (Power == 13 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3190; + if (Power == 14 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3194; + if (Power == 14 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3198; + if (Power == 15 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3202; + if (Power == 15 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3206; + if (Power == 0 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3210; + if (Power == 0 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3214; + if (Power == 0 && South == South::None && West == West::None && East == East::None && North == North::None) return 3218; + if (Power == 1 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3222; + if (Power == 1 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3226; + if (Power == 2 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3230; + if (Power == 2 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3234; + if (Power == 3 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3238; + if (Power == 3 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3242; + if (Power == 4 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3246; + if (Power == 4 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3250; + if (Power == 4 && South == South::None && West == West::None && East == East::None && North == North::None) return 3254; + if (Power == 5 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3258; + if (Power == 5 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3262; + if (Power == 6 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3266; + if (Power == 6 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3270; + if (Power == 7 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3274; + if (Power == 7 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3278; + if (Power == 8 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3282; + if (Power == 8 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3286; + if (Power == 8 && South == South::None && West == West::None && East == East::None && North == North::None) return 3290; + if (Power == 9 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3294; + if (Power == 9 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3298; + if (Power == 10 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3302; + if (Power == 10 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3306; + if (Power == 11 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3310; + if (Power == 11 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3314; + if (Power == 12 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3318; + if (Power == 12 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3322; + if (Power == 12 && South == South::None && West == West::None && East == East::None && North == North::None) return 3326; + if (Power == 13 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3330; + if (Power == 13 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3334; + if (Power == 14 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3338; + if (Power == 14 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3342; + if (Power == 15 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3346; + if (Power == 15 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3350; + if (Power == 0 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2059; + if (Power == 0 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2063; + if (Power == 1 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2067; + if (Power == 1 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2071; + if (Power == 1 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2075; + if (Power == 2 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2079; + if (Power == 2 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2083; + if (Power == 3 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2087; + if (Power == 3 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2091; + if (Power == 4 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2095; + if (Power == 4 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2099; + if (Power == 5 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2103; + if (Power == 5 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2107; + if (Power == 5 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2111; + if (Power == 6 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2115; + if (Power == 6 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2119; + if (Power == 7 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2123; + if (Power == 7 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2127; + if (Power == 8 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2131; + if (Power == 8 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2135; + if (Power == 9 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2139; + if (Power == 9 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2143; + if (Power == 9 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2147; + if (Power == 10 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2151; + if (Power == 10 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2155; + if (Power == 11 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2159; + if (Power == 11 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2163; + if (Power == 12 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2167; + if (Power == 12 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2171; + if (Power == 13 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2175; + if (Power == 13 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2179; + if (Power == 13 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2183; + if (Power == 14 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2187; + if (Power == 14 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2191; + if (Power == 15 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2195; + if (Power == 15 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2199; + if (Power == 0 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2203; + if (Power == 0 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2207; + if (Power == 1 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2211; + if (Power == 1 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2215; + if (Power == 1 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2219; + if (Power == 2 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2223; + if (Power == 2 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2227; + if (Power == 3 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2231; + if (Power == 3 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2235; + if (Power == 4 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2239; + if (Power == 4 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2243; + if (Power == 5 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2247; + if (Power == 5 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2251; + if (Power == 5 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2255; + if (Power == 6 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2259; + if (Power == 6 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2263; + if (Power == 7 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2267; + if (Power == 7 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2271; + if (Power == 8 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2275; + if (Power == 8 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2279; + if (Power == 9 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2283; + if (Power == 9 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2287; + if (Power == 9 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2291; + if (Power == 10 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2295; + if (Power == 10 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2299; + if (Power == 11 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2303; + if (Power == 11 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2307; + if (Power == 12 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2311; + if (Power == 12 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2315; + if (Power == 13 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2319; + if (Power == 13 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2323; + if (Power == 13 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2327; + if (Power == 14 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2331; + if (Power == 14 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2335; + if (Power == 15 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2339; + if (Power == 15 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2343; + if (Power == 0 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2347; + if (Power == 0 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2351; + if (Power == 1 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2355; + if (Power == 1 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2359; + if (Power == 1 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2363; + if (Power == 2 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2367; + if (Power == 2 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2371; + if (Power == 3 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2375; + if (Power == 3 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2379; + if (Power == 4 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2383; + if (Power == 4 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2387; + if (Power == 5 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2391; + if (Power == 5 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2395; + if (Power == 5 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2399; + if (Power == 6 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2403; + if (Power == 6 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2407; + if (Power == 7 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2411; + if (Power == 7 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2415; + if (Power == 8 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2419; + if (Power == 8 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2423; + if (Power == 9 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2427; + if (Power == 9 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2431; + if (Power == 9 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2435; + if (Power == 10 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2439; + if (Power == 10 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2443; + if (Power == 11 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2447; + if (Power == 11 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2451; + if (Power == 12 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2455; + if (Power == 12 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2459; + if (Power == 13 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2463; + if (Power == 13 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2467; + if (Power == 13 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2471; + if (Power == 14 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2475; + if (Power == 14 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2479; + if (Power == 15 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2483; + if (Power == 15 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2487; + if (Power == 0 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2491; + if (Power == 0 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2495; + if (Power == 1 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2499; + if (Power == 1 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2503; + if (Power == 1 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2507; + if (Power == 2 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2511; + if (Power == 2 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2515; + if (Power == 3 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2519; + if (Power == 3 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2523; + if (Power == 4 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2527; + if (Power == 4 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2531; + if (Power == 5 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2535; + if (Power == 5 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2539; + if (Power == 5 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2543; + if (Power == 6 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2547; + if (Power == 6 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2551; + if (Power == 7 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2555; + if (Power == 7 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2559; + if (Power == 8 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2563; + if (Power == 8 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2567; + if (Power == 9 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2571; + if (Power == 9 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2575; + if (Power == 9 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2579; + if (Power == 10 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2583; + if (Power == 10 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2587; + if (Power == 11 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2591; + if (Power == 11 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2595; + if (Power == 12 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2599; + if (Power == 12 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2603; + if (Power == 13 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2607; + if (Power == 13 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2611; + if (Power == 13 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2615; + if (Power == 14 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2619; + if (Power == 14 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2623; + if (Power == 15 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2627; + if (Power == 15 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2631; + if (Power == 0 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2635; + if (Power == 0 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2639; + if (Power == 1 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2643; + if (Power == 1 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2647; + if (Power == 1 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2651; + if (Power == 2 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2655; + if (Power == 2 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2659; + if (Power == 3 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2663; + if (Power == 3 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2667; + if (Power == 4 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2671; + if (Power == 4 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2675; + if (Power == 5 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2679; + if (Power == 5 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2683; + if (Power == 5 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2687; + if (Power == 6 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2691; + if (Power == 6 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2695; + if (Power == 7 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2699; + if (Power == 7 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2703; + if (Power == 8 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2707; + if (Power == 8 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2711; + if (Power == 9 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2715; + if (Power == 9 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2719; + if (Power == 9 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2723; + if (Power == 10 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2727; + if (Power == 10 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2731; + if (Power == 11 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2735; + if (Power == 11 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2739; + if (Power == 12 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2743; + if (Power == 12 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2747; + if (Power == 13 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2751; + if (Power == 13 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2755; + if (Power == 13 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2759; + if (Power == 14 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2763; + if (Power == 14 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2767; + if (Power == 15 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2771; + if (Power == 15 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2775; + if (Power == 0 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2779; + if (Power == 0 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2783; + if (Power == 1 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2787; + if (Power == 1 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2791; + if (Power == 1 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2795; + if (Power == 2 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2799; + if (Power == 2 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2803; + if (Power == 3 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2807; + if (Power == 3 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2811; + if (Power == 4 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2815; + if (Power == 4 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2819; + if (Power == 5 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2823; + if (Power == 5 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2827; + if (Power == 5 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2831; + if (Power == 6 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2835; + if (Power == 6 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2839; + if (Power == 7 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2843; + if (Power == 7 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2847; + if (Power == 8 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2851; + if (Power == 8 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2855; + if (Power == 9 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2859; + if (Power == 9 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2863; + if (Power == 9 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2867; + if (Power == 10 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2871; + if (Power == 10 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2875; + if (Power == 11 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2879; + if (Power == 11 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2883; + if (Power == 12 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2887; + if (Power == 12 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2891; + if (Power == 13 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2895; + if (Power == 13 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2899; + if (Power == 13 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2903; + if (Power == 14 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2907; + if (Power == 14 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2911; + if (Power == 15 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2915; + if (Power == 15 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2919; + if (Power == 0 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 2923; + if (Power == 0 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 2927; + if (Power == 1 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 2931; + if (Power == 1 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 2935; + if (Power == 1 && South == South::None && West == West::None && East == East::None && North == North::Up) return 2939; + if (Power == 2 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 2943; + if (Power == 2 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 2947; + if (Power == 3 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 2951; + if (Power == 3 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 2955; + if (Power == 4 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 2959; + if (Power == 4 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 2963; + if (Power == 5 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 2967; + if (Power == 5 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 2971; + if (Power == 5 && South == South::None && West == West::None && East == East::None && North == North::Up) return 2975; + if (Power == 6 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 2979; + if (Power == 6 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 2983; + if (Power == 7 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 2987; + if (Power == 7 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 2991; + if (Power == 8 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 2995; + if (Power == 8 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 2999; + if (Power == 9 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 3003; + if (Power == 9 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 3007; + if (Power == 9 && South == South::None && West == West::None && East == East::None && North == North::Up) return 3011; + if (Power == 10 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 3015; + if (Power == 10 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 3019; + if (Power == 11 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 3023; + if (Power == 11 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 3027; + if (Power == 12 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 3031; + if (Power == 12 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 3035; + if (Power == 13 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 3039; + if (Power == 13 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 3043; + if (Power == 13 && South == South::None && West == West::None && East == East::None && North == North::Up) return 3047; + if (Power == 14 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 3051; + if (Power == 14 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 3055; + if (Power == 15 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 3059; + if (Power == 15 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 3063; + if (Power == 0 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3067; + if (Power == 0 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3071; + if (Power == 1 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3075; + if (Power == 1 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3079; + if (Power == 1 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3083; + if (Power == 2 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3087; + if (Power == 2 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3091; + if (Power == 3 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3095; + if (Power == 3 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3099; + if (Power == 4 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3103; + if (Power == 4 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3107; + if (Power == 5 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3111; + if (Power == 5 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3115; + if (Power == 5 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3119; + if (Power == 6 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3123; + if (Power == 6 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3127; + if (Power == 7 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3131; + if (Power == 7 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3135; + if (Power == 8 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3139; + if (Power == 8 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3143; + if (Power == 9 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3147; + if (Power == 9 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3151; + if (Power == 9 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3155; + if (Power == 10 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3159; + if (Power == 10 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3163; + if (Power == 11 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3167; + if (Power == 11 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3171; + if (Power == 12 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3175; + if (Power == 12 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3179; + if (Power == 13 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3183; + if (Power == 13 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3187; + if (Power == 13 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3191; + if (Power == 14 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3195; + if (Power == 14 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3199; + if (Power == 15 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3203; + if (Power == 15 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3207; + if (Power == 0 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3211; + if (Power == 0 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3215; + if (Power == 1 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3219; + if (Power == 1 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3223; + if (Power == 1 && South == South::None && West == West::None && East == East::None && North == North::None) return 3227; + if (Power == 2 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3231; + if (Power == 2 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3235; + if (Power == 3 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3239; + if (Power == 3 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3243; + if (Power == 4 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3247; + if (Power == 4 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3251; + if (Power == 5 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3255; + if (Power == 5 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3259; + if (Power == 5 && South == South::None && West == West::None && East == East::None && North == North::None) return 3263; + if (Power == 6 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3267; + if (Power == 6 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3271; + if (Power == 7 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3275; + if (Power == 7 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3279; + if (Power == 8 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3283; + if (Power == 8 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3287; + if (Power == 9 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3291; + if (Power == 9 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3295; + if (Power == 9 && South == South::None && West == West::None && East == East::None && North == North::None) return 3299; + if (Power == 10 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3303; + if (Power == 10 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3307; + if (Power == 11 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3311; + if (Power == 11 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3315; + if (Power == 12 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3319; + if (Power == 12 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3323; + if (Power == 13 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3327; + if (Power == 13 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3331; + if (Power == 13 && South == South::None && West == West::None && East == East::None && North == North::None) return 3335; + if (Power == 14 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3339; + if (Power == 14 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3343; + if (Power == 15 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3347; + if (Power == 15 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3351; + if (Power == 0 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2060; + if (Power == 0 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2064; + if (Power == 1 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2068; + if (Power == 1 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2072; + if (Power == 2 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2076; + if (Power == 2 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2080; + if (Power == 2 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2084; + if (Power == 3 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2088; + if (Power == 3 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2092; + if (Power == 4 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2096; + if (Power == 4 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2100; + if (Power == 5 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2104; + if (Power == 5 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2108; + if (Power == 6 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2112; + if (Power == 6 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2116; + if (Power == 6 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2120; + if (Power == 7 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2124; + if (Power == 7 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2128; + if (Power == 8 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2132; + if (Power == 8 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2136; + if (Power == 9 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2140; + if (Power == 9 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2144; + if (Power == 10 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2148; + if (Power == 10 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2152; + if (Power == 10 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2156; + if (Power == 11 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2160; + if (Power == 11 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2164; + if (Power == 12 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2168; + if (Power == 12 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2172; + if (Power == 13 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2176; + if (Power == 13 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2180; + if (Power == 14 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2184; + if (Power == 14 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2188; + if (Power == 14 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2192; + if (Power == 15 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2196; + if (Power == 15 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2200; + if (Power == 0 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2204; + if (Power == 0 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2208; + if (Power == 1 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2212; + if (Power == 1 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2216; + if (Power == 2 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2220; + if (Power == 2 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2224; + if (Power == 2 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2228; + if (Power == 3 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2232; + if (Power == 3 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2236; + if (Power == 4 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2240; + if (Power == 4 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2244; + if (Power == 5 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2248; + if (Power == 5 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2252; + if (Power == 6 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2256; + if (Power == 6 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2260; + if (Power == 6 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2264; + if (Power == 7 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2268; + if (Power == 7 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2272; + if (Power == 8 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2276; + if (Power == 8 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2280; + if (Power == 9 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2284; + if (Power == 9 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2288; + if (Power == 10 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2292; + if (Power == 10 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2296; + if (Power == 10 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2300; + if (Power == 11 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2304; + if (Power == 11 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2308; + if (Power == 12 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2312; + if (Power == 12 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2316; + if (Power == 13 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2320; + if (Power == 13 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2324; + if (Power == 14 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2328; + if (Power == 14 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2332; + if (Power == 14 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2336; + if (Power == 15 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2340; + if (Power == 15 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2344; + if (Power == 0 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2348; + if (Power == 0 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2352; + if (Power == 1 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2356; + if (Power == 1 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2360; + if (Power == 2 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2364; + if (Power == 2 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2368; + if (Power == 2 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2372; + if (Power == 3 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2376; + if (Power == 3 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2380; + if (Power == 4 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2384; + if (Power == 4 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2388; + if (Power == 5 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2392; + if (Power == 5 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2396; + if (Power == 6 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2400; + if (Power == 6 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2404; + if (Power == 6 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2408; + if (Power == 7 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2412; + if (Power == 7 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2416; + if (Power == 8 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2420; + if (Power == 8 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2424; + if (Power == 9 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2428; + if (Power == 9 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2432; + if (Power == 10 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2436; + if (Power == 10 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2440; + if (Power == 10 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2444; + if (Power == 11 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2448; + if (Power == 11 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2452; + if (Power == 12 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2456; + if (Power == 12 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2460; + if (Power == 13 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2464; + if (Power == 13 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2468; + if (Power == 14 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2472; + if (Power == 14 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2476; + if (Power == 14 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2480; + if (Power == 15 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2484; + if (Power == 15 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2488; + if (Power == 0 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2492; + if (Power == 0 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2496; + if (Power == 1 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2500; + if (Power == 1 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2504; + if (Power == 2 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2508; + if (Power == 2 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2512; + if (Power == 2 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2516; + if (Power == 3 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2520; + if (Power == 3 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2524; + if (Power == 4 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2528; + if (Power == 4 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2532; + if (Power == 5 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2536; + if (Power == 5 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2540; + if (Power == 6 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2544; + if (Power == 6 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2548; + if (Power == 6 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2552; + if (Power == 7 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2556; + if (Power == 7 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2560; + if (Power == 8 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2564; + if (Power == 8 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2568; + if (Power == 9 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2572; + if (Power == 9 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2576; + if (Power == 10 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2580; + if (Power == 10 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2584; + if (Power == 10 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2588; + if (Power == 11 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2592; + if (Power == 11 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2596; + if (Power == 12 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2600; + if (Power == 12 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2604; + if (Power == 13 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2608; + if (Power == 13 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2612; + if (Power == 14 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2616; + if (Power == 14 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2620; + if (Power == 14 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2624; + if (Power == 15 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2628; + if (Power == 15 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2632; + if (Power == 0 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2636; + if (Power == 0 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2640; + if (Power == 1 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2644; + if (Power == 1 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2648; + if (Power == 2 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2652; + if (Power == 2 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2656; + if (Power == 2 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2660; + if (Power == 3 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2664; + if (Power == 3 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2668; + if (Power == 4 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2672; + if (Power == 4 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2676; + if (Power == 5 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2680; + if (Power == 5 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2684; + if (Power == 6 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2688; + if (Power == 6 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2692; + if (Power == 6 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2696; + if (Power == 7 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2700; + if (Power == 7 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2704; + if (Power == 8 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2708; + if (Power == 8 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2712; + if (Power == 9 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2716; + if (Power == 9 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2720; + if (Power == 10 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2724; + if (Power == 10 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2728; + if (Power == 10 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2732; + if (Power == 11 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2736; + if (Power == 11 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2740; + if (Power == 12 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2744; + if (Power == 12 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2748; + if (Power == 13 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2752; + if (Power == 13 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2756; + if (Power == 14 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2760; + if (Power == 14 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2764; + if (Power == 14 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2768; + if (Power == 15 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2772; + if (Power == 15 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2776; + if (Power == 0 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2780; + if (Power == 0 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2784; + if (Power == 1 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2788; + if (Power == 1 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2792; + if (Power == 2 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2796; + if (Power == 2 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2800; + if (Power == 2 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2804; + if (Power == 3 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2808; + if (Power == 3 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2812; + if (Power == 4 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2816; + if (Power == 4 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2820; + if (Power == 5 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2824; + if (Power == 5 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2828; + if (Power == 6 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2832; + if (Power == 6 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2836; + if (Power == 6 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2840; + if (Power == 7 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2844; + if (Power == 7 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2848; + if (Power == 8 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2852; + if (Power == 8 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2856; + if (Power == 9 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2860; + if (Power == 9 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2864; + if (Power == 10 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2868; + if (Power == 10 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2872; + if (Power == 10 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2876; + if (Power == 11 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2880; + if (Power == 11 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2884; + if (Power == 12 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2888; + if (Power == 12 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2892; + if (Power == 13 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2896; + if (Power == 13 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2900; + if (Power == 14 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2904; + if (Power == 14 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2908; + if (Power == 14 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2912; + if (Power == 15 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2916; + if (Power == 15 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2920; + if (Power == 0 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 2924; + if (Power == 0 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 2928; + if (Power == 1 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 2932; + if (Power == 1 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 2936; + if (Power == 2 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 2940; + if (Power == 2 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 2944; + if (Power == 2 && South == South::None && West == West::None && East == East::None && North == North::Up) return 2948; + if (Power == 3 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 2952; + if (Power == 3 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 2956; + if (Power == 4 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 2960; + if (Power == 4 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 2964; + if (Power == 5 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 2968; + if (Power == 5 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 2972; + if (Power == 6 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 2976; + if (Power == 6 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 2980; + if (Power == 6 && South == South::None && West == West::None && East == East::None && North == North::Up) return 2984; + if (Power == 7 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 2988; + if (Power == 7 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 2992; + if (Power == 8 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 2996; + if (Power == 8 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 3000; + if (Power == 9 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 3004; + if (Power == 9 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 3008; + if (Power == 10 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 3012; + if (Power == 10 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 3016; + if (Power == 10 && South == South::None && West == West::None && East == East::None && North == North::Up) return 3020; + if (Power == 11 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 3024; + if (Power == 11 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 3028; + if (Power == 12 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 3032; + if (Power == 12 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 3036; + if (Power == 13 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 3040; + if (Power == 13 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 3044; + if (Power == 14 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 3048; + if (Power == 14 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 3052; + if (Power == 14 && South == South::None && West == West::None && East == East::None && North == North::Up) return 3056; + if (Power == 15 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 3060; + if (Power == 15 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 3064; + if (Power == 0 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3068; + if (Power == 0 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3072; + if (Power == 1 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3076; + if (Power == 1 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3080; + if (Power == 2 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3084; + if (Power == 2 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3088; + if (Power == 2 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3092; + if (Power == 3 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3096; + if (Power == 3 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3100; + if (Power == 4 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3104; + if (Power == 4 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3108; + if (Power == 5 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3112; + if (Power == 5 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3116; + if (Power == 6 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3120; + if (Power == 6 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3124; + if (Power == 6 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3128; + if (Power == 7 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3132; + if (Power == 7 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3136; + if (Power == 8 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3140; + if (Power == 8 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3144; + if (Power == 9 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3148; + if (Power == 9 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3152; + if (Power == 10 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3156; + if (Power == 10 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3160; + if (Power == 10 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3164; + if (Power == 11 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3168; + if (Power == 11 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3172; + if (Power == 12 && South == South::Up && West == West::None && East == East::None && North == North::Side) return 3176; + if (Power == 12 && South == South::None && West == West::Up && East == East::None && North == North::Side) return 3180; + if (Power == 13 && South == South::Up && West == West::Side && East == East::None && North == North::Side) return 3184; + if (Power == 13 && South == South::Side && West == West::None && East == East::None && North == North::Side) return 3188; + if (Power == 14 && South == South::Up && West == West::Up && East == East::None && North == North::Side) return 3192; + if (Power == 14 && South == South::Side && West == West::Side && East == East::None && North == North::Side) return 3196; + if (Power == 14 && South == South::None && West == West::None && East == East::None && North == North::Side) return 3200; + if (Power == 15 && South == South::Side && West == West::Up && East == East::None && North == North::Side) return 3204; + if (Power == 15 && South == South::None && West == West::Side && East == East::None && North == North::Side) return 3208; + if (Power == 0 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3212; + if (Power == 0 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3216; + if (Power == 1 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3220; + if (Power == 1 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3224; + if (Power == 2 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3228; + if (Power == 2 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3232; + if (Power == 2 && South == South::None && West == West::None && East == East::None && North == North::None) return 3236; + if (Power == 3 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3240; + if (Power == 3 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3244; + if (Power == 4 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3248; + if (Power == 4 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3252; + if (Power == 5 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3256; + if (Power == 5 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3260; + if (Power == 6 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3264; + if (Power == 6 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3268; + if (Power == 6 && South == South::None && West == West::None && East == East::None && North == North::None) return 3272; + if (Power == 7 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3276; + if (Power == 7 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3280; + if (Power == 8 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3284; + if (Power == 8 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3288; + if (Power == 9 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3292; + if (Power == 9 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3296; + if (Power == 10 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3300; + if (Power == 10 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3304; + if (Power == 10 && South == South::None && West == West::None && East == East::None && North == North::None) return 3308; + if (Power == 11 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3312; + if (Power == 11 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3316; + if (Power == 12 && South == South::Up && West == West::None && East == East::None && North == North::None) return 3320; + if (Power == 12 && South == South::None && West == West::Up && East == East::None && North == North::None) return 3324; + if (Power == 13 && South == South::Up && West == West::Side && East == East::None && North == North::None) return 3328; + if (Power == 13 && South == South::Side && West == West::None && East == East::None && North == North::None) return 3332; + if (Power == 14 && South == South::Up && West == West::Up && East == East::None && North == North::None) return 3336; + if (Power == 14 && South == South::Side && West == West::Side && East == East::None && North == North::None) return 3340; + if (Power == 14 && South == South::None && West == West::None && East == East::None && North == North::None) return 3344; + if (Power == 15 && South == South::Side && West == West::Up && East == East::None && North == North::None) return 3348; + if (Power == 15 && South == South::None && West == West::Side && East == East::None && North == North::None) return 3352; + if (Power == 0 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2061; + if (Power == 0 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2065; + if (Power == 1 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2069; + if (Power == 1 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2073; + if (Power == 2 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2077; + if (Power == 2 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2081; + if (Power == 3 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2085; + if (Power == 3 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2089; + if (Power == 3 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2093; + if (Power == 4 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2097; + if (Power == 4 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2101; + if (Power == 5 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2105; + if (Power == 5 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2109; + if (Power == 6 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2113; + if (Power == 6 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2117; + if (Power == 7 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2121; + if (Power == 7 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2125; + if (Power == 7 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2129; + if (Power == 8 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2133; + if (Power == 8 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2137; + if (Power == 9 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2141; + if (Power == 9 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2145; + if (Power == 10 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2149; + if (Power == 10 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2153; + if (Power == 11 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2157; + if (Power == 11 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2161; + if (Power == 11 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2165; + if (Power == 12 && South == South::Side && West == West::Up && East == East::Up && North == North::Up) return 2169; + if (Power == 12 && South == South::None && West == West::Side && East == East::Up && North == North::Up) return 2173; + if (Power == 13 && South == South::Up && West == West::None && East == East::Up && North == North::Up) return 2177; + if (Power == 13 && South == South::None && West == West::Up && East == East::Up && North == North::Up) return 2181; + if (Power == 14 && South == South::Up && West == West::Side && East == East::Up && North == North::Up) return 2185; + if (Power == 14 && South == South::Side && West == West::None && East == East::Up && North == North::Up) return 2189; + if (Power == 15 && South == South::Up && West == West::Up && East == East::Up && North == North::Up) return 2193; + if (Power == 15 && South == South::Side && West == West::Side && East == East::Up && North == North::Up) return 2197; + if (Power == 15 && South == South::None && West == West::None && East == East::Up && North == North::Up) return 2201; + if (Power == 0 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2205; + if (Power == 0 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2209; + if (Power == 1 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2213; + if (Power == 1 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2217; + if (Power == 2 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2221; + if (Power == 2 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2225; + if (Power == 3 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2229; + if (Power == 3 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2233; + if (Power == 3 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2237; + if (Power == 4 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2241; + if (Power == 4 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2245; + if (Power == 5 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2249; + if (Power == 5 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2253; + if (Power == 6 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2257; + if (Power == 6 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2261; + if (Power == 7 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2265; + if (Power == 7 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2269; + if (Power == 7 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2273; + if (Power == 8 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2277; + if (Power == 8 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2281; + if (Power == 9 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2285; + if (Power == 9 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2289; + if (Power == 10 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2293; + if (Power == 10 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2297; + if (Power == 11 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2301; + if (Power == 11 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2305; + if (Power == 11 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2309; + if (Power == 12 && South == South::Side && West == West::Up && East == East::Up && North == North::Side) return 2313; + if (Power == 12 && South == South::None && West == West::Side && East == East::Up && North == North::Side) return 2317; + if (Power == 13 && South == South::Up && West == West::None && East == East::Up && North == North::Side) return 2321; + if (Power == 13 && South == South::None && West == West::Up && East == East::Up && North == North::Side) return 2325; + if (Power == 14 && South == South::Up && West == West::Side && East == East::Up && North == North::Side) return 2329; + if (Power == 14 && South == South::Side && West == West::None && East == East::Up && North == North::Side) return 2333; + if (Power == 15 && South == South::Up && West == West::Up && East == East::Up && North == North::Side) return 2337; + if (Power == 15 && South == South::Side && West == West::Side && East == East::Up && North == North::Side) return 2341; + if (Power == 15 && South == South::None && West == West::None && East == East::Up && North == North::Side) return 2345; + if (Power == 0 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2349; + if (Power == 0 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2353; + if (Power == 1 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2357; + if (Power == 1 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2361; + if (Power == 2 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2365; + if (Power == 2 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2369; + if (Power == 3 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2373; + if (Power == 3 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2377; + if (Power == 3 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2381; + if (Power == 4 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2385; + if (Power == 4 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2389; + if (Power == 5 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2393; + if (Power == 5 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2397; + if (Power == 6 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2401; + if (Power == 6 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2405; + if (Power == 7 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2409; + if (Power == 7 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2413; + if (Power == 7 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2417; + if (Power == 8 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2421; + if (Power == 8 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2425; + if (Power == 9 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2429; + if (Power == 9 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2433; + if (Power == 10 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2437; + if (Power == 10 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2441; + if (Power == 11 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2445; + if (Power == 11 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2449; + if (Power == 11 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2453; + if (Power == 12 && South == South::Side && West == West::Up && East == East::Up && North == North::None) return 2457; + if (Power == 12 && South == South::None && West == West::Side && East == East::Up && North == North::None) return 2461; + if (Power == 13 && South == South::Up && West == West::None && East == East::Up && North == North::None) return 2465; + if (Power == 13 && South == South::None && West == West::Up && East == East::Up && North == North::None) return 2469; + if (Power == 14 && South == South::Up && West == West::Side && East == East::Up && North == North::None) return 2473; + if (Power == 14 && South == South::Side && West == West::None && East == East::Up && North == North::None) return 2477; + if (Power == 15 && South == South::Up && West == West::Up && East == East::Up && North == North::None) return 2481; + if (Power == 15 && South == South::Side && West == West::Side && East == East::Up && North == North::None) return 2485; + if (Power == 15 && South == South::None && West == West::None && East == East::Up && North == North::None) return 2489; + if (Power == 0 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2493; + if (Power == 0 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2497; + if (Power == 1 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2501; + if (Power == 1 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2505; + if (Power == 2 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2509; + if (Power == 2 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2513; + if (Power == 3 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2517; + if (Power == 3 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2521; + if (Power == 3 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2525; + if (Power == 4 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2529; + if (Power == 4 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2533; + if (Power == 5 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2537; + if (Power == 5 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2541; + if (Power == 6 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2545; + if (Power == 6 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2549; + if (Power == 7 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2553; + if (Power == 7 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2557; + if (Power == 7 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2561; + if (Power == 8 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2565; + if (Power == 8 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2569; + if (Power == 9 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2573; + if (Power == 9 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2577; + if (Power == 10 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2581; + if (Power == 10 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2585; + if (Power == 11 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2589; + if (Power == 11 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2593; + if (Power == 11 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2597; + if (Power == 12 && South == South::Side && West == West::Up && East == East::Side && North == North::Up) return 2601; + if (Power == 12 && South == South::None && West == West::Side && East == East::Side && North == North::Up) return 2605; + if (Power == 13 && South == South::Up && West == West::None && East == East::Side && North == North::Up) return 2609; + if (Power == 13 && South == South::None && West == West::Up && East == East::Side && North == North::Up) return 2613; + if (Power == 14 && South == South::Up && West == West::Side && East == East::Side && North == North::Up) return 2617; + if (Power == 14 && South == South::Side && West == West::None && East == East::Side && North == North::Up) return 2621; + if (Power == 15 && South == South::Up && West == West::Up && East == East::Side && North == North::Up) return 2625; + if (Power == 15 && South == South::Side && West == West::Side && East == East::Side && North == North::Up) return 2629; + if (Power == 15 && South == South::None && West == West::None && East == East::Side && North == North::Up) return 2633; + if (Power == 0 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2637; + if (Power == 0 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2641; + if (Power == 1 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2645; + if (Power == 1 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2649; + if (Power == 2 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2653; + if (Power == 2 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2657; + if (Power == 3 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2661; + if (Power == 3 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2665; + if (Power == 3 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2669; + if (Power == 4 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2673; + if (Power == 4 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2677; + if (Power == 5 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2681; + if (Power == 5 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2685; + if (Power == 6 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2689; + if (Power == 6 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2693; + if (Power == 7 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2697; + if (Power == 7 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2701; + if (Power == 7 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2705; + if (Power == 8 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2709; + if (Power == 8 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2713; + if (Power == 9 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2717; + if (Power == 9 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2721; + if (Power == 10 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2725; + if (Power == 10 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2729; + if (Power == 11 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2733; + if (Power == 11 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2737; + if (Power == 11 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2741; + if (Power == 12 && South == South::Side && West == West::Up && East == East::Side && North == North::Side) return 2745; + if (Power == 12 && South == South::None && West == West::Side && East == East::Side && North == North::Side) return 2749; + if (Power == 13 && South == South::Up && West == West::None && East == East::Side && North == North::Side) return 2753; + if (Power == 13 && South == South::None && West == West::Up && East == East::Side && North == North::Side) return 2757; + if (Power == 14 && South == South::Up && West == West::Side && East == East::Side && North == North::Side) return 2761; + if (Power == 14 && South == South::Side && West == West::None && East == East::Side && North == North::Side) return 2765; + if (Power == 15 && South == South::Up && West == West::Up && East == East::Side && North == North::Side) return 2769; + if (Power == 15 && South == South::Side && West == West::Side && East == East::Side && North == North::Side) return 2773; + if (Power == 15 && South == South::None && West == West::None && East == East::Side && North == North::Side) return 2777; + if (Power == 0 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2781; + if (Power == 0 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2785; + if (Power == 1 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2789; + if (Power == 1 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2793; + if (Power == 2 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2797; + if (Power == 2 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2801; + if (Power == 3 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2805; + if (Power == 3 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2809; + if (Power == 3 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2813; + if (Power == 4 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2817; + if (Power == 4 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2821; + if (Power == 5 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2825; + if (Power == 5 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2829; + if (Power == 6 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2833; + if (Power == 6 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2837; + if (Power == 7 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2841; + if (Power == 7 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2845; + if (Power == 7 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2849; + if (Power == 8 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2853; + if (Power == 8 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2857; + if (Power == 9 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2861; + if (Power == 9 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2865; + if (Power == 10 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2869; + if (Power == 10 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2873; + if (Power == 11 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2877; + if (Power == 11 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2881; + if (Power == 11 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2885; + if (Power == 12 && South == South::Side && West == West::Up && East == East::Side && North == North::None) return 2889; + if (Power == 12 && South == South::None && West == West::Side && East == East::Side && North == North::None) return 2893; + if (Power == 13 && South == South::Up && West == West::None && East == East::Side && North == North::None) return 2897; + if (Power == 13 && South == South::None && West == West::Up && East == East::Side && North == North::None) return 2901; + if (Power == 14 && South == South::Up && West == West::Side && East == East::Side && North == North::None) return 2905; + if (Power == 14 && South == South::Side && West == West::None && East == East::Side && North == North::None) return 2909; + if (Power == 15 && South == South::Up && West == West::Up && East == East::Side && North == North::None) return 2913; + if (Power == 15 && South == South::Side && West == West::Side && East == East::Side && North == North::None) return 2917; + if (Power == 15 && South == South::None && West == West::None && East == East::Side && North == North::None) return 2921; + if (Power == 0 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 2925; + if (Power == 0 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 2929; + if (Power == 1 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 2933; + if (Power == 1 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 2937; + if (Power == 2 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 2941; + if (Power == 2 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 2945; + if (Power == 3 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 2949; + if (Power == 3 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 2953; + if (Power == 3 && South == South::None && West == West::None && East == East::None && North == North::Up) return 2957; + if (Power == 4 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 2961; + if (Power == 4 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 2965; + if (Power == 5 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 2969; + if (Power == 5 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 2973; + if (Power == 6 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 2977; + if (Power == 6 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 2981; + if (Power == 7 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 2985; + if (Power == 7 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 2989; + if (Power == 7 && South == South::None && West == West::None && East == East::None && North == North::Up) return 2993; + if (Power == 8 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 2997; + if (Power == 8 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 3001; + if (Power == 9 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 3005; + if (Power == 9 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 3009; + if (Power == 10 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 3013; + if (Power == 10 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 3017; + if (Power == 11 && South == South::Up && West == West::Up && East == East::None && North == North::Up) return 3021; + if (Power == 11 && South == South::Side && West == West::Side && East == East::None && North == North::Up) return 3025; + if (Power == 11 && South == South::None && West == West::None && East == East::None && North == North::Up) return 3029; + if (Power == 12 && South == South::Side && West == West::Up && East == East::None && North == North::Up) return 3033; + if (Power == 12 && South == South::None && West == West::Side && East == East::None && North == North::Up) return 3037; + if (Power == 13 && South == South::Up && West == West::None && East == East::None && North == North::Up) return 3041; + if (Power == 13 && South == South::None && West == West::Up && East == East::None && North == North::Up) return 3045; + if (Power == 14 && South == South::Up && West == West::Side && East == East::None && North == North::Up) return 3049; + if (Power == 14 && South == South::Side && West == West::None && East == East::None && North == North::Up) return 3053; + return 3057; + } + short RedstoneWire(); + enum East East(short ID); + enum North North(short ID); + unsigned char Power(short ID); + enum South South(short ID); + enum West West(short ID); + } + namespace Repeater + { + constexpr short Repeater(unsigned char Delay, eBlockFace Facing, bool Locked, bool Powered) + { + if (Locked && Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4051; + if (Locked && Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XP) return 4059; + if (Locked && Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4067; + if (Locked && Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XP) return 4075; + if (Locked && Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4083; + if (Locked && Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XP) return 4091; + if (Locked && !Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4036; + if (Locked && !Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XP) return 4044; + if (Locked && !Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4052; + if (Locked && !Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XP) return 4060; + if (Locked && !Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4068; + if (Locked && !Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XP) return 4076; + if (Locked && !Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4084; + if (Locked && !Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XP) return 4092; + if (!Locked && Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4037; + if (!Locked && Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XP) return 4045; + if (!Locked && Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4053; + if (!Locked && Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XP) return 4061; + if (!Locked && Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4069; + if (!Locked && Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XP) return 4077; + if (!Locked && Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4085; + if (!Locked && Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XP) return 4093; + if (!Locked && !Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4038; + if (!Locked && !Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XP) return 4046; + if (!Locked && !Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4054; + if (!Locked && !Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XP) return 4062; + if (!Locked && !Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4070; + if (!Locked && !Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XP) return 4078; + if (!Locked && !Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4086; + if (Locked && Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4031; + if (Locked && Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XM) return 4039; + if (Locked && Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4047; + if (Locked && Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XM) return 4055; + if (Locked && Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4063; + if (Locked && Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XM) return 4071; + if (Locked && Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4079; + if (Locked && Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XM) return 4087; + if (Locked && !Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4032; + if (Locked && !Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XM) return 4040; + if (Locked && !Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4048; + if (Locked && !Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XM) return 4056; + if (Locked && !Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4064; + if (Locked && !Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XM) return 4072; + if (Locked && !Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4080; + if (Locked && !Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XM) return 4088; + if (!Locked && Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4033; + if (!Locked && Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XM) return 4041; + if (!Locked && Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4049; + if (!Locked && Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XM) return 4057; + if (!Locked && Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4065; + if (!Locked && Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XM) return 4073; + if (!Locked && Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4081; + if (!Locked && Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XM) return 4089; + if (!Locked && !Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4034; + if (!Locked && !Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XM) return 4042; + if (!Locked && !Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4050; + if (!Locked && !Powered && Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XM) return 4058; + if (!Locked && !Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4066; + if (!Locked && !Powered && Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XM) return 4074; + if (!Locked && !Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZM) return 4082; + if (!Locked && !Powered && Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XM) return 4090; + if (Locked && Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZP) return 4035; + if (Locked && Powered && Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XP) return 4043; + return 4094; + } + short Repeater(); + unsigned char Delay(short ID); + eBlockFace Facing(short ID); + bool Locked(short ID); + bool Powered(short ID); + } + namespace RepeatingCommandBlock + { + constexpr short RepeatingCommandBlock(bool Conditional, eBlockFace Facing) + { + if (Conditional && Facing == eBlockFace::BLOCK_FACE_ZM) return 9225; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 9227; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 9229; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZM) return 9231; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 9233; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 9235; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_XP) return 9226; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 9228; + if (Conditional && Facing == eBlockFace::BLOCK_FACE_YM) return 9230; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XP) return 9232; + if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 9234; + return 9236; + } + short RepeatingCommandBlock(); + bool Conditional(short ID); + eBlockFace Facing(short ID); + } + namespace RespawnAnchor + { + constexpr short RespawnAnchor(unsigned char Charges) + { + if (Charges == 0) return 15829; + if (Charges == 4) return 15833; + if (Charges == 1) return 15830; + if (Charges == 2) return 15831; + return 15832; + } + short RespawnAnchor(); + unsigned char Charges(short ID); + } + namespace RoseBush + { + enum class Half + { + Upper, + Lower + }; + constexpr short RoseBush(enum Half Half) + { + if (Half == Half::Upper) return 7889; + return 7890; + } + short RoseBush(); + enum Half Half(short ID); + } + namespace Sand + { + constexpr short Sand() + { + return 66; + } + } + namespace Sandstone + { + constexpr short Sandstone() + { + return 246; + } + } + namespace SandstoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short SandstoneSlab(enum Type Type) + { + if (Type == Type::Double && !false) return 8353; + if (Type == Type::Bottom && false) return 8350; + if (Type == Type::Bottom && !false) return 8351; + if (Type == Type::Top && false) return 8348; + if (Type == Type::Double && false) return 8352; + return 8349; + } + short SandstoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace SandstoneStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short SandstoneStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5203; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5204; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5205; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5206; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5207; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5208; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5209; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5210; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5211; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5212; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5213; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5214; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5215; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5216; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5217; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5218; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5219; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5220; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5221; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5222; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5223; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5224; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5225; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5226; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5227; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5228; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5229; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5230; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5231; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5232; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5233; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5170; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5234; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5171; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5235; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5172; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5236; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5173; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5237; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5174; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5238; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5175; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5239; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5176; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5240; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5177; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5241; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5178; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5242; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5179; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5243; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5180; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5244; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5181; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5245; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5182; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5246; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5183; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5247; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5184; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5248; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5185; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5249; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5186; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5187; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5188; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5189; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5190; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5191; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5192; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5193; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5194; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5195; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5196; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5197; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5198; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5199; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5200; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5201; + return 5202; + } + short SandstoneStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace SandstoneWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short SandstoneWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14100; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14104; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 13785; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 13789; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 13793; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 13797; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 13801; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 13805; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 13809; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 13813; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 13817; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 13821; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 13825; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 13829; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 13833; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 13837; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 13841; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 13845; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 13849; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 13853; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 13857; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 13861; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 13865; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 13869; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 13873; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 13877; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 13881; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 13885; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 13889; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 13893; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 13897; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 13901; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 13905; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 13909; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 13913; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 13917; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 13921; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 13925; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 13929; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 13933; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 13937; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 13941; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 13945; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 13949; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 13953; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 13957; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 13961; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13965; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 13969; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13973; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13977; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 13981; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13985; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13989; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 13993; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13997; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 14001; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 14005; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 14009; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 14013; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 14017; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 14021; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 14025; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 14029; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 14033; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14037; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 14041; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14045; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14049; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 14053; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14057; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14061; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 14065; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14069; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14073; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14077; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14081; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14085; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14089; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14093; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14097; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14101; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14105; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 13786; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 13790; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 13794; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 13798; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 13802; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 13806; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 13810; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 13814; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 13818; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 13822; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 13826; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 13830; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 13834; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 13838; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 13842; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 13846; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 13850; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 13854; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 13858; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 13862; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13866; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 13870; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 13874; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13878; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 13882; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 13886; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13890; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 13894; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 13898; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 13902; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 13906; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 13910; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 13914; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 13918; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 13922; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 13926; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 13930; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 13934; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13938; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 13942; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 13946; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13950; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 13954; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 13958; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13962; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 13966; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13970; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13974; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 13978; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13982; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13986; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 13990; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 13994; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13998; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 14002; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 14006; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14010; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 14014; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 14018; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14022; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 14026; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 14030; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14034; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 14038; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14042; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14046; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 14050; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14054; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14058; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 14062; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 14066; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14070; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 14074; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14078; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14082; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 14086; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14090; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14094; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 14098; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 14102; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14106; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 13783; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 13787; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 13791; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 13795; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 13799; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 13803; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 13807; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 13811; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 13815; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 13819; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 13823; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 13827; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 13831; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 13835; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 13839; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 13843; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 13847; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 13851; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 13855; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 13859; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13863; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 13867; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 13871; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13875; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 13879; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 13883; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 13887; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 13891; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 13895; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 13899; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 13903; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 13907; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 13911; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 13915; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 13919; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 13923; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 13927; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 13931; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13935; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 13939; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 13943; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13947; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 13951; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 13955; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 13959; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 13963; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 13967; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13971; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 13975; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 13979; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13983; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 13987; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 13991; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 13995; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 13999; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 14003; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14007; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 14011; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 14015; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14019; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 14023; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 14027; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 14031; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 14035; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 14039; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14043; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 14047; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 14051; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14055; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 14059; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 14063; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 14067; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 14071; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14075; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14079; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 14083; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14087; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14091; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 14095; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14099; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 14103; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 13784; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 13788; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 13792; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 13796; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 13800; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 13804; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 13808; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 13812; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 13816; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 13820; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 13824; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 13828; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 13832; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 13836; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 13840; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 13844; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 13848; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 13852; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 13856; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 13860; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 13864; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 13868; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 13872; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 13876; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 13880; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 13884; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 13888; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 13892; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 13896; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 13900; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 13904; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 13908; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 13912; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 13916; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 13920; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 13924; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 13928; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 13932; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 13936; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 13940; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 13944; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 13948; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 13952; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 13956; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 13960; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 13964; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13968; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 13972; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 13976; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13980; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 13984; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 13988; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 13992; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 13996; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 14000; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 14004; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 14008; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 14012; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 14016; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 14020; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 14024; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 14028; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 14032; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 14036; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14040; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 14044; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 14048; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14052; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 14056; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 14060; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 14064; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 14068; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14072; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14076; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14080; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 14084; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 14088; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 14092; + return 14096; + } + short SandstoneWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace Scaffolding + { + constexpr short Scaffolding(bool Bottom, unsigned char Distance) + { + if (Distance == 6 && !false && !Bottom) return 14784; + if (Distance == 3 && false && Bottom) return 14761; + if (Distance == 7 && false && Bottom) return 14769; + if (Distance == 3 && false && !Bottom) return 14777; + if (Distance == 7 && false && !Bottom) return 14785; + if (Distance == 3 && !false && Bottom) return 14762; + if (Distance == 7 && !false && Bottom) return 14770; + if (Distance == 3 && !false && !Bottom) return 14778; + if (Distance == 0 && false && Bottom) return 14755; + if (Distance == 4 && false && Bottom) return 14763; + if (Distance == 0 && false && !Bottom) return 14771; + if (Distance == 4 && false && !Bottom) return 14779; + if (Distance == 0 && !false && Bottom) return 14756; + if (Distance == 4 && !false && Bottom) return 14764; + if (Distance == 0 && !false && !Bottom) return 14772; + if (Distance == 4 && !false && !Bottom) return 14780; + if (Distance == 1 && false && Bottom) return 14757; + if (Distance == 5 && false && Bottom) return 14765; + if (Distance == 1 && false && !Bottom) return 14773; + if (Distance == 5 && false && !Bottom) return 14781; + if (Distance == 1 && !false && Bottom) return 14758; + if (Distance == 5 && !false && Bottom) return 14766; + if (Distance == 1 && !false && !Bottom) return 14774; + if (Distance == 5 && !false && !Bottom) return 14782; + if (Distance == 2 && false && Bottom) return 14759; + if (Distance == 6 && false && Bottom) return 14767; + if (Distance == 2 && false && !Bottom) return 14775; + if (Distance == 6 && false && !Bottom) return 14783; + if (Distance == 2 && !false && Bottom) return 14760; + if (Distance == 6 && !false && Bottom) return 14768; + if (Distance == 2 && !false && !Bottom) return 14776; + return 14786; + } + short Scaffolding(); + bool Bottom(short ID); + unsigned char Distance(short ID); + bool Waterlogged(short ID); + } + namespace SeaLantern + { + constexpr short SeaLantern() + { + return 7862; + } + } + namespace SeaPickle + { + constexpr short SeaPickle(unsigned char Pickles) + { + if (Pickles == 1 && !false) return 9641; + if (Pickles == 3 && !false) return 9645; + if (Pickles == 2 && false) return 9642; + if (Pickles == 4 && false) return 9646; + if (Pickles == 2 && !false) return 9643; + if (Pickles == 1 && false) return 9640; + if (Pickles == 3 && false) return 9644; + return 9647; + } + short SeaPickle(); + unsigned char Pickles(short ID); + bool Waterlogged(short ID); + } + namespace Seagrass + { + constexpr short Seagrass() + { + return 1345; + } + } + namespace Shroomlight + { + constexpr short Shroomlight() + { + return 14989; + } + } + namespace ShulkerBox + { + constexpr short ShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9277; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9274; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9275; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9272; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9276; + return 9273; + } + short ShulkerBox(); + eBlockFace Facing(short ID); + } + namespace SkeletonSkull + { + constexpr short SkeletonSkull(unsigned char Rotation) + { + if (Rotation == 6) return 6496; + if (Rotation == 7) return 6497; + if (Rotation == 8) return 6498; + if (Rotation == 9) return 6499; + if (Rotation == 10) return 6500; + if (Rotation == 11) return 6501; + if (Rotation == 12) return 6502; + if (Rotation == 13) return 6503; + if (Rotation == 14) return 6504; + if (Rotation == 0) return 6490; + if (Rotation == 1) return 6491; + if (Rotation == 2) return 6492; + if (Rotation == 3) return 6493; + if (Rotation == 4) return 6494; + if (Rotation == 5) return 6495; + return 6505; + } + short SkeletonSkull(); + unsigned char Rotation(short ID); + } + namespace SkeletonWallSkull + { + constexpr short SkeletonWallSkull(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 6508; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6506; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6507; + return 6509; + } + short SkeletonWallSkull(); + eBlockFace Facing(short ID); + } + namespace SlimeBlock + { + constexpr short SlimeBlock() + { + return 7535; + } + } + namespace SmithingTable + { + constexpr short SmithingTable() + { + return 14849; + } + } + namespace Smoker + { + constexpr short Smoker(eBlockFace Facing, bool Lit) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && Lit) return 14807; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit) return 14804; + if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit) return 14808; + if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit) return 14805; + if (Facing == eBlockFace::BLOCK_FACE_XP && Lit) return 14809; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit) return 14806; + if (Facing == eBlockFace::BLOCK_FACE_ZM && Lit) return 14803; + return 14810; + } + short Smoker(); + eBlockFace Facing(short ID); + bool Lit(short ID); + } + namespace SmoothQuartz + { + constexpr short SmoothQuartz() + { + return 8416; + } + } + namespace SmoothQuartzSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short SmoothQuartzSlab(enum Type Type) + { + if (Type == Type::Top && false) return 10831; + if (Type == Type::Double && false) return 10835; + if (Type == Type::Top && !false) return 10832; + if (Type == Type::Double && !false) return 10836; + if (Type == Type::Bottom && false) return 10833; + return 10834; + } + short SmoothQuartzSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace SmoothQuartzStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short SmoothQuartzStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10341; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10342; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10343; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10344; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10345; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10346; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10347; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10348; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10349; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10350; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10351; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10352; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10353; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10354; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10355; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10356; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10357; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10358; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10359; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10360; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10361; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10362; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10363; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10364; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10365; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10366; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10367; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10368; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10369; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10370; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10371; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10372; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10373; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10374; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10375; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10376; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10377; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10378; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10379; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10380; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10381; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10382; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10383; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10384; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10385; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10386; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10387; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10388; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10309; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10310; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10311; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10312; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10313; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10314; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10315; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10316; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10317; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10318; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10319; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10320; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10321; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10322; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10323; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10324; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10325; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10326; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10327; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10328; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10329; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10330; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10331; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10332; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10333; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10334; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10335; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10336; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10337; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10338; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10339; + return 10340; + } + short SmoothQuartzStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace SmoothRedSandstone + { + constexpr short SmoothRedSandstone() + { + return 8417; + } + } + namespace SmoothRedSandstoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short SmoothRedSandstoneSlab(enum Type Type) + { + if (Type == Type::Top && !false) return 10796; + if (Type == Type::Double && !false) return 10800; + if (Type == Type::Bottom && false) return 10797; + if (Type == Type::Bottom && !false) return 10798; + if (Type == Type::Top && false) return 10795; + return 10799; + } + short SmoothRedSandstoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace SmoothRedSandstoneStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short SmoothRedSandstoneStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9749; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9750; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9751; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9752; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9753; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9754; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9755; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9756; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9757; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9758; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9759; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9760; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9761; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9762; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9763; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9764; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9765; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 9766; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9767; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 9768; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9769; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9770; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9771; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9772; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9773; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9774; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9775; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9776; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9777; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9778; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9779; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9780; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9781; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9782; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9783; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9784; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9785; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 9786; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9787; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 9788; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9789; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9790; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9791; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9792; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9793; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9794; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9795; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9796; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9797; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9798; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9799; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 9800; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9801; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9802; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9803; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9804; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9805; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 9806; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9807; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 9808; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9809; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9810; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9811; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9812; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9813; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9814; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9815; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9816; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9817; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9818; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9819; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 9820; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9821; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9822; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9823; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9824; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9825; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 9826; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 9827; + return 9828; + } + short SmoothRedSandstoneStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace SmoothSandstone + { + constexpr short SmoothSandstone() + { + return 8415; + } + } + namespace SmoothSandstoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short SmoothSandstoneSlab(enum Type Type) + { + if (Type == Type::Bottom && !false) return 10828; + if (Type == Type::Top && false) return 10825; + if (Type == Type::Double && false) return 10829; + if (Type == Type::Top && !false) return 10826; + if (Type == Type::Double && !false) return 10830; + return 10827; + } + short SmoothSandstoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace SmoothSandstoneStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short SmoothSandstoneStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10229; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10230; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10231; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10232; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10233; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10234; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10235; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10236; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10237; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10238; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10239; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10240; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10241; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10242; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10243; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10244; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10245; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10246; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10247; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10248; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10249; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10250; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10251; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10252; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10253; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10254; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10255; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10256; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10257; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10258; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10259; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10260; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10261; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10262; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10263; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10264; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10265; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10266; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10267; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10268; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10269; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10270; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10271; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10272; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10273; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10274; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10275; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10276; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10277; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10278; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10279; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10280; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10281; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10282; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10283; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10284; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10285; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10286; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10287; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10288; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10289; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10290; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10291; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10292; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10293; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10294; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10295; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10296; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10297; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10298; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10299; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10300; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10301; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10302; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10303; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10304; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10305; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10306; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10307; + return 10308; + } + short SmoothSandstoneStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace SmoothStone + { + constexpr short SmoothStone() + { + return 8414; + } + } + namespace SmoothStoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short SmoothStoneSlab(enum Type Type) + { + if (Type == Type::Double && false) return 8346; + if (Type == Type::Top && !false) return 8343; + if (Type == Type::Double && !false) return 8347; + if (Type == Type::Bottom && false) return 8344; + if (Type == Type::Bottom && !false) return 8345; + return 8342; + } + short SmoothStoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace Snow + { + constexpr short Snow(unsigned char Layers) + { + if (Layers == 5) return 3925; + if (Layers == 6) return 3926; + if (Layers == 7) return 3927; + if (Layers == 1) return 3921; + if (Layers == 2) return 3922; + if (Layers == 3) return 3923; + if (Layers == 4) return 3924; + return 3928; + } + short Snow(); + unsigned char Layers(short ID); + } + namespace SnowBlock + { + constexpr short SnowBlock() + { + return 3930; + } + } + namespace SoulCampfire + { + constexpr short SoulCampfire(eBlockFace Facing, bool Lit, bool SignalFire) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && !false && SignalFire && Lit) return 14939; + if (Facing == eBlockFace::BLOCK_FACE_XP && !false && SignalFire && Lit) return 14947; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false && !SignalFire && Lit) return 14924; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false && !SignalFire && Lit) return 14932; + if (Facing == eBlockFace::BLOCK_FACE_XM && false && !SignalFire && Lit) return 14940; + if (Facing == eBlockFace::BLOCK_FACE_XP && false && !SignalFire && Lit) return 14948; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false && !SignalFire && Lit) return 14925; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false && !SignalFire && Lit) return 14933; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false && !SignalFire && Lit) return 14941; + if (Facing == eBlockFace::BLOCK_FACE_XP && !false && !SignalFire && Lit) return 14949; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false && SignalFire && !Lit) return 14926; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false && SignalFire && !Lit) return 14934; + if (Facing == eBlockFace::BLOCK_FACE_XM && false && SignalFire && !Lit) return 14942; + if (Facing == eBlockFace::BLOCK_FACE_XP && false && SignalFire && !Lit) return 14950; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false && SignalFire && !Lit) return 14927; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false && SignalFire && !Lit) return 14935; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false && SignalFire && !Lit) return 14943; + if (Facing == eBlockFace::BLOCK_FACE_XP && !false && SignalFire && !Lit) return 14951; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false && !SignalFire && !Lit) return 14928; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false && !SignalFire && !Lit) return 14936; + if (Facing == eBlockFace::BLOCK_FACE_XM && false && !SignalFire && !Lit) return 14944; + if (Facing == eBlockFace::BLOCK_FACE_XP && false && !SignalFire && !Lit) return 14952; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false && !SignalFire && !Lit) return 14929; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false && !SignalFire && !Lit) return 14937; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false && !SignalFire && !Lit) return 14945; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false && SignalFire && Lit) return 14922; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false && SignalFire && Lit) return 14930; + if (Facing == eBlockFace::BLOCK_FACE_XM && false && SignalFire && Lit) return 14938; + if (Facing == eBlockFace::BLOCK_FACE_XP && false && SignalFire && Lit) return 14946; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false && SignalFire && Lit) return 14923; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false && SignalFire && Lit) return 14931; + return 14953; + } + short SoulCampfire(); + eBlockFace Facing(short ID); + bool Lit(short ID); + bool SignalFire(short ID); + bool Waterlogged(short ID); + } + namespace SoulFire + { + constexpr short SoulFire() + { + return 1952; + } + } + namespace SoulLantern + { + constexpr short SoulLantern(bool Hanging) + { + if (Hanging) return 14888; + return 14889; + } + short SoulLantern(); + bool Hanging(short ID); + } + namespace SoulSand + { + constexpr short SoulSand() + { + return 4000; + } + } + namespace SoulSoil + { + constexpr short SoulSoil() + { + return 4001; + } + } + namespace SoulTorch + { + constexpr short SoulTorch() + { + return 4008; + } + } + namespace SoulWallTorch + { + constexpr short SoulWallTorch(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4009; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 4011; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4010; + return 4012; + } + short SoulWallTorch(); + eBlockFace Facing(short ID); + } + namespace Spawner + { + constexpr short Spawner() + { + return 1953; + } + } + namespace Sponge + { + constexpr short Sponge() + { + return 229; + } + } + namespace SpruceButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short SpruceButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6373; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6377; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6381; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6385; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6389; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6393; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6370; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6374; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6378; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6382; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6386; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6390; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6371; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6375; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6379; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6383; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 6387; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 6391; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6372; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6376; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6380; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 6384; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 6388; + return 6392; + } + short SpruceButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace SpruceDoor + { + enum class Half + { + Upper, + Lower + }; + enum class Hinge + { + Left, + Right + }; + constexpr short SpruceDoor(eBlockFace Facing, enum Half Half, enum Hinge Hinge, bool Open, bool Powered) + { + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 8766; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 8798; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 8767; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 8799; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 8768; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 8800; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 8769; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 8738; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 8770; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 8739; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 8771; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 8740; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 8772; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 8741; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 8773; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 8742; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 8774; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 8743; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 8775; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 8744; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 8776; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 8745; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 8777; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 8746; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 8778; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 8747; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 8779; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 8748; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 8780; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 8749; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 8781; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 8750; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 8782; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 8751; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 8783; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 8752; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 8784; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 8753; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 8785; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 8754; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 8786; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 8755; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 8787; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 8756; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 8788; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 8757; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 8789; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 8758; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 8790; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 8759; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 8791; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 8760; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 8792; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 8761; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Right) return 8793; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 8762; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 8794; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 8763; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 8795; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 8764; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 8796; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 8765; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 8797; + return 8801; + } + short SpruceDoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Hinge Hinge(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace SpruceFence + { + constexpr short SpruceFence(bool East, bool North, bool South, bool West) + { + if (!false && !South && West && East && North) return 8584; + if (!false && !South && West && East && !North) return 8592; + if (!false && !South && West && !East && North) return 8600; + if (!false && !South && West && !East && !North) return 8608; + if (!false && !South && !West && East && North) return 8585; + if (!false && !South && !West && East && !North) return 8593; + if (!false && !South && !West && !East && North) return 8601; + if (false && South && West && East && North) return 8578; + if (false && South && West && East && !North) return 8586; + if (false && South && West && !East && North) return 8594; + if (false && South && West && !East && !North) return 8602; + if (false && South && !West && East && North) return 8579; + if (false && South && !West && East && !North) return 8587; + if (false && South && !West && !East && North) return 8595; + if (false && South && !West && !East && !North) return 8603; + if (!false && South && West && East && North) return 8580; + if (!false && South && West && East && !North) return 8588; + if (!false && South && West && !East && North) return 8596; + if (!false && South && West && !East && !North) return 8604; + if (!false && South && !West && East && North) return 8581; + if (!false && South && !West && East && !North) return 8589; + if (!false && South && !West && !East && North) return 8597; + if (!false && South && !West && !East && !North) return 8605; + if (false && !South && West && East && North) return 8582; + if (false && !South && West && East && !North) return 8590; + if (false && !South && West && !East && North) return 8598; + if (false && !South && West && !East && !North) return 8606; + if (false && !South && !West && East && North) return 8583; + if (false && !South && !West && East && !North) return 8591; + if (false && !South && !West && !East && North) return 8599; + if (false && !South && !West && !East && !North) return 8607; + return 8609; + } + short SpruceFence(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace SpruceFenceGate + { + constexpr short SpruceFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) + { + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8429; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8437; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8445; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8422; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8430; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8438; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8446; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8423; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8431; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8439; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8447; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8424; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8432; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8440; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8448; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8425; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8433; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8441; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8418; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8426; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8434; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8442; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8419; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8427; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8435; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8443; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8420; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 8428; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 8436; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 8444; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 8421; + return 8449; + } + short SpruceFenceGate(); + eBlockFace Facing(short ID); + bool InWall(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace SpruceLeaves + { + constexpr short SpruceLeaves(unsigned char Distance, bool Persistent) + { + if (!Persistent && Distance == 5) return 168; + if (Persistent && Distance == 2) return 161; + if (Persistent && Distance == 6) return 169; + if (!Persistent && Distance == 2) return 162; + if (!Persistent && Distance == 6) return 170; + if (Persistent && Distance == 3) return 163; + if (Persistent && Distance == 7) return 171; + if (!Persistent && Distance == 3) return 164; + if (!Persistent && Distance == 7) return 172; + if (Persistent && Distance == 4) return 165; + if (!Persistent && Distance == 4) return 166; + if (Persistent && Distance == 1) return 159; + if (Persistent && Distance == 5) return 167; + return 160; + } + short SpruceLeaves(); + unsigned char Distance(short ID); + bool Persistent(short ID); + } + namespace SpruceLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short SpruceLog(enum Axis Axis) + { + if (Axis == Axis::X) return 76; + if (Axis == Axis::Y) return 77; + return 78; + } + short SpruceLog(); + enum Axis Axis(short ID); + } + namespace SprucePlanks + { + constexpr short SprucePlanks() + { + return 16; + } + } + namespace SprucePressurePlate + { + constexpr short SprucePressurePlate(bool Powered) + { + if (Powered) return 3875; + return 3876; + } + short SprucePressurePlate(); + bool Powered(short ID); + } + namespace SpruceSapling + { + constexpr short SpruceSapling(unsigned char Stage) + { + if (Stage == 0) return 23; + return 24; + } + short SpruceSapling(); + unsigned char Stage(short ID); + } + namespace SpruceSign + { + constexpr short SpruceSign(unsigned char Rotation) + { + if (Rotation == 4 && false) return 3421; + if (Rotation == 5 && false) return 3423; + if (Rotation == 6 && false) return 3425; + if (Rotation == 7 && false) return 3427; + if (Rotation == 8 && false) return 3429; + if (Rotation == 9 && false) return 3431; + if (Rotation == 10 && false) return 3433; + if (Rotation == 11 && false) return 3435; + if (Rotation == 12 && false) return 3437; + if (Rotation == 13 && false) return 3439; + if (Rotation == 14 && false) return 3441; + if (Rotation == 15 && false) return 3443; + if (Rotation == 0 && !false) return 3414; + if (Rotation == 1 && !false) return 3416; + if (Rotation == 2 && !false) return 3418; + if (Rotation == 3 && !false) return 3420; + if (Rotation == 4 && !false) return 3422; + if (Rotation == 5 && !false) return 3424; + if (Rotation == 6 && !false) return 3426; + if (Rotation == 7 && !false) return 3428; + if (Rotation == 8 && !false) return 3430; + if (Rotation == 9 && !false) return 3432; + if (Rotation == 10 && !false) return 3434; + if (Rotation == 11 && !false) return 3436; + if (Rotation == 12 && !false) return 3438; + if (Rotation == 13 && !false) return 3440; + if (Rotation == 14 && !false) return 3442; + if (Rotation == 0 && false) return 3413; + if (Rotation == 1 && false) return 3415; + if (Rotation == 2 && false) return 3417; + if (Rotation == 3 && false) return 3419; + return 3444; + } + short SpruceSign(); + unsigned char Rotation(short ID); + bool Waterlogged(short ID); + } + namespace SpruceSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short SpruceSlab(enum Type Type) + { + if (Type == Type::Double && !false) return 8311; + if (Type == Type::Bottom && false) return 8308; + if (Type == Type::Bottom && !false) return 8309; + if (Type == Type::Top && false) return 8306; + if (Type == Type::Double && false) return 8310; + return 8307; + } + short SpruceSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace SpruceStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short SpruceStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5457; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5458; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5459; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5460; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5461; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5462; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5463; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5464; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5465; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5466; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5467; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5404; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5468; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5405; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5469; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5406; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5470; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5407; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5471; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5408; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5472; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5409; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5473; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5410; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5474; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5411; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5475; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5412; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5476; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5413; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5477; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5414; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5478; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5415; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5479; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5416; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5480; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5417; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5481; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5418; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5482; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5419; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5483; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5420; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 5421; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5422; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 5423; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5424; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5425; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5426; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5427; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5428; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5429; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5430; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5431; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5432; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5433; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5434; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5435; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5436; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5437; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5438; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5439; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5440; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 5441; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5442; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 5443; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5444; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5445; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5446; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5447; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5448; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5449; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5450; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 5451; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5452; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 5453; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5454; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 5455; + return 5456; + } + short SpruceStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace SpruceTrapdoor + { + enum class Half + { + Top, + Bottom + }; + constexpr short SpruceTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) + { + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4195; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4211; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4227; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4180; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4196; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4212; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4228; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4181; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4197; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4213; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4229; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4182; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4198; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4214; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4230; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4183; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4199; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4215; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4231; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4184; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4200; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4216; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4232; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4185; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4201; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4217; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4233; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4186; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4202; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4218; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4234; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4187; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4203; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4219; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4235; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4188; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 4204; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 4220; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 4236; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4189; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4205; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4221; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 4237; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 4190; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 4206; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 4222; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4175; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4191; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4207; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4223; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 4176; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 4192; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 4208; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 4224; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4177; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4193; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4209; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4225; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 4178; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 4194; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 4210; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 4226; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 4179; + return 4238; + } + short SpruceTrapdoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + bool Open(short ID); + bool Powered(short ID); + bool Waterlogged(short ID); + } + namespace SpruceWallSign + { + constexpr short SpruceWallSign(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 3743; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 3744; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 3745; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 3746; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 3747; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 3748; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 3749; + return 3750; + } + short SpruceWallSign(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace SpruceWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short SpruceWood(enum Axis Axis) + { + if (Axis == Axis::X) return 112; + if (Axis == Axis::Y) return 113; + return 114; + } + short SpruceWood(); + enum Axis Axis(short ID); + } + namespace StickyPiston + { + constexpr short StickyPiston(bool Extended, eBlockFace Facing) + { + if (Extended && Facing == eBlockFace::BLOCK_FACE_XM) return 1332; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_XP) return 1336; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_YM) return 1340; + if (Extended && Facing == eBlockFace::BLOCK_FACE_ZM) return 1329; + if (Extended && Facing == eBlockFace::BLOCK_FACE_YP) return 1333; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_ZP) return 1337; + if (Extended && Facing == eBlockFace::BLOCK_FACE_XP) return 1330; + if (Extended && Facing == eBlockFace::BLOCK_FACE_YM) return 1334; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_XM) return 1338; + if (Extended && Facing == eBlockFace::BLOCK_FACE_ZP) return 1331; + if (!Extended && Facing == eBlockFace::BLOCK_FACE_ZM) return 1335; + return 1339; + } + short StickyPiston(); + bool Extended(short ID); + eBlockFace Facing(short ID); + } + namespace Stone + { + constexpr short Stone() + { + return 1; + } + } + namespace StoneBrickSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short StoneBrickSlab(enum Type Type) + { + if (Type == Type::Bottom && !false) return 8381; + if (Type == Type::Top && false) return 8378; + if (Type == Type::Double && false) return 8382; + if (Type == Type::Top && !false) return 8379; + if (Type == Type::Double && !false) return 8383; + return 8380; + } + short StoneBrickSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace StoneBrickStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short StoneBrickStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4949; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4950; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4951; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4952; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4953; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4954; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4955; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4956; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4957; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4958; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4959; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4960; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4961; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4962; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4963; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4964; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4965; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4966; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4967; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4968; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 4969; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4970; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 4971; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 4972; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 4973; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4974; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4975; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4976; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4977; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4978; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4979; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4980; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4981; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 4982; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 4983; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4984; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4985; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4986; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4987; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4988; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 4989; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4990; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 4991; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 4992; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 4993; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4994; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4995; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4932; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4996; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4933; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 4997; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4934; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4998; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4935; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 4999; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4936; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5000; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4937; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5001; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4938; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5002; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4939; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 5003; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4940; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5004; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4941; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5005; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4942; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5006; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4943; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5007; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4944; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5008; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 4945; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 5009; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4946; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5010; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 4947; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 5011; + return 4948; + } + short StoneBrickStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace StoneBrickWall + { + enum class East + { + None, + Low, + Tall + }; + enum class North + { + None, + Low, + Tall + }; + enum class South + { + None, + Low, + Tall + }; + enum class West + { + None, + Low, + Tall + }; + constexpr short StoneBrickWall(enum East East, enum North North, enum South South, bool Up, enum West West) + { + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12567; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 12571; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 12575; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12579; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 12583; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 12587; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12591; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 12595; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 12599; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 12603; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 12607; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 12611; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 12615; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 12619; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 12623; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 12627; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 12631; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 12635; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12639; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 12643; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 12647; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12651; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 12655; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 12659; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12663; + if (false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 12667; + if (!false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 12671; + if (false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12675; + if (false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 12679; + if (!false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 12683; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12687; + if (false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 12691; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 12695; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12699; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 12703; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 12707; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12711; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 12715; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 12719; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12723; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 12727; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 12731; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12735; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 12739; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 12743; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12747; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 12751; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 12755; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12759; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 12763; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 12767; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12771; + if (false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 12775; + if (!false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12779; + if (false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12783; + if (false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 12787; + if (!false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12791; + if (false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12795; + if (false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 12799; + if (!false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12803; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12807; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 12488; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 12492; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 12496; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 12500; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 12504; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 12508; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 12512; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 12516; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 12520; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 12524; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 12528; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 12532; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 12536; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 12540; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 12544; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 12548; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 12552; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 12556; + if (false && South == South::None && West == West::Low && Up && East == East::None && North == North::Tall) return 12560; + if (!false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 12564; + if (!false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 12568; + if (false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Tall) return 12572; + if (!false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 12576; + if (!false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 12580; + if (false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Tall) return 12584; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 12588; + if (!false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 12592; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::None) return 12596; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 12600; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 12604; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::None) return 12608; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 12612; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 12616; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::None) return 12620; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 12624; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 12628; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Low) return 12632; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 12636; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 12640; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Low) return 12644; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 12648; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 12652; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Low) return 12656; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 12660; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 12664; + if (false && South == South::None && West == West::Low && Up && East == East::Low && North == North::Tall) return 12668; + if (!false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12672; + if (!false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 12676; + if (false && South == South::Low && West == West::Low && Up && East == East::Low && North == North::Tall) return 12680; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12684; + if (!false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 12688; + if (false && South == South::Tall && West == West::Low && Up && East == East::Low && North == North::Tall) return 12692; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12696; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 12700; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::None) return 12704; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 12708; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 12712; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::None) return 12716; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 12720; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 12724; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::None) return 12728; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 12732; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 12736; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Low) return 12740; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12744; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 12748; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Low) return 12752; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12756; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 12760; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Low) return 12764; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12768; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 12772; + if (false && South == South::None && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12776; + if (!false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12780; + if (!false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12784; + if (false && South == South::Low && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12788; + if (!false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12792; + if (!false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12796; + if (false && South == South::Tall && West == West::Low && Up && East == East::Tall && North == North::Tall) return 12800; + if (!false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12804; + if (!false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12808; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::None) return 12489; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::None) return 12493; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 12497; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::None) return 12501; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::None) return 12505; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 12509; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::None) return 12513; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::None) return 12517; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 12521; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Low) return 12525; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Low) return 12529; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 12533; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Low) return 12537; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Low) return 12541; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 12545; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Low) return 12549; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Low) return 12553; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 12557; + if (false && South == South::None && West == West::Tall && Up && East == East::None && North == North::Tall) return 12561; + if (false && South == South::None && West == West::None && !Up && East == East::None && North == North::Tall) return 12565; + if (!false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 12569; + if (false && South == South::Low && West == West::Tall && Up && East == East::None && North == North::Tall) return 12573; + if (false && South == South::Low && West == West::None && !Up && East == East::None && North == North::Tall) return 12577; + if (!false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 12581; + if (false && South == South::Tall && West == West::Tall && Up && East == East::None && North == North::Tall) return 12585; + if (false && South == South::Tall && West == West::None && !Up && East == East::None && North == North::Tall) return 12589; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 12593; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::None) return 12597; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::None) return 12601; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 12605; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::None) return 12609; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::None) return 12613; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 12617; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::None) return 12621; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::None) return 12625; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 12629; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Low) return 12633; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Low) return 12637; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 12641; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Low) return 12645; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Low) return 12649; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 12653; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Low) return 12657; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Low) return 12661; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 12665; + if (false && South == South::None && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12669; + if (false && South == South::None && West == West::None && !Up && East == East::Low && North == North::Tall) return 12673; + if (!false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12677; + if (false && South == South::Low && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12681; + if (false && South == South::Low && West == West::None && !Up && East == East::Low && North == North::Tall) return 12685; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12689; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Low && North == North::Tall) return 12693; + if (false && South == South::Tall && West == West::None && !Up && East == East::Low && North == North::Tall) return 12697; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12701; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::None) return 12705; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::None) return 12709; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 12713; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::None) return 12717; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::None) return 12721; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 12725; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::None) return 12729; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::None) return 12733; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 12737; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12741; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Low) return 12745; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12749; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12753; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Low) return 12757; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12761; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Low) return 12765; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Low) return 12769; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12773; + if (false && South == South::None && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12777; + if (false && South == South::None && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12781; + if (!false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12785; + if (false && South == South::Low && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12789; + if (false && South == South::Low && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12793; + if (!false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12797; + if (false && South == South::Tall && West == West::Tall && Up && East == East::Tall && North == North::Tall) return 12801; + if (false && South == South::Tall && West == West::None && !Up && East == East::Tall && North == North::Tall) return 12805; + if (!false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12809; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 12490; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::None) return 12494; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 12498; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 12502; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::None) return 12506; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 12510; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 12514; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::None) return 12518; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 12522; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 12526; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Low) return 12530; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 12534; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 12538; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Low) return 12542; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 12546; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 12550; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Low) return 12554; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 12558; + if (!false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 12562; + if (false && South == South::None && West == West::Low && !Up && East == East::None && North == North::Tall) return 12566; + if (!false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12570; + if (!false && South == South::Low && West == West::None && Up && East == East::None && North == North::Tall) return 12574; + if (false && South == South::Low && West == West::Low && !Up && East == East::None && North == North::Tall) return 12578; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12582; + if (!false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Tall) return 12586; + if (false && South == South::Tall && West == West::Low && !Up && East == East::None && North == North::Tall) return 12590; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Tall) return 12594; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::None) return 12598; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::None) return 12602; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::None) return 12606; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::None) return 12610; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::None) return 12614; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::None) return 12618; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::None) return 12622; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::None) return 12626; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::None) return 12630; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Low) return 12634; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Low) return 12638; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12642; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Low) return 12646; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Low) return 12650; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12654; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Low) return 12658; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Low) return 12662; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Low) return 12666; + if (!false && South == South::None && West == West::None && Up && East == East::Low && North == North::Tall) return 12670; + if (false && South == South::None && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12674; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12678; + if (!false && South == South::Low && West == West::None && Up && East == East::Low && North == North::Tall) return 12682; + if (false && South == South::Low && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12686; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12690; + if (!false && South == South::Tall && West == West::None && Up && East == East::Low && North == North::Tall) return 12694; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Low && North == North::Tall) return 12698; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Low && North == North::Tall) return 12702; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::None) return 12706; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::None) return 12710; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12714; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::None) return 12718; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::None) return 12722; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12726; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::None) return 12730; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::None) return 12734; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::None) return 12738; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Low) return 12742; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12746; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12750; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Low) return 12754; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12758; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12762; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Low) return 12766; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Low) return 12770; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Low) return 12774; + if (!false && South == South::None && West == West::None && Up && East == East::Tall && North == North::Tall) return 12778; + if (false && South == South::None && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12782; + if (!false && South == South::None && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12786; + if (!false && South == South::Low && West == West::None && Up && East == East::Tall && North == North::Tall) return 12790; + if (false && South == South::Low && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12794; + if (!false && South == South::Low && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12798; + if (!false && South == South::Tall && West == West::None && Up && East == East::Tall && North == North::Tall) return 12802; + if (false && South == South::Tall && West == West::Low && !Up && East == East::Tall && North == North::Tall) return 12806; + if (!false && South == South::Tall && West == West::Tall && !Up && East == East::Tall && North == North::Tall) return 12810; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::None) return 12487; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::None) return 12491; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::None) return 12495; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::None) return 12499; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::None) return 12503; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::None) return 12507; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::None) return 12511; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::None) return 12515; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::None) return 12519; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Low) return 12523; + if (!false && South == South::None && West == West::Low && Up && East == East::None && North == North::Low) return 12527; + if (false && South == South::None && West == West::Tall && !Up && East == East::None && North == North::Low) return 12531; + if (false && South == South::Low && West == West::None && Up && East == East::None && North == North::Low) return 12535; + if (!false && South == South::Low && West == West::Low && Up && East == East::None && North == North::Low) return 12539; + if (false && South == South::Low && West == West::Tall && !Up && East == East::None && North == North::Low) return 12543; + if (false && South == South::Tall && West == West::None && Up && East == East::None && North == North::Low) return 12547; + if (!false && South == South::Tall && West == West::Low && Up && East == East::None && North == North::Low) return 12551; + if (false && South == South::Tall && West == West::Tall && !Up && East == East::None && North == North::Low) return 12555; + if (false && South == South::None && West == West::None && Up && East == East::None && North == North::Tall) return 12559; + return 12563; + } + short StoneBrickWall(); + enum East East(short ID); + enum North North(short ID); + enum South South(short ID); + bool Up(short ID); + bool Waterlogged(short ID); + enum West West(short ID); + } + namespace StoneBricks + { + constexpr short StoneBricks() + { + return 4495; + } + } + namespace StoneButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short StoneButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3917; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3919; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3898; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3900; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3902; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3904; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3906; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3908; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3910; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3912; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3914; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3916; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3918; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3920; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3897; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3899; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3901; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3903; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3905; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 3907; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 3909; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 3911; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 3913; + return 3915; + } + short StoneButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace StonePressurePlate + { + constexpr short StonePressurePlate(bool Powered) + { + if (Powered) return 3807; + return 3808; + } + short StonePressurePlate(); + bool Powered(short ID); + } + namespace StoneSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short StoneSlab(enum Type Type) + { + if (Type == Type::Bottom && !false) return 8339; + if (Type == Type::Top && false) return 8336; + if (Type == Type::Double && false) return 8340; + if (Type == Type::Top && !false) return 8337; + if (Type == Type::Double && !false) return 8341; + return 8338; + } + short StoneSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace StoneStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short StoneStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10214; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10215; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10216; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10217; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10218; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10219; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10220; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10221; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10222; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10223; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10224; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10225; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10226; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10227; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 10228; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10149; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10150; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10151; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10152; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10153; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10154; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10155; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10156; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10157; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10158; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10159; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10160; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10161; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10162; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10163; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10164; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10165; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 10166; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10167; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 10168; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10169; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10170; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10171; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10172; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10173; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10174; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10175; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10176; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10177; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10178; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10179; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10180; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10181; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10182; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10183; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10184; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10185; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 10186; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10187; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 10188; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10189; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10190; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10191; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10192; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10193; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10194; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10195; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10196; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10197; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10198; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10199; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 10200; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10201; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10202; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10203; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10204; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10205; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 10206; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10207; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 10208; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10209; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 10210; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10211; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 10212; + return 10213; + } + short StoneStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace Stonecutter + { + constexpr short Stonecutter(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14850; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 14852; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14851; + return 14853; + } + short Stonecutter(); + eBlockFace Facing(short ID); + } + namespace StrippedAcaciaLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedAcaciaLog(enum Axis Axis) + { + if (Axis == Axis::X) return 100; + if (Axis == Axis::Y) return 101; + return 102; + } + short StrippedAcaciaLog(); + enum Axis Axis(short ID); + } + namespace StrippedAcaciaWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedAcaciaWood(enum Axis Axis) + { + if (Axis == Axis::Z) return 141; + if (Axis == Axis::Y) return 140; + return 139; + } + short StrippedAcaciaWood(); + enum Axis Axis(short ID); + } + namespace StrippedBirchLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedBirchLog(enum Axis Axis) + { + if (Axis == Axis::X) return 94; + if (Axis == Axis::Y) return 95; + return 96; + } + short StrippedBirchLog(); + enum Axis Axis(short ID); + } + namespace StrippedBirchWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedBirchWood(enum Axis Axis) + { + if (Axis == Axis::Z) return 135; + if (Axis == Axis::Y) return 134; + return 133; + } + short StrippedBirchWood(); + enum Axis Axis(short ID); + } + namespace StrippedCrimsonHyphae + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedCrimsonHyphae(enum Axis Axis) + { + if (Axis == Axis::Y) return 14985; + if (Axis == Axis::X) return 14984; + return 14986; + } + short StrippedCrimsonHyphae(); + enum Axis Axis(short ID); + } + namespace StrippedCrimsonStem + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedCrimsonStem(enum Axis Axis) + { + if (Axis == Axis::Y) return 14979; + if (Axis == Axis::X) return 14978; + return 14980; + } + short StrippedCrimsonStem(); + enum Axis Axis(short ID); + } + namespace StrippedDarkOakLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedDarkOakLog(enum Axis Axis) + { + if (Axis == Axis::X) return 103; + if (Axis == Axis::Y) return 104; + return 105; + } + short StrippedDarkOakLog(); + enum Axis Axis(short ID); + } + namespace StrippedDarkOakWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedDarkOakWood(enum Axis Axis) + { + if (Axis == Axis::Z) return 144; + if (Axis == Axis::Y) return 143; + return 142; + } + short StrippedDarkOakWood(); + enum Axis Axis(short ID); + } + namespace StrippedJungleLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedJungleLog(enum Axis Axis) + { + if (Axis == Axis::X) return 97; + if (Axis == Axis::Y) return 98; + return 99; + } + short StrippedJungleLog(); + enum Axis Axis(short ID); + } + namespace StrippedJungleWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedJungleWood(enum Axis Axis) + { + if (Axis == Axis::Z) return 138; + if (Axis == Axis::Y) return 137; + return 136; + } + short StrippedJungleWood(); + enum Axis Axis(short ID); + } + namespace StrippedOakLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedOakLog(enum Axis Axis) + { + if (Axis == Axis::X) return 106; + if (Axis == Axis::Y) return 107; + return 108; + } + short StrippedOakLog(); + enum Axis Axis(short ID); + } + namespace StrippedOakWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedOakWood(enum Axis Axis) + { + if (Axis == Axis::X) return 127; + if (Axis == Axis::Y) return 128; + return 129; + } + short StrippedOakWood(); + enum Axis Axis(short ID); + } + namespace StrippedSpruceLog + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedSpruceLog(enum Axis Axis) + { + if (Axis == Axis::X) return 91; + if (Axis == Axis::Y) return 92; + return 93; + } + short StrippedSpruceLog(); + enum Axis Axis(short ID); + } + namespace StrippedSpruceWood + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedSpruceWood(enum Axis Axis) + { + if (Axis == Axis::Z) return 132; + if (Axis == Axis::Y) return 131; + return 130; + } + short StrippedSpruceWood(); + enum Axis Axis(short ID); + } + namespace StrippedWarpedHyphae + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedWarpedHyphae(enum Axis Axis) + { + if (Axis == Axis::X) return 14967; + if (Axis == Axis::Z) return 14969; + return 14968; + } + short StrippedWarpedHyphae(); + enum Axis Axis(short ID); + } + namespace StrippedWarpedStem + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short StrippedWarpedStem(enum Axis Axis) + { + if (Axis == Axis::X) return 14961; + if (Axis == Axis::Z) return 14963; + return 14962; + } + short StrippedWarpedStem(); + enum Axis Axis(short ID); + } + namespace StructureBlock + { + enum class Mode + { + Save, + Load, + Corner, + Data + }; + constexpr short StructureBlock(enum Mode Mode) + { + if (Mode == Mode::Save) return 15735; + if (Mode == Mode::Corner) return 15737; + if (Mode == Mode::Load) return 15736; + return 15738; + } + short StructureBlock(); + enum Mode Mode(short ID); + } + namespace StructureVoid + { + constexpr short StructureVoid() + { + return 9259; + } + } + namespace SugarCane + { + constexpr short SugarCane(unsigned char Age) + { + if (Age == 13) return 3961; + if (Age == 6) return 3954; + if (Age == 14) return 3962; + if (Age == 7) return 3955; + if (Age == 0) return 3948; + if (Age == 8) return 3956; + if (Age == 1) return 3949; + if (Age == 9) return 3957; + if (Age == 2) return 3950; + if (Age == 10) return 3958; + if (Age == 3) return 3951; + if (Age == 11) return 3959; + if (Age == 4) return 3952; + if (Age == 12) return 3960; + if (Age == 5) return 3953; + return 3963; + } + short SugarCane(); + unsigned char Age(short ID); + } + namespace Sunflower + { + enum class Half + { + Upper, + Lower + }; + constexpr short Sunflower(enum Half Half) + { + if (Half == Half::Upper) return 7885; + return 7886; + } + short Sunflower(); + enum Half Half(short ID); + } + namespace SweetBerryBush + { + constexpr short SweetBerryBush(unsigned char Age) + { + if (Age == 1) return 14955; + if (Age == 0) return 14954; + if (Age == 2) return 14956; + return 14957; + } + short SweetBerryBush(); + unsigned char Age(short ID); + } + namespace TallGrass + { + enum class Half + { + Upper, + Lower + }; + constexpr short TallGrass(enum Half Half) + { + if (Half == Half::Upper) return 7893; + return 7894; + } + short TallGrass(); + enum Half Half(short ID); + } + namespace TallSeagrass + { + enum class Half + { + Upper, + Lower + }; + constexpr short TallSeagrass(enum Half Half) + { + if (Half == Half::Upper) return 1346; + return 1347; + } + short TallSeagrass(); + enum Half Half(short ID); + } + namespace Target + { + constexpr short Target(unsigned char Power) + { + if (Power == 5) return 15765; + if (Power == 7) return 15767; + if (Power == 9) return 15769; + if (Power == 11) return 15771; + if (Power == 13) return 15773; + if (Power == 0) return 15760; + if (Power == 2) return 15762; + if (Power == 4) return 15764; + if (Power == 6) return 15766; + if (Power == 8) return 15768; + if (Power == 10) return 15770; + if (Power == 12) return 15772; + if (Power == 14) return 15774; + if (Power == 1) return 15761; + if (Power == 3) return 15763; + return 15775; + } + short Target(); + unsigned char Power(short ID); + } + namespace Terracotta + { + constexpr short Terracotta() + { + return 7882; + } + } + namespace TNT + { + constexpr short TNT(bool Unstable) + { + if (Unstable) return 1430; + return 1431; + } + short TNT(); + bool Unstable(short ID); + } + namespace Torch + { + constexpr short Torch() + { + return 1435; + } + } + namespace TrappedChest + { + enum class Type + { + Single, + Left, + Right + }; + constexpr short TrappedChest(eBlockFace Facing, enum Type Type) + { + if (Type == Type::Left && !false && Facing == eBlockFace::BLOCK_FACE_ZM) return 6625; + if (Type == Type::Single && !false && Facing == eBlockFace::BLOCK_FACE_ZP) return 6629; + if (Type == Type::Right && !false && Facing == eBlockFace::BLOCK_FACE_ZP) return 6633; + if (Type == Type::Left && !false && Facing == eBlockFace::BLOCK_FACE_XM) return 6637; + if (Type == Type::Single && !false && Facing == eBlockFace::BLOCK_FACE_XP) return 6641; + if (Type == Type::Right && !false && Facing == eBlockFace::BLOCK_FACE_XP) return 6645; + if (Type == Type::Single && false && Facing == eBlockFace::BLOCK_FACE_ZM) return 6622; + if (Type == Type::Right && false && Facing == eBlockFace::BLOCK_FACE_ZM) return 6626; + if (Type == Type::Left && false && Facing == eBlockFace::BLOCK_FACE_ZP) return 6630; + if (Type == Type::Single && false && Facing == eBlockFace::BLOCK_FACE_XM) return 6634; + if (Type == Type::Right && false && Facing == eBlockFace::BLOCK_FACE_XM) return 6638; + if (Type == Type::Left && false && Facing == eBlockFace::BLOCK_FACE_XP) return 6642; + if (Type == Type::Single && !false && Facing == eBlockFace::BLOCK_FACE_ZM) return 6623; + if (Type == Type::Right && !false && Facing == eBlockFace::BLOCK_FACE_ZM) return 6627; + if (Type == Type::Left && !false && Facing == eBlockFace::BLOCK_FACE_ZP) return 6631; + if (Type == Type::Single && !false && Facing == eBlockFace::BLOCK_FACE_XM) return 6635; + if (Type == Type::Right && !false && Facing == eBlockFace::BLOCK_FACE_XM) return 6639; + if (Type == Type::Left && !false && Facing == eBlockFace::BLOCK_FACE_XP) return 6643; + if (Type == Type::Left && false && Facing == eBlockFace::BLOCK_FACE_ZM) return 6624; + if (Type == Type::Single && false && Facing == eBlockFace::BLOCK_FACE_ZP) return 6628; + if (Type == Type::Right && false && Facing == eBlockFace::BLOCK_FACE_ZP) return 6632; + if (Type == Type::Left && false && Facing == eBlockFace::BLOCK_FACE_XM) return 6636; + if (Type == Type::Single && false && Facing == eBlockFace::BLOCK_FACE_XP) return 6640; + return 6644; + } + short TrappedChest(); + eBlockFace Facing(short ID); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace Tripwire + { + constexpr short Tripwire(bool Attached, bool Disarmed, bool East, bool North, bool Powered, bool South, bool West) + { + if (!South && !Attached && West && !Disarmed && !Powered && !East && North) return 5393; + if (!South && Attached && !West && !Disarmed && !Powered && !East && North) return 5330; + if (!South && !Attached && !West && !Disarmed && !Powered && !East && North) return 5394; + if (South && Attached && West && !Disarmed && Powered && !East && !North) return 5331; + if (South && !Attached && West && !Disarmed && Powered && !East && !North) return 5395; + if (South && Attached && !West && !Disarmed && Powered && !East && !North) return 5332; + if (South && !Attached && !West && !Disarmed && Powered && !East && !North) return 5396; + if (!South && Attached && West && !Disarmed && Powered && !East && !North) return 5333; + if (!South && !Attached && West && !Disarmed && Powered && !East && !North) return 5397; + if (!South && Attached && !West && !Disarmed && Powered && !East && !North) return 5334; + if (!South && !Attached && !West && !Disarmed && Powered && !East && !North) return 5398; + if (South && Attached && West && !Disarmed && !Powered && !East && !North) return 5335; + if (South && !Attached && West && !Disarmed && !Powered && !East && !North) return 5399; + if (South && Attached && !West && !Disarmed && !Powered && !East && !North) return 5336; + if (South && !Attached && !West && !Disarmed && !Powered && !East && !North) return 5400; + if (!South && Attached && West && !Disarmed && !Powered && !East && !North) return 5337; + if (!South && !Attached && West && !Disarmed && !Powered && !East && !North) return 5401; + if (!South && Attached && !West && !Disarmed && !Powered && !East && !North) return 5338; + if (South && Attached && West && Disarmed && Powered && East && North) return 5275; + if (South && !Attached && West && Disarmed && Powered && East && North) return 5339; + if (South && Attached && !West && Disarmed && Powered && East && North) return 5276; + if (South && !Attached && !West && Disarmed && Powered && East && North) return 5340; + if (!South && Attached && West && Disarmed && Powered && East && North) return 5277; + if (!South && !Attached && West && Disarmed && Powered && East && North) return 5341; + if (!South && Attached && !West && Disarmed && Powered && East && North) return 5278; + if (!South && !Attached && !West && Disarmed && Powered && East && North) return 5342; + if (South && Attached && West && Disarmed && !Powered && East && North) return 5279; + if (South && !Attached && West && Disarmed && !Powered && East && North) return 5343; + if (South && Attached && !West && Disarmed && !Powered && East && North) return 5280; + if (South && !Attached && !West && Disarmed && !Powered && East && North) return 5344; + if (!South && Attached && West && Disarmed && !Powered && East && North) return 5281; + if (!South && !Attached && West && Disarmed && !Powered && East && North) return 5345; + if (!South && Attached && !West && Disarmed && !Powered && East && North) return 5282; + if (!South && !Attached && !West && Disarmed && !Powered && East && North) return 5346; + if (South && Attached && West && Disarmed && Powered && East && !North) return 5283; + if (South && !Attached && West && Disarmed && Powered && East && !North) return 5347; + if (South && Attached && !West && Disarmed && Powered && East && !North) return 5284; + if (South && !Attached && !West && Disarmed && Powered && East && !North) return 5348; + if (!South && Attached && West && Disarmed && Powered && East && !North) return 5285; + if (!South && !Attached && West && Disarmed && Powered && East && !North) return 5349; + if (!South && Attached && !West && Disarmed && Powered && East && !North) return 5286; + if (!South && !Attached && !West && Disarmed && Powered && East && !North) return 5350; + if (South && Attached && West && Disarmed && !Powered && East && !North) return 5287; + if (South && !Attached && West && Disarmed && !Powered && East && !North) return 5351; + if (South && Attached && !West && Disarmed && !Powered && East && !North) return 5288; + if (South && !Attached && !West && Disarmed && !Powered && East && !North) return 5352; + if (!South && Attached && West && Disarmed && !Powered && East && !North) return 5289; + if (!South && !Attached && West && Disarmed && !Powered && East && !North) return 5353; + if (!South && Attached && !West && Disarmed && !Powered && East && !North) return 5290; + if (!South && !Attached && !West && Disarmed && !Powered && East && !North) return 5354; + if (South && Attached && West && Disarmed && Powered && !East && North) return 5291; + if (South && !Attached && West && Disarmed && Powered && !East && North) return 5355; + if (South && Attached && !West && Disarmed && Powered && !East && North) return 5292; + if (South && !Attached && !West && Disarmed && Powered && !East && North) return 5356; + if (!South && Attached && West && Disarmed && Powered && !East && North) return 5293; + if (!South && !Attached && West && Disarmed && Powered && !East && North) return 5357; + if (!South && Attached && !West && Disarmed && Powered && !East && North) return 5294; + if (!South && !Attached && !West && Disarmed && Powered && !East && North) return 5358; + if (South && Attached && West && Disarmed && !Powered && !East && North) return 5295; + if (South && !Attached && West && Disarmed && !Powered && !East && North) return 5359; + if (South && Attached && !West && Disarmed && !Powered && !East && North) return 5296; + if (South && !Attached && !West && Disarmed && !Powered && !East && North) return 5360; + if (!South && Attached && West && Disarmed && !Powered && !East && North) return 5297; + if (!South && !Attached && West && Disarmed && !Powered && !East && North) return 5361; + if (!South && Attached && !West && Disarmed && !Powered && !East && North) return 5298; + if (!South && !Attached && !West && Disarmed && !Powered && !East && North) return 5362; + if (South && Attached && West && Disarmed && Powered && !East && !North) return 5299; + if (South && !Attached && West && Disarmed && Powered && !East && !North) return 5363; + if (South && Attached && !West && Disarmed && Powered && !East && !North) return 5300; + if (South && !Attached && !West && Disarmed && Powered && !East && !North) return 5364; + if (!South && Attached && West && Disarmed && Powered && !East && !North) return 5301; + if (!South && !Attached && West && Disarmed && Powered && !East && !North) return 5365; + if (!South && Attached && !West && Disarmed && Powered && !East && !North) return 5302; + if (!South && !Attached && !West && Disarmed && Powered && !East && !North) return 5366; + if (South && Attached && West && Disarmed && !Powered && !East && !North) return 5303; + if (South && !Attached && West && Disarmed && !Powered && !East && !North) return 5367; + if (South && Attached && !West && Disarmed && !Powered && !East && !North) return 5304; + if (South && !Attached && !West && Disarmed && !Powered && !East && !North) return 5368; + if (!South && Attached && West && Disarmed && !Powered && !East && !North) return 5305; + if (!South && !Attached && West && Disarmed && !Powered && !East && !North) return 5369; + if (!South && Attached && !West && Disarmed && !Powered && !East && !North) return 5306; + if (!South && !Attached && !West && Disarmed && !Powered && !East && !North) return 5370; + if (South && Attached && West && !Disarmed && Powered && East && North) return 5307; + if (South && !Attached && West && !Disarmed && Powered && East && North) return 5371; + if (South && Attached && !West && !Disarmed && Powered && East && North) return 5308; + if (South && !Attached && !West && !Disarmed && Powered && East && North) return 5372; + if (!South && Attached && West && !Disarmed && Powered && East && North) return 5309; + if (!South && !Attached && West && !Disarmed && Powered && East && North) return 5373; + if (!South && Attached && !West && !Disarmed && Powered && East && North) return 5310; + if (!South && !Attached && !West && !Disarmed && Powered && East && North) return 5374; + if (South && Attached && West && !Disarmed && !Powered && East && North) return 5311; + if (South && !Attached && West && !Disarmed && !Powered && East && North) return 5375; + if (South && Attached && !West && !Disarmed && !Powered && East && North) return 5312; + if (South && !Attached && !West && !Disarmed && !Powered && East && North) return 5376; + if (!South && Attached && West && !Disarmed && !Powered && East && North) return 5313; + if (!South && !Attached && West && !Disarmed && !Powered && East && North) return 5377; + if (!South && Attached && !West && !Disarmed && !Powered && East && North) return 5314; + if (!South && !Attached && !West && !Disarmed && !Powered && East && North) return 5378; + if (South && Attached && West && !Disarmed && Powered && East && !North) return 5315; + if (South && !Attached && West && !Disarmed && Powered && East && !North) return 5379; + if (South && Attached && !West && !Disarmed && Powered && East && !North) return 5316; + if (South && !Attached && !West && !Disarmed && Powered && East && !North) return 5380; + if (!South && Attached && West && !Disarmed && Powered && East && !North) return 5317; + if (!South && !Attached && West && !Disarmed && Powered && East && !North) return 5381; + if (!South && Attached && !West && !Disarmed && Powered && East && !North) return 5318; + if (!South && !Attached && !West && !Disarmed && Powered && East && !North) return 5382; + if (South && Attached && West && !Disarmed && !Powered && East && !North) return 5319; + if (South && !Attached && West && !Disarmed && !Powered && East && !North) return 5383; + if (South && Attached && !West && !Disarmed && !Powered && East && !North) return 5320; + if (South && !Attached && !West && !Disarmed && !Powered && East && !North) return 5384; + if (!South && Attached && West && !Disarmed && !Powered && East && !North) return 5321; + if (!South && !Attached && West && !Disarmed && !Powered && East && !North) return 5385; + if (!South && Attached && !West && !Disarmed && !Powered && East && !North) return 5322; + if (!South && !Attached && !West && !Disarmed && !Powered && East && !North) return 5386; + if (South && Attached && West && !Disarmed && Powered && !East && North) return 5323; + if (South && !Attached && West && !Disarmed && Powered && !East && North) return 5387; + if (South && Attached && !West && !Disarmed && Powered && !East && North) return 5324; + if (South && !Attached && !West && !Disarmed && Powered && !East && North) return 5388; + if (!South && Attached && West && !Disarmed && Powered && !East && North) return 5325; + if (!South && !Attached && West && !Disarmed && Powered && !East && North) return 5389; + if (!South && Attached && !West && !Disarmed && Powered && !East && North) return 5326; + if (!South && !Attached && !West && !Disarmed && Powered && !East && North) return 5390; + if (South && Attached && West && !Disarmed && !Powered && !East && North) return 5327; + if (South && !Attached && West && !Disarmed && !Powered && !East && North) return 5391; + if (South && Attached && !West && !Disarmed && !Powered && !East && North) return 5328; + if (South && !Attached && !West && !Disarmed && !Powered && !East && North) return 5392; + if (!South && Attached && West && !Disarmed && !Powered && !East && North) return 5329; + return 5402; + } + short Tripwire(); + bool Attached(short ID); + bool Disarmed(short ID); + bool East(short ID); + bool North(short ID); + bool Powered(short ID); + bool South(short ID); + bool West(short ID); + } + namespace TripwireHook + { + constexpr short TripwireHook(bool Attached, eBlockFace Facing, bool Powered) + { + if (!Powered && Attached && Facing == eBlockFace::BLOCK_FACE_XP) return 5266; + if (Powered && !Attached && Facing == eBlockFace::BLOCK_FACE_ZM) return 5267; + if (!Powered && !Attached && Facing == eBlockFace::BLOCK_FACE_ZM) return 5268; + if (Powered && !Attached && Facing == eBlockFace::BLOCK_FACE_ZP) return 5269; + if (!Powered && !Attached && Facing == eBlockFace::BLOCK_FACE_ZP) return 5270; + if (Powered && !Attached && Facing == eBlockFace::BLOCK_FACE_XM) return 5271; + if (!Powered && !Attached && Facing == eBlockFace::BLOCK_FACE_XM) return 5272; + if (Powered && !Attached && Facing == eBlockFace::BLOCK_FACE_XP) return 5273; + if (Powered && Attached && Facing == eBlockFace::BLOCK_FACE_ZM) return 5259; + if (!Powered && Attached && Facing == eBlockFace::BLOCK_FACE_ZM) return 5260; + if (Powered && Attached && Facing == eBlockFace::BLOCK_FACE_ZP) return 5261; + if (!Powered && Attached && Facing == eBlockFace::BLOCK_FACE_ZP) return 5262; + if (Powered && Attached && Facing == eBlockFace::BLOCK_FACE_XM) return 5263; + if (!Powered && Attached && Facing == eBlockFace::BLOCK_FACE_XM) return 5264; + if (Powered && Attached && Facing == eBlockFace::BLOCK_FACE_XP) return 5265; + return 5274; + } + short TripwireHook(); + bool Attached(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace TubeCoral + { + constexpr short TubeCoral() + { + if (false) return 9530; + return 9531; + } + bool Waterlogged(short ID); + } + namespace TubeCoralBlock + { + constexpr short TubeCoralBlock() + { + return 9515; + } + } + namespace TubeCoralFan + { + constexpr short TubeCoralFan() + { + if (false) return 9550; + return 9551; + } + bool Waterlogged(short ID); + } + namespace TubeCoralWallFan + { + constexpr short TubeCoralWallFan(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 9606; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 9603; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 9600; + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 9604; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 9601; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 9605; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 9602; + return 9607; + } + short TubeCoralWallFan(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace TurtleEgg + { + constexpr short TurtleEgg(unsigned char Eggs, unsigned char Hatch) + { + if (Hatch == 1 && Eggs == 1) return 9499; + if (Hatch == 0 && Eggs == 2) return 9501; + if (Hatch == 2 && Eggs == 2) return 9503; + if (Hatch == 1 && Eggs == 3) return 9505; + if (Hatch == 0 && Eggs == 4) return 9507; + if (Hatch == 2 && Eggs == 4) return 9509; + if (Hatch == 0 && Eggs == 1) return 9498; + if (Hatch == 2 && Eggs == 1) return 9500; + if (Hatch == 1 && Eggs == 2) return 9502; + if (Hatch == 0 && Eggs == 3) return 9504; + if (Hatch == 2 && Eggs == 3) return 9506; + return 9508; + } + short TurtleEgg(); + unsigned char Eggs(short ID); + unsigned char Hatch(short ID); + } + namespace TwistingVines + { + constexpr short TwistingVines(unsigned char Age) + { + if (Age == 15) return 15032; + if (Age == 23) return 15040; + if (Age == 0) return 15017; + if (Age == 8) return 15025; + if (Age == 16) return 15033; + if (Age == 24) return 15041; + if (Age == 1) return 15018; + if (Age == 9) return 15026; + if (Age == 17) return 15034; + if (Age == 25) return 15042; + if (Age == 2) return 15019; + if (Age == 10) return 15027; + if (Age == 18) return 15035; + if (Age == 3) return 15020; + if (Age == 11) return 15028; + if (Age == 19) return 15036; + if (Age == 4) return 15021; + if (Age == 12) return 15029; + if (Age == 20) return 15037; + if (Age == 5) return 15022; + if (Age == 13) return 15030; + if (Age == 21) return 15038; + if (Age == 6) return 15023; + if (Age == 14) return 15031; + if (Age == 22) return 15039; + return 15024; + } + short TwistingVines(); + unsigned char Age(short ID); + } + namespace TwistingVinesPlant + { + constexpr short TwistingVinesPlant() + { + return 15043; + } + } + namespace Vine + { + constexpr short Vine(bool East, bool North, bool South, bool Up, bool West) + { + if (!South && Up && West && East && North) return 4792; + if (South && Up && West && East && !North) return 4796; + if (!South && Up && West && East && !North) return 4800; + if (South && Up && West && !East && North) return 4804; + if (!South && Up && West && !East && North) return 4808; + if (South && Up && West && !East && !North) return 4812; + if (!South && Up && West && !East && !North) return 4816; + if (South && Up && !West && East && North) return 4789; + if (!South && Up && !West && East && North) return 4793; + if (South && Up && !West && East && !North) return 4797; + if (!South && Up && !West && East && !North) return 4801; + if (South && Up && !West && !East && North) return 4805; + if (!South && Up && !West && !East && North) return 4809; + if (South && Up && !West && !East && !North) return 4813; + if (!South && Up && !West && !East && !North) return 4817; + if (South && !Up && West && East && North) return 4790; + if (!South && !Up && West && East && North) return 4794; + if (South && !Up && West && East && !North) return 4798; + if (!South && !Up && West && East && !North) return 4802; + if (South && !Up && West && !East && North) return 4806; + if (!South && !Up && West && !East && North) return 4810; + if (South && !Up && West && !East && !North) return 4814; + if (!South && !Up && West && !East && !North) return 4818; + if (South && !Up && !West && East && North) return 4791; + if (!South && !Up && !West && East && North) return 4795; + if (South && !Up && !West && East && !North) return 4799; + if (!South && !Up && !West && East && !North) return 4803; + if (South && !Up && !West && !East && North) return 4807; + if (!South && !Up && !West && !East && North) return 4811; + if (South && !Up && !West && !East && !North) return 4815; + if (South && Up && West && East && North) return 4788; + return 4819; + } + short Vine(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Up(short ID); + bool West(short ID); + } + namespace VoidAir + { + constexpr short VoidAir() + { + return 9665; + } + } + namespace WallTorch + { + constexpr short WallTorch(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1437; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 1438; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1436; + return 1439; + } + short WallTorch(); + eBlockFace Facing(short ID); + } + namespace WarpedButton + { + enum class Face + { + Floor, + Wall, + Ceiling + }; + constexpr short WarpedButton(enum Face Face, eBlockFace Facing, bool Powered) + { + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15505; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15513; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15521; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15506; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15514; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_ZP) return 15522; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15507; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15515; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15523; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15508; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15516; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XM) return 15524; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15509; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15517; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15525; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15510; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15518; + if (Face == Face::Ceiling && !Powered && Facing == eBlockFace::BLOCK_FACE_XP) return 15526; + if (Face == Face::Floor && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15503; + if (Face == Face::Wall && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15511; + if (Face == Face::Ceiling && Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15519; + if (Face == Face::Floor && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15504; + if (Face == Face::Wall && !Powered && Facing == eBlockFace::BLOCK_FACE_ZM) return 15512; + return 15520; + } + short WarpedButton(); + enum Face Face(short ID); + eBlockFace Facing(short ID); + bool Powered(short ID); + } + namespace WarpedDoor + { + enum class Half + { + Upper, + Lower + }; + enum class Hinge + { + Left, + Right + }; + constexpr short WarpedDoor(eBlockFace Facing, enum Half Half, enum Hinge Hinge, bool Open, bool Powered) + { + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 15633; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 15602; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 15634; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 15603; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 15635; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 15604; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 15636; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 15605; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 15637; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 15606; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 15638; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 15607; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 15639; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 15608; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 15640; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 15609; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 15641; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 15610; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 15642; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 15611; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 15643; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 15612; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 15644; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 15613; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 15645; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 15614; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Right) return 15646; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Left) return 15615; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Left) return 15647; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Left) return 15616; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Left) return 15648; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Left) return 15617; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Left) return 15649; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Left) return 15618; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open && Hinge == Hinge::Left) return 15650; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open && Hinge == Hinge::Right) return 15619; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open && Hinge == Hinge::Right) return 15651; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open && Hinge == Hinge::Right) return 15620; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open && Hinge == Hinge::Right) return 15652; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open && Hinge == Hinge::Right) return 15621; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open && Hinge == Hinge::Right) return 15653; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open && Hinge == Hinge::Right) return 15622; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 15591; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 15623; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 15592; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 15624; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 15593; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Left) return 15625; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Left) return 15594; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Left) return 15626; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Right) return 15595; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Right) return 15627; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Right) return 15596; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Right) return 15628; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Right) return 15597; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open && Hinge == Hinge::Right) return 15629; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open && Hinge == Hinge::Right) return 15598; + if (Half == Half::Upper && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open && Hinge == Hinge::Right) return 15630; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open && Hinge == Hinge::Left) return 15599; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open && Hinge == Hinge::Left) return 15631; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open && Hinge == Hinge::Left) return 15600; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open && Hinge == Hinge::Left) return 15632; + if (Half == Half::Lower && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open && Hinge == Hinge::Left) return 15601; + return 15654; + } + short WarpedDoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Hinge Hinge(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace WarpedFence + { + constexpr short WarpedFence(bool East, bool North, bool South, bool West) + { + if (!false && !South && West && !East && !North) return 15125; + if (!false && !South && !West && East && North) return 15102; + if (!false && !South && !West && East && !North) return 15110; + if (!false && !South && !West && !East && North) return 15118; + if (false && South && West && East && North) return 15095; + if (false && South && West && East && !North) return 15103; + if (false && South && West && !East && North) return 15111; + if (false && South && West && !East && !North) return 15119; + if (false && South && !West && East && North) return 15096; + if (false && South && !West && East && !North) return 15104; + if (false && South && !West && !East && North) return 15112; + if (false && South && !West && !East && !North) return 15120; + if (!false && South && West && East && North) return 15097; + if (!false && South && West && East && !North) return 15105; + if (!false && South && West && !East && North) return 15113; + if (!false && South && West && !East && !North) return 15121; + if (!false && South && !West && East && North) return 15098; + if (!false && South && !West && East && !North) return 15106; + if (!false && South && !West && !East && North) return 15114; + if (!false && South && !West && !East && !North) return 15122; + if (false && !South && West && East && North) return 15099; + if (false && !South && West && East && !North) return 15107; + if (false && !South && West && !East && North) return 15115; + if (false && !South && West && !East && !North) return 15123; + if (false && !South && !West && East && North) return 15100; + if (false && !South && !West && East && !North) return 15108; + if (false && !South && !West && !East && North) return 15116; + if (false && !South && !West && !East && !North) return 15124; + if (!false && !South && West && East && North) return 15101; + if (!false && !South && West && East && !North) return 15109; + if (!false && !South && West && !East && North) return 15117; + return 15126; + } + short WarpedFence(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace WarpedFenceGate + { + constexpr short WarpedFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) + { + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15311; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15288; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15296; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15304; + if (!Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15312; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15289; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15297; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15305; + if (Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15313; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15290; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15298; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15306; + if (!Powered && InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15314; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15291; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15299; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15307; + if (Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15315; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15292; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15300; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15308; + if (!Powered && !InWall && Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15316; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15293; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15301; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15309; + if (Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XP) return 15317; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15294; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15302; + if (!Powered && !InWall && !Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15310; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZM) return 15287; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_ZP) return 15295; + if (Powered && InWall && Open && Facing == eBlockFace::BLOCK_FACE_XM) return 15303; + return 15318; + } + short WarpedFenceGate(); + eBlockFace Facing(short ID); + bool InWall(short ID); + bool Open(short ID); + bool Powered(short ID); + } + namespace WarpedFungus + { + constexpr short WarpedFungus() + { + return 14971; + } + } + namespace WarpedHyphae + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short WarpedHyphae(enum Axis Axis) + { + if (Axis == Axis::X) return 14964; + if (Axis == Axis::Z) return 14966; + return 14965; + } + short WarpedHyphae(); + enum Axis Axis(short ID); + } + namespace WarpedNylium + { + constexpr short WarpedNylium() + { + return 14970; + } + } + namespace WarpedPlanks + { + constexpr short WarpedPlanks() + { + return 15046; + } + } + namespace WarpedPressurePlate + { + constexpr short WarpedPressurePlate(bool Powered) + { + if (Powered) return 15061; + return 15062; + } + short WarpedPressurePlate(); + bool Powered(short ID); + } + namespace WarpedRoots + { + constexpr short WarpedRoots() + { + return 14973; + } + } + namespace WarpedSign + { + constexpr short WarpedSign(unsigned char Rotation) + { + if (Rotation == 13 && !false) return 15714; + if (Rotation == 2 && false) return 15691; + if (Rotation == 6 && false) return 15699; + if (Rotation == 10 && false) return 15707; + if (Rotation == 14 && false) return 15715; + if (Rotation == 2 && !false) return 15692; + if (Rotation == 6 && !false) return 15700; + if (Rotation == 10 && !false) return 15708; + if (Rotation == 14 && !false) return 15716; + if (Rotation == 3 && false) return 15693; + if (Rotation == 7 && false) return 15701; + if (Rotation == 11 && false) return 15709; + if (Rotation == 15 && false) return 15717; + if (Rotation == 3 && !false) return 15694; + if (Rotation == 7 && !false) return 15702; + if (Rotation == 11 && !false) return 15710; + if (Rotation == 0 && false) return 15687; + if (Rotation == 4 && false) return 15695; + if (Rotation == 8 && false) return 15703; + if (Rotation == 12 && false) return 15711; + if (Rotation == 0 && !false) return 15688; + if (Rotation == 4 && !false) return 15696; + if (Rotation == 8 && !false) return 15704; + if (Rotation == 12 && !false) return 15712; + if (Rotation == 1 && false) return 15689; + if (Rotation == 5 && false) return 15697; + if (Rotation == 9 && false) return 15705; + if (Rotation == 13 && false) return 15713; + if (Rotation == 1 && !false) return 15690; + if (Rotation == 5 && !false) return 15698; + if (Rotation == 9 && !false) return 15706; + return 15718; + } + short WarpedSign(); + unsigned char Rotation(short ID); + bool Waterlogged(short ID); + } + namespace WarpedSlab + { + enum class Type + { + Top, + Bottom, + Double + }; + constexpr short WarpedSlab(enum Type Type) + { + if (Type == Type::Bottom && !false) return 15056; + if (Type == Type::Top && false) return 15053; + if (Type == Type::Double && false) return 15057; + if (Type == Type::Top && !false) return 15054; + if (Type == Type::Double && !false) return 15058; + return 15055; + } + short WarpedSlab(); + enum Type Type(short ID); + bool Waterlogged(short ID); + } + namespace WarpedStairs + { + enum class Half + { + Top, + Bottom + }; + enum class Shape + { + Straight, + InnerLeft, + InnerRight, + OuterLeft, + OuterRight + }; + constexpr short WarpedStairs(eBlockFace Facing, enum Half Half, enum Shape Shape) + { + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15421; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15422; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15423; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15424; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15425; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15426; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15427; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15428; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15429; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15430; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15431; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15432; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15433; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15434; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15435; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZP) return 15436; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15437; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15438; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15439; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15440; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15441; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15442; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15443; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15444; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15445; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15446; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15447; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15448; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15449; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XM) return 15450; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15451; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15452; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15453; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15454; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15455; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XM) return 15456; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15457; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XM) return 15458; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15459; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15460; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15461; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15462; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15463; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15464; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15465; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15466; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15467; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15468; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15469; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_XP) return 15470; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15471; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15472; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15473; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15474; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15475; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_XP) return 15476; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15477; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_XP) return 15478; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15399; + if (Half == Half::Top && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15400; + if (Half == Half::Top && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15401; + if (Half == Half::Top && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15402; + if (Half == Half::Top && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15403; + if (Half == Half::Top && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15404; + if (Half == Half::Top && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15405; + if (Half == Half::Top && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15406; + if (Half == Half::Top && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15407; + if (Half == Half::Top && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15408; + if (Half == Half::Bottom && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15409; + if (Half == Half::Bottom && !false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15410; + if (Half == Half::Bottom && false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15411; + if (Half == Half::Bottom && !false && Shape == Shape::InnerLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15412; + if (Half == Half::Bottom && false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15413; + if (Half == Half::Bottom && !false && Shape == Shape::InnerRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15414; + if (Half == Half::Bottom && false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15415; + if (Half == Half::Bottom && !false && Shape == Shape::OuterLeft && Facing == eBlockFace::BLOCK_FACE_ZM) return 15416; + if (Half == Half::Bottom && false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15417; + if (Half == Half::Bottom && !false && Shape == Shape::OuterRight && Facing == eBlockFace::BLOCK_FACE_ZM) return 15418; + if (Half == Half::Top && false && Shape == Shape::Straight && Facing == eBlockFace::BLOCK_FACE_ZP) return 15419; + return 15420; + } + short WarpedStairs(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + enum Shape Shape(short ID); + bool Waterlogged(short ID); + } + namespace WarpedStem + { + enum class Axis + { + X, + Y, + Z + }; + constexpr short WarpedStem(enum Axis Axis) + { + if (Axis == Axis::X) return 14958; + if (Axis == Axis::Z) return 14960; + return 14959; + } + short WarpedStem(); + enum Axis Axis(short ID); + } + namespace WarpedTrapdoor + { + enum class Half + { + Top, + Bottom + }; + constexpr short WarpedTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) + { + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 15192; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 15224; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 15193; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 15225; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 15194; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 15226; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 15195; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 15227; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 15196; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 15228; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 15197; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 15229; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 15198; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 15230; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 15199; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 15231; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 15200; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 15232; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 15201; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 15233; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && Open) return 15202; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && Open) return 15234; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 15203; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 15235; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && !Open) return 15204; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && Powered && !Open) return 15236; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 15205; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 15237; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered && !Open) return 15206; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XM && !Powered && !Open) return 15238; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 15207; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 15239; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 15208; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 15240; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 15209; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 15241; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 15210; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 15242; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 15211; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 15243; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 15212; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 15244; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 15213; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 15245; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 15214; + if (!false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 15246; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 15215; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 15247; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && Open) return 15216; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && Open) return 15248; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 15217; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 15249; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && Open) return 15218; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && Open) return 15250; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 15219; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 15251; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && Powered && !Open) return 15220; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && Powered && !Open) return 15252; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 15221; + if (false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_XP && !Powered && !Open) return 15253; + if (!false && Half == Half::Bottom && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered && !Open) return 15222; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_ZM && Powered && Open) return 15191; + if (false && Half == Half::Top && Facing == eBlockFace::BLOCK_FACE_XM && Powered && Open) return 15223; + return 15254; + } + short WarpedTrapdoor(); + eBlockFace Facing(short ID); + enum Half Half(short ID); + bool Open(short ID); + bool Powered(short ID); + bool Waterlogged(short ID); + } + namespace WarpedWallSign + { + constexpr short WarpedWallSign(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM && false) return 15731; + if (Facing == eBlockFace::BLOCK_FACE_ZM && !false) return 15728; + if (Facing == eBlockFace::BLOCK_FACE_XM && !false) return 15732; + if (Facing == eBlockFace::BLOCK_FACE_ZP && false) return 15729; + if (Facing == eBlockFace::BLOCK_FACE_XP && false) return 15733; + if (Facing == eBlockFace::BLOCK_FACE_ZP && !false) return 15730; + if (Facing == eBlockFace::BLOCK_FACE_ZM && false) return 15727; + return 15734; + } + short WarpedWallSign(); + eBlockFace Facing(short ID); + bool Waterlogged(short ID); + } + namespace WarpedWartBlock + { + constexpr short WarpedWartBlock() + { + return 14972; + } + } + namespace Water + { + constexpr short Water(unsigned char Level) + { + if (Level == 12) return 46; + if (Level == 14) return 48; + if (Level == 1) return 35; + if (Level == 3) return 37; + if (Level == 5) return 39; + if (Level == 7) return 41; + if (Level == 9) return 43; + if (Level == 11) return 45; + if (Level == 13) return 47; + if (Level == 0) return 34; + if (Level == 2) return 36; + if (Level == 4) return 38; + if (Level == 6) return 40; + if (Level == 8) return 42; + if (Level == 10) return 44; + return 49; + } + short Water(); + unsigned char Level(short ID); + } + namespace WeepingVines + { + constexpr short WeepingVines(unsigned char Age) + { + if (Age == 11) return 15001; + if (Age == 19) return 15009; + if (Age == 4) return 14994; + if (Age == 12) return 15002; + if (Age == 20) return 15010; + if (Age == 5) return 14995; + if (Age == 13) return 15003; + if (Age == 21) return 15011; + if (Age == 6) return 14996; + if (Age == 14) return 15004; + if (Age == 22) return 15012; + if (Age == 7) return 14997; + if (Age == 15) return 15005; + if (Age == 23) return 15013; + if (Age == 0) return 14990; + if (Age == 8) return 14998; + if (Age == 16) return 15006; + if (Age == 24) return 15014; + if (Age == 1) return 14991; + if (Age == 9) return 14999; + if (Age == 17) return 15007; + if (Age == 25) return 15015; + if (Age == 2) return 14992; + if (Age == 10) return 15000; + if (Age == 18) return 15008; + return 14993; + } + short WeepingVines(); + unsigned char Age(short ID); + } + namespace WeepingVinesPlant + { + constexpr short WeepingVinesPlant() + { + return 15016; + } + } + namespace WetSponge + { + constexpr short WetSponge() + { + return 230; + } + } + namespace Wheat + { + constexpr short Wheat(unsigned char Age) + { + if (Age == 1) return 3358; + if (Age == 2) return 3359; + if (Age == 3) return 3360; + if (Age == 4) return 3361; + if (Age == 5) return 3362; + if (Age == 6) return 3363; + if (Age == 0) return 3357; + return 3364; + } + short Wheat(); + unsigned char Age(short ID); + } + namespace WhiteBanner + { + constexpr short WhiteBanner(unsigned char Rotation) + { + if (Rotation == 9) return 7906; + if (Rotation == 10) return 7907; + if (Rotation == 11) return 7908; + if (Rotation == 12) return 7909; + if (Rotation == 13) return 7910; + if (Rotation == 14) return 7911; + if (Rotation == 0) return 7897; + if (Rotation == 1) return 7898; + if (Rotation == 2) return 7899; + if (Rotation == 3) return 7900; + if (Rotation == 4) return 7901; + if (Rotation == 5) return 7902; + if (Rotation == 6) return 7903; + if (Rotation == 7) return 7904; + if (Rotation == 8) return 7905; + return 7912; + } + short WhiteBanner(); + unsigned char Rotation(short ID); + } + namespace WhiteBed + { + enum class Part + { + Head, + Foot + }; + constexpr short WhiteBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1062; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1051; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1055; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1059; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1063; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1052; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1056; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1060; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1049; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1053; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1057; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1061; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1050; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1054; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1058; + return 1064; + } + short WhiteBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace WhiteCarpet + { + constexpr short WhiteCarpet() + { + return 7866; + } + } + namespace WhiteConcrete + { + constexpr short WhiteConcrete() + { + return 9438; + } + } + namespace WhiteConcretePowder + { + constexpr short WhiteConcretePowder() + { + return 9454; + } + } + namespace WhiteGlazedTerracotta + { + constexpr short WhiteGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9375; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9374; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9376; + return 9377; + } + short WhiteGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace WhiteShulkerBox + { + constexpr short WhiteShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9281; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9278; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9282; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9279; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9283; + return 9280; + } + short WhiteShulkerBox(); + eBlockFace Facing(short ID); + } + namespace WhiteStainedGlass + { + constexpr short WhiteStainedGlass() + { + return 4095; + } + } + namespace WhiteStainedGlassPane + { + constexpr short WhiteStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (!false && !South && West && East && North) return 6869; + if (!false && South && West && East && !North) return 6873; + if (!false && !South && West && East && !North) return 6877; + if (!false && South && West && !East && North) return 6881; + if (!false && !South && West && !East && North) return 6885; + if (!false && South && West && !East && !North) return 6889; + if (!false && !South && West && !East && !North) return 6893; + if (!false && South && !West && East && North) return 6866; + if (!false && !South && !West && East && North) return 6870; + if (!false && South && !West && East && !North) return 6874; + if (!false && !South && !West && East && !North) return 6878; + if (!false && South && !West && !East && North) return 6882; + if (!false && !South && !West && !East && North) return 6886; + if (!false && South && !West && !East && !North) return 6890; + if (false && South && West && East && North) return 6863; + if (false && !South && West && East && North) return 6867; + if (false && South && West && East && !North) return 6871; + if (false && !South && West && East && !North) return 6875; + if (false && South && West && !East && North) return 6879; + if (false && !South && West && !East && North) return 6883; + if (false && South && West && !East && !North) return 6887; + if (false && !South && West && !East && !North) return 6891; + if (false && South && !West && East && North) return 6864; + if (false && !South && !West && East && North) return 6868; + if (false && South && !West && East && !North) return 6872; + if (false && !South && !West && East && !North) return 6876; + if (false && South && !West && !East && North) return 6880; + if (false && !South && !West && !East && North) return 6884; + if (false && South && !West && !East && !North) return 6888; + if (false && !South && !West && !East && !North) return 6892; + if (!false && South && West && East && North) return 6865; + return 6894; + } + short WhiteStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace WhiteTerracotta + { + constexpr short WhiteTerracotta() + { + return 6847; + } + } + namespace WhiteTulip + { + constexpr short WhiteTulip() + { + return 1419; + } + } + namespace WhiteWallBanner + { + constexpr short WhiteWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8155; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8153; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8154; + return 8156; + } + short WhiteWallBanner(); + eBlockFace Facing(short ID); + } + namespace WhiteWool + { + constexpr short WhiteWool() + { + return 1384; + } + } + namespace WitherRose + { + constexpr short WitherRose() + { + return 1423; + } + } + namespace WitherSkeletonSkull + { + constexpr short WitherSkeletonSkull(unsigned char Rotation) + { + if (Rotation == 1) return 6511; + if (Rotation == 2) return 6512; + if (Rotation == 3) return 6513; + if (Rotation == 4) return 6514; + if (Rotation == 5) return 6515; + if (Rotation == 6) return 6516; + if (Rotation == 7) return 6517; + if (Rotation == 8) return 6518; + if (Rotation == 9) return 6519; + if (Rotation == 10) return 6520; + if (Rotation == 11) return 6521; + if (Rotation == 12) return 6522; + if (Rotation == 13) return 6523; + if (Rotation == 14) return 6524; + if (Rotation == 0) return 6510; + return 6525; + } + short WitherSkeletonSkull(); + unsigned char Rotation(short ID); + } + namespace WitherSkeletonWallSkull + { + constexpr short WitherSkeletonWallSkull(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6526; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6527; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 6528; + return 6529; + } + short WitherSkeletonWallSkull(); + eBlockFace Facing(short ID); + } + namespace YellowBanner + { + constexpr short YellowBanner(unsigned char Rotation) + { + if (Rotation == 5) return 7966; + if (Rotation == 6) return 7967; + if (Rotation == 7) return 7968; + if (Rotation == 8) return 7969; + if (Rotation == 9) return 7970; + if (Rotation == 10) return 7971; + if (Rotation == 11) return 7972; + if (Rotation == 12) return 7973; + if (Rotation == 13) return 7974; + if (Rotation == 14) return 7975; + if (Rotation == 0) return 7961; + if (Rotation == 1) return 7962; + if (Rotation == 2) return 7963; + if (Rotation == 3) return 7964; + if (Rotation == 4) return 7965; + return 7976; + } + short YellowBanner(); + unsigned char Rotation(short ID); + } + namespace YellowBed + { + enum class Part + { + Head, + Foot + }; + constexpr short YellowBed(eBlockFace Facing, bool Occupied, enum Part Part) + { + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1122; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1126; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1115; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1119; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1123; + if (Part == Part::Head && !Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1127; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1116; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1120; + if (Part == Part::Foot && !Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1124; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1113; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1117; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XM) return 1121; + if (Part == Part::Head && Occupied && Facing == eBlockFace::BLOCK_FACE_XP) return 1125; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZM) return 1114; + if (Part == Part::Foot && Occupied && Facing == eBlockFace::BLOCK_FACE_ZP) return 1118; + return 1128; + } + short YellowBed(); + eBlockFace Facing(short ID); + bool Occupied(short ID); + enum Part Part(short ID); + } + namespace YellowCarpet + { + constexpr short YellowCarpet() + { + return 7870; + } + } + namespace YellowConcrete + { + constexpr short YellowConcrete() + { + return 9442; + } + } + namespace YellowConcretePowder + { + constexpr short YellowConcretePowder() + { + return 9458; + } + } + namespace YellowGlazedTerracotta + { + constexpr short YellowGlazedTerracotta(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9390; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9392; + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9391; + return 9393; + } + short YellowGlazedTerracotta(); + eBlockFace Facing(short ID); + } + namespace YellowShulkerBox + { + constexpr short YellowShulkerBox(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_XM) return 9305; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9302; + if (Facing == eBlockFace::BLOCK_FACE_YP) return 9306; + if (Facing == eBlockFace::BLOCK_FACE_XP) return 9303; + if (Facing == eBlockFace::BLOCK_FACE_YM) return 9307; + return 9304; + } + short YellowShulkerBox(); + eBlockFace Facing(short ID); + } + namespace YellowStainedGlass + { + constexpr short YellowStainedGlass() + { + return 4099; + } + } + namespace YellowStainedGlassPane + { + constexpr short YellowStainedGlassPane(bool East, bool North, bool South, bool West) + { + if (!false && South && West && East && North) return 6993; + if (!false && !South && West && East && North) return 6997; + if (!false && South && West && East && !North) return 7001; + if (!false && !South && West && East && !North) return 7005; + if (!false && South && West && !East && North) return 7009; + if (!false && !South && West && !East && North) return 7013; + if (!false && South && West && !East && !North) return 7017; + if (!false && !South && West && !East && !North) return 7021; + if (!false && South && !West && East && North) return 6994; + if (!false && !South && !West && East && North) return 6998; + if (!false && South && !West && East && !North) return 7002; + if (!false && !South && !West && East && !North) return 7006; + if (!false && South && !West && !East && North) return 7010; + if (!false && !South && !West && !East && North) return 7014; + if (!false && South && !West && !East && !North) return 7018; + if (false && South && West && East && North) return 6991; + if (false && !South && West && East && North) return 6995; + if (false && South && West && East && !North) return 6999; + if (false && !South && West && East && !North) return 7003; + if (false && South && West && !East && North) return 7007; + if (false && !South && West && !East && North) return 7011; + if (false && South && West && !East && !North) return 7015; + if (false && !South && West && !East && !North) return 7019; + if (false && South && !West && East && North) return 6992; + if (false && !South && !West && East && North) return 6996; + if (false && South && !West && East && !North) return 7000; + if (false && !South && !West && East && !North) return 7004; + if (false && South && !West && !East && North) return 7008; + if (false && !South && !West && !East && North) return 7012; + if (false && South && !West && !East && !North) return 7016; + if (false && !South && !West && !East && !North) return 7020; + return 7022; + } + short YellowStainedGlassPane(); + bool East(short ID); + bool North(short ID); + bool South(short ID); + bool Waterlogged(short ID); + bool West(short ID); + } + namespace YellowTerracotta + { + constexpr short YellowTerracotta() + { + return 6851; + } + } + namespace YellowWallBanner + { + constexpr short YellowWallBanner(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8170; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 8171; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8169; + return 8172; + } + short YellowWallBanner(); + eBlockFace Facing(short ID); + } + namespace YellowWool + { + constexpr short YellowWool() + { + return 1388; + } + } + namespace ZombieHead + { + constexpr short ZombieHead(unsigned char Rotation) + { + if (Rotation == 11) return 6541; + if (Rotation == 12) return 6542; + if (Rotation == 13) return 6543; + if (Rotation == 14) return 6544; + if (Rotation == 0) return 6530; + if (Rotation == 1) return 6531; + if (Rotation == 2) return 6532; + if (Rotation == 3) return 6533; + if (Rotation == 4) return 6534; + if (Rotation == 5) return 6535; + if (Rotation == 6) return 6536; + if (Rotation == 7) return 6537; + if (Rotation == 8) return 6538; + if (Rotation == 9) return 6539; + if (Rotation == 10) return 6540; + return 6545; + } + short ZombieHead(); + unsigned char Rotation(short ID); + } + namespace ZombieWallHead + { + constexpr short ZombieWallHead(eBlockFace Facing) + { + if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6547; + if (Facing == eBlockFace::BLOCK_FACE_XM) return 6548; + if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6546; + return 6549; + } + short ZombieWallHead(); + eBlockFace Facing(short ID); + } +} |