#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, TNT, TallGrass, TallSeagrass, Target, Terracotta, 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 && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6442; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6443; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6444; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6445; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6446; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6447; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6448; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6449; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6450; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6451; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6452; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6453; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6454; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6455; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6456; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6457; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6458; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6459; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6460; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6461; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6462; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6463; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6464; return 6465; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8930; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8931; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8932; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8933; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8934; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8935; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8936; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8937; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8938; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8939; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8940; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8941; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8942; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8943; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8944; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8945; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8946; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8947; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8948; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8949; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8950; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8951; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8952; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8953; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8954; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8955; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8956; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8957; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8958; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8959; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8960; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8961; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8962; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8963; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8964; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8965; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8966; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8967; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8968; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8969; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8970; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8971; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8972; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8973; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8974; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8975; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8976; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8977; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8978; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8979; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8980; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8981; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8982; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8983; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8984; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8985; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8986; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8987; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8988; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8989; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8990; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8991; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8992; 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 (East && North && South && West) return 8676; if (East && North && South && !West) return 8677; if (East && North && !South && West) return 8680; if (East && North && !South && !West) return 8681; if (East && !North && South && West) return 8684; if (East && !North && South && !West) return 8685; if (East && !North && !South && West) return 8688; if (East && !North && !South && !West) return 8689; if (!East && North && South && West) return 8692; if (!East && North && South && !West) return 8693; if (!East && North && !South && West) return 8696; if (!East && North && !South && !West) return 8697; if (!East && !North && South && West) return 8700; if (!East && !North && South && !West) return 8701; if (!East && !North && !South && West) return 8704; return 8705; } short AcaciaFence(); bool East(short ID); bool North(short ID); bool South(short ID); bool West(short ID); } namespace AcaciaFenceGate { constexpr short AcaciaFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && Powered) return 8514; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && !Powered) return 8515; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && Powered) return 8516; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && !Powered) return 8517; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && Powered) return 8518; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && !Powered) return 8519; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && Powered) return 8520; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && !Powered) return 8521; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && Powered) return 8522; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && !Powered) return 8523; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && Powered) return 8524; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && !Powered) return 8525; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && Powered) return 8526; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && !Powered) return 8527; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && Powered) return 8528; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && !Powered) return 8529; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && Powered) return 8530; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && !Powered) return 8531; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && Powered) return 8532; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && !Powered) return 8533; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && Powered) return 8534; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && !Powered) return 8535; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && Powered) return 8536; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && !Powered) return 8537; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && Powered) return 8538; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && !Powered) return 8539; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && Powered) return 8540; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && !Powered) return 8541; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && Powered) return 8542; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && !Powered) return 8543; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && !Open && Powered) return 8544; 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 (Distance == 1 && Persistent) return 201; if (Distance == 1 && !Persistent) return 202; if (Distance == 2 && Persistent) return 203; if (Distance == 2 && !Persistent) return 204; if (Distance == 3 && Persistent) return 205; if (Distance == 3 && !Persistent) return 206; if (Distance == 4 && Persistent) return 207; if (Distance == 4 && !Persistent) return 208; if (Distance == 5 && Persistent) return 209; if (Distance == 5 && !Persistent) return 210; if (Distance == 6 && Persistent) return 211; if (Distance == 6 && !Persistent) return 212; if (Distance == 7 && Persistent) return 213; return 214; } 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 == 0) return 3478; if (Rotation == 1) return 3480; if (Rotation == 2) return 3482; if (Rotation == 3) return 3484; if (Rotation == 4) return 3486; if (Rotation == 5) return 3488; if (Rotation == 6) return 3490; if (Rotation == 7) return 3492; if (Rotation == 8) return 3494; if (Rotation == 9) return 3496; if (Rotation == 10) return 3498; if (Rotation == 11) return 3500; if (Rotation == 12) return 3502; if (Rotation == 13) return 3504; if (Rotation == 14) return 3506; return 3508; } short AcaciaSign(); unsigned char Rotation(short ID); } namespace AcaciaSlab { enum class Type { Top, Bottom, Double }; constexpr short AcaciaSlab(enum Type Type) { if (Type == Type::Top) return 8325; if (Type == Type::Bottom) return 8327; return 8329; } short AcaciaSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 7376; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 7378; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 7380; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 7382; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 7384; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 7386; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7388; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7390; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7392; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7394; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 7396; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 7398; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 7400; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 7402; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 7404; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 7406; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7408; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7410; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7412; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 7414; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 7416; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 7418; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 7420; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 7422; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 7424; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 7426; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7428; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7430; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7432; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7434; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 7436; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 7438; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 7440; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 7442; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 7444; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 7446; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7448; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7450; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7452; return 7454; } short AcaciaStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace AcaciaTrapdoor { enum class Half { Top, Bottom }; constexpr short AcaciaTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && Powered) return 4368; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && !Powered) return 4370; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && Powered) return 4372; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && !Powered) return 4374; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && Powered) return 4376; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && !Powered) return 4378; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && Powered) return 4380; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && !Powered) return 4382; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && Powered) return 4384; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && !Powered) return 4386; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && Powered) return 4388; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && !Powered) return 4390; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && Powered) return 4392; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && !Powered) return 4394; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && Powered) return 4396; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && !Powered) return 4398; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && Powered) return 4400; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && !Powered) return 4402; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && Powered) return 4404; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && !Powered) return 4406; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && Powered) return 4408; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && !Powered) return 4410; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && Powered) return 4412; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && !Powered) return 4414; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && Powered) return 4416; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && !Powered) return 4418; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && Powered) return 4420; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && !Powered) return 4422; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && Powered) return 4424; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && !Powered) return 4426; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && !Open && Powered) return 4428; return 4430; } short AcaciaTrapdoor(); eBlockFace Facing(short ID); enum Half Half(short ID); bool Open(short ID); bool Powered(short ID); } namespace AcaciaWallSign { constexpr short AcaciaWallSign(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3760; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3762; if (Facing == eBlockFace::BLOCK_FACE_XM) return 3764; return 3766; } short AcaciaWallSign(); eBlockFace Facing(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 (Powered && Shape == Shape::NorthSouth) return 6823; if (Powered && Shape == Shape::EastWest) return 6824; if (Powered && Shape == Shape::AscendingEast) return 6825; if (Powered && Shape == Shape::AscendingWest) return 6826; if (Powered && Shape == Shape::AscendingNorth) return 6827; if (Powered && Shape == Shape::AscendingSouth) return 6828; if (!Powered && Shape == Shape::NorthSouth) return 6829; if (!Powered && Shape == Shape::EastWest) return 6830; if (!Powered && Shape == Shape::AscendingEast) return 6831; if (!Powered && Shape == Shape::AscendingWest) return 6832; if (!Powered && Shape == Shape::AscendingNorth) return 6833; return 6834; } 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::Top) return 10844; if (Type == Type::Bottom) return 10846; return 10848; } short AndesiteSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 10470; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 10472; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 10474; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 10476; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 10478; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10480; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10482; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10484; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10486; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10488; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10490; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10492; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10494; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10496; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10498; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10500; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10502; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10504; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10506; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10508; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10510; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10512; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10514; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10516; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10518; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10520; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10522; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10524; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10526; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10528; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10530; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10532; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10534; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10536; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10538; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10540; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10542; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10544; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10546; return 10548; } short AndesiteStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 13138; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 13139; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 13140; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 13144; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 13145; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 13146; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 13150; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 13151; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 13152; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 13156; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 13157; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 13158; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 13162; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 13163; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 13164; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 13168; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 13169; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 13170; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 13174; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 13175; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 13176; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 13180; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 13181; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 13182; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 13186; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 13187; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 13188; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 13192; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 13193; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 13194; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 13198; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 13199; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 13200; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 13204; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 13205; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 13206; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 13210; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 13211; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 13212; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 13216; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 13217; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13218; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 13222; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 13223; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13224; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 13228; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13229; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13230; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 13234; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13235; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13236; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13240; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13241; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 13242; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 13246; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 13247; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 13248; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 13252; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 13253; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 13254; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 13258; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 13259; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 13260; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 13264; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 13265; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 13266; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 13270; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 13271; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 13272; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 13276; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 13277; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 13278; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 13282; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 13283; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 13284; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 13288; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 13289; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 13290; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 13294; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 13295; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 13296; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 13300; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 13301; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 13302; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 13306; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 13307; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 13308; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 13312; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 13313; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 13314; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 13318; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 13319; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 13320; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 13324; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 13325; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13326; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 13330; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 13331; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13332; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 13336; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13337; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13338; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 13342; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13343; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13344; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13348; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13349; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 13350; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 13354; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 13355; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 13356; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 13360; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 13361; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 13362; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 13366; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 13367; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 13368; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 13372; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 13373; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 13374; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 13378; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 13379; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 13380; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 13384; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 13385; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 13386; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 13390; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 13391; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 13392; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 13396; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 13397; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 13398; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 13402; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 13403; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 13404; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 13408; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 13409; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 13410; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 13414; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 13415; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 13416; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 13420; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 13421; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 13422; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 13426; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 13427; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 13428; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 13432; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 13433; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13434; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 13438; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 13439; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13440; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 13444; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13445; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13446; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 13450; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13451; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13452; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13456; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13457; return 13458; } short AndesiteWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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_ZM) return 4764; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4765; if (Facing == eBlockFace::BLOCK_FACE_XM) return 4766; 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 (Age == 0 && Leaves == Leaves::None && Stage == 0) return 9652; if (Age == 0 && Leaves == Leaves::None && Stage == 1) return 9653; if (Age == 0 && Leaves == Leaves::Small && Stage == 0) return 9654; if (Age == 0 && Leaves == Leaves::Small && Stage == 1) return 9655; if (Age == 0 && Leaves == Leaves::Large && Stage == 0) return 9656; if (Age == 0 && Leaves == Leaves::Large && Stage == 1) return 9657; if (Age == 1 && Leaves == Leaves::None && Stage == 0) return 9658; if (Age == 1 && Leaves == Leaves::None && Stage == 1) return 9659; if (Age == 1 && Leaves == Leaves::Small && Stage == 0) return 9660; if (Age == 1 && Leaves == Leaves::Small && Stage == 1) return 9661; if (Age == 1 && Leaves == Leaves::Large && Stage == 0) return 9662; return 9663; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Open) return 14791; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Open) return 14792; if (Facing == eBlockFace::BLOCK_FACE_XP && Open) return 14793; if (Facing == eBlockFace::BLOCK_FACE_XP && !Open) return 14794; if (Facing == eBlockFace::BLOCK_FACE_ZP && Open) return 14795; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Open) return 14796; if (Facing == eBlockFace::BLOCK_FACE_XM && Open) return 14797; if (Facing == eBlockFace::BLOCK_FACE_XM && !Open) return 14798; if (Facing == eBlockFace::BLOCK_FACE_YP && Open) return 14799; if (Facing == eBlockFace::BLOCK_FACE_YP && !Open) return 14800; if (Facing == eBlockFace::BLOCK_FACE_YM && Open) return 14801; return 14802; } 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::X) return 4002; if (Axis == Axis::Y) return 4003; 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_ZM && HoneyLevel == 1) return 15777; if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 2) return 15778; if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 3) return 15779; if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 4) return 15780; if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 5) return 15781; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 0) return 15782; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 1) return 15783; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 2) return 15784; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 3) return 15785; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 4) return 15786; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 5) return 15787; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 0) return 15788; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 1) return 15789; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 2) return 15790; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 3) return 15791; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 4) return 15792; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 5) return 15793; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 0) return 15794; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 1) return 15795; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 2) return 15796; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 3) return 15797; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 4) return 15798; 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_ZM && HoneyLevel == 0) return 15800; if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 1) return 15801; if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 2) return 15802; if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 3) return 15803; if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 4) return 15804; if (Facing == eBlockFace::BLOCK_FACE_ZM && HoneyLevel == 5) return 15805; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 0) return 15806; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 1) return 15807; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 2) return 15808; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 3) return 15809; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 4) return 15810; if (Facing == eBlockFace::BLOCK_FACE_ZP && HoneyLevel == 5) return 15811; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 0) return 15812; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 1) return 15813; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 2) return 15814; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 3) return 15815; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 4) return 15816; if (Facing == eBlockFace::BLOCK_FACE_XM && HoneyLevel == 5) return 15817; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 0) return 15818; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 1) return 15819; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 2) return 15820; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 3) return 15821; if (Facing == eBlockFace::BLOCK_FACE_XP && HoneyLevel == 4) return 15822; return 15823; } 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 == 1) return 9220; if (Age == 2) return 9221; 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::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 14854; if (Attachment == Attachment::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 14855; if (Attachment == Attachment::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 14856; if (Attachment == Attachment::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 14857; if (Attachment == Attachment::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 14858; if (Attachment == Attachment::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 14859; if (Attachment == Attachment::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 14860; if (Attachment == Attachment::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 14861; if (Attachment == Attachment::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 14862; if (Attachment == Attachment::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 14863; if (Attachment == Attachment::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 14864; if (Attachment == Attachment::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 14865; if (Attachment == Attachment::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 14866; if (Attachment == Attachment::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 14867; if (Attachment == Attachment::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 14868; if (Attachment == Attachment::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 14869; if (Attachment == Attachment::SingleWall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 14870; if (Attachment == Attachment::SingleWall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 14871; if (Attachment == Attachment::SingleWall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 14872; if (Attachment == Attachment::SingleWall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 14873; if (Attachment == Attachment::SingleWall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 14874; if (Attachment == Attachment::SingleWall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 14875; if (Attachment == Attachment::SingleWall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 14876; if (Attachment == Attachment::SingleWall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 14877; if (Attachment == Attachment::DoubleWall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 14878; if (Attachment == Attachment::DoubleWall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 14879; if (Attachment == Attachment::DoubleWall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 14880; if (Attachment == Attachment::DoubleWall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 14881; if (Attachment == Attachment::DoubleWall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 14882; if (Attachment == Attachment::DoubleWall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 14883; if (Attachment == Attachment::DoubleWall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 14884; 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::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6394; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6395; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6396; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6397; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6398; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6399; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6400; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6401; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6402; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6403; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6404; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6405; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6406; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6407; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6408; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6409; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6410; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6411; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6412; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6413; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6414; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6415; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6416; return 6417; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8802; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8803; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8804; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8805; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8806; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8807; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8808; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8809; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8810; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8811; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8812; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8813; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8814; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8815; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8816; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8817; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8818; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8819; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8820; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8821; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8822; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8823; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8824; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8825; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8826; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8827; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8828; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8829; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8830; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8831; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8832; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8833; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8834; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8835; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8836; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8837; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8838; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8839; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8840; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8841; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8842; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8843; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8844; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8845; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8846; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8847; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8848; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8849; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8850; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8851; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8852; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8853; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8854; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8855; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8856; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8857; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8858; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8859; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8860; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8861; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8862; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8863; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8864; 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 (East && North && South && West) return 8612; if (East && North && South && !West) return 8613; if (East && North && !South && West) return 8616; if (East && North && !South && !West) return 8617; if (East && !North && South && West) return 8620; if (East && !North && South && !West) return 8621; if (East && !North && !South && West) return 8624; if (East && !North && !South && !West) return 8625; if (!East && North && South && West) return 8628; if (!East && North && South && !West) return 8629; if (!East && North && !South && West) return 8632; if (!East && North && !South && !West) return 8633; if (!East && !North && South && West) return 8636; if (!East && !North && South && !West) return 8637; if (!East && !North && !South && West) return 8640; return 8641; } short BirchFence(); bool East(short ID); bool North(short ID); bool South(short ID); bool West(short ID); } namespace BirchFenceGate { constexpr short BirchFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && Powered) return 8450; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && !Powered) return 8451; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && Powered) return 8452; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && !Powered) return 8453; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && Powered) return 8454; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && !Powered) return 8455; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && Powered) return 8456; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && !Powered) return 8457; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && Powered) return 8458; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && !Powered) return 8459; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && Powered) return 8460; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && !Powered) return 8461; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && Powered) return 8462; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && !Powered) return 8463; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && Powered) return 8464; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && !Powered) return 8465; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && Powered) return 8466; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && !Powered) return 8467; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && Powered) return 8468; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && !Powered) return 8469; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && Powered) return 8470; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && !Powered) return 8471; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && Powered) return 8472; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && !Powered) return 8473; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && Powered) return 8474; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && !Powered) return 8475; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && Powered) return 8476; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && !Powered) return 8477; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && Powered) return 8478; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && !Powered) return 8479; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && !Open && Powered) return 8480; 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 (Distance == 1 && Persistent) return 173; if (Distance == 1 && !Persistent) return 174; if (Distance == 2 && Persistent) return 175; if (Distance == 2 && !Persistent) return 176; if (Distance == 3 && Persistent) return 177; if (Distance == 3 && !Persistent) return 178; if (Distance == 4 && Persistent) return 179; if (Distance == 4 && !Persistent) return 180; if (Distance == 5 && Persistent) return 181; if (Distance == 5 && !Persistent) return 182; if (Distance == 6 && Persistent) return 183; if (Distance == 6 && !Persistent) return 184; if (Distance == 7 && Persistent) return 185; return 186; } 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 == 0) return 3446; if (Rotation == 1) return 3448; if (Rotation == 2) return 3450; if (Rotation == 3) return 3452; if (Rotation == 4) return 3454; if (Rotation == 5) return 3456; if (Rotation == 6) return 3458; if (Rotation == 7) return 3460; if (Rotation == 8) return 3462; if (Rotation == 9) return 3464; if (Rotation == 10) return 3466; if (Rotation == 11) return 3468; if (Rotation == 12) return 3470; if (Rotation == 13) return 3472; if (Rotation == 14) return 3474; return 3476; } short BirchSign(); unsigned char Rotation(short ID); } namespace BirchSlab { enum class Type { Top, Bottom, Double }; constexpr short BirchSlab(enum Type Type) { if (Type == Type::Top) return 8313; if (Type == Type::Bottom) return 8315; return 8317; } short BirchSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 5485; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 5487; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 5489; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 5491; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 5493; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 5495; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5497; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5499; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5501; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5503; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 5505; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 5507; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 5509; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 5511; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 5513; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 5515; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5517; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5519; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5521; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 5523; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 5525; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 5527; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 5529; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 5531; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 5533; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 5535; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5537; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5539; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5541; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5543; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 5545; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 5547; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 5549; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 5551; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 5553; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 5555; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5557; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5559; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5561; return 5563; } short BirchStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace BirchTrapdoor { enum class Half { Top, Bottom }; constexpr short BirchTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && Powered) return 4240; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && !Powered) return 4242; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && Powered) return 4244; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && !Powered) return 4246; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && Powered) return 4248; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && !Powered) return 4250; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && Powered) return 4252; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && !Powered) return 4254; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && Powered) return 4256; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && !Powered) return 4258; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && Powered) return 4260; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && !Powered) return 4262; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && Powered) return 4264; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && !Powered) return 4266; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && Powered) return 4268; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && !Powered) return 4270; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && Powered) return 4272; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && !Powered) return 4274; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && Powered) return 4276; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && !Powered) return 4278; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && Powered) return 4280; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && !Powered) return 4282; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && Powered) return 4284; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && !Powered) return 4286; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && Powered) return 4288; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && !Powered) return 4290; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && Powered) return 4292; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && !Powered) return 4294; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && Powered) return 4296; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && !Powered) return 4298; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && !Open && Powered) return 4300; return 4302; } short BirchTrapdoor(); eBlockFace Facing(short ID); enum Half Half(short ID); bool Open(short ID); bool Powered(short ID); } namespace BirchWallSign { constexpr short BirchWallSign(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3752; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3754; if (Facing == eBlockFace::BLOCK_FACE_XM) return 3756; return 3758; } short BirchWallSign(); eBlockFace Facing(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 == 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; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1289; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1290; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1291; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1292; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1293; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1294; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1295; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1296; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1297; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1298; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1299; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1300; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1301; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1302; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1303; 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_ZM) return 9434; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9435; 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_XP) return 9369; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9370; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9371; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9372; return 9373; } 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 (East && North && South && West) return 7345; if (East && North && South && !West) return 7346; if (East && North && !South && West) return 7349; if (East && North && !South && !West) return 7350; if (East && !North && South && West) return 7353; if (East && !North && South && !West) return 7354; if (East && !North && !South && West) return 7357; if (East && !North && !South && !West) return 7358; if (!East && North && South && West) return 7361; if (!East && North && South && !West) return 7362; if (!East && North && !South && West) return 7365; if (!East && North && !South && !West) return 7366; if (!East && !North && South && West) return 7369; if (!East && !North && South && !West) return 7370; if (!East && !North && !South && West) return 7373; return 7374; } short BlackStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8213; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8214; 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::Top) return 16245; if (Type == Type::Bottom) return 16247; return 16249; } short BlackstoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 15841; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 15843; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 15845; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 15847; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 15849; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 15851; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15853; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 15855; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15857; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 15859; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 15861; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 15863; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 15865; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 15867; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 15869; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 15871; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15873; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 15875; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15877; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 15879; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 15881; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 15883; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 15885; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 15887; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 15889; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 15891; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15893; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 15895; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15897; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 15899; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 15901; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 15903; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 15905; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 15907; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 15909; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 15911; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15913; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 15915; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15917; return 15919; } short BlackstoneStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 15923; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 15924; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 15925; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 15929; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 15930; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 15931; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 15935; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 15936; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 15937; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 15941; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 15942; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 15943; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 15947; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 15948; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 15949; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 15953; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 15954; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 15955; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 15959; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 15960; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 15961; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 15965; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 15966; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 15967; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 15971; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 15972; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 15973; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 15977; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 15978; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 15979; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 15983; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 15984; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 15985; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 15989; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 15990; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 15991; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 15995; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 15996; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 15997; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 16001; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 16002; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 16003; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 16007; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 16008; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 16009; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 16013; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 16014; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 16015; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 16019; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 16020; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 16021; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 16025; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 16026; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 16027; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 16031; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 16032; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 16033; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 16037; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 16038; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 16039; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 16043; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 16044; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 16045; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 16049; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 16050; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 16051; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 16055; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 16056; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 16057; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 16061; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 16062; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 16063; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 16067; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 16068; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 16069; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 16073; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 16074; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 16075; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 16079; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 16080; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 16081; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 16085; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 16086; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 16087; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 16091; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 16092; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 16093; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 16097; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 16098; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 16099; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 16103; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 16104; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 16105; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 16109; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 16110; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 16111; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 16115; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 16116; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 16117; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 16121; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 16122; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 16123; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 16127; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 16128; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 16129; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 16133; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 16134; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 16135; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 16139; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 16140; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 16141; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 16145; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 16146; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 16147; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 16151; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 16152; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 16153; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 16157; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 16158; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 16159; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 16163; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 16164; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 16165; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 16169; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 16170; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 16171; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 16175; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 16176; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 16177; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 16181; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 16182; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 16183; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 16187; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 16188; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 16189; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 16193; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 16194; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 16195; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 16199; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 16200; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 16201; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 16205; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 16206; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 16207; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 16211; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 16212; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 16213; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 16217; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 16218; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 16219; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 16223; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 16224; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 16225; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 16229; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 16230; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 16231; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 16235; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 16236; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 16237; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 16241; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 16242; return 16243; } short BlackstoneWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(short ID); enum West West(short ID); } namespace BlastFurnace { constexpr short BlastFurnace(eBlockFace Facing, bool Lit) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Lit) return 14811; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit) return 14812; if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit) return 14813; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit) return 14814; if (Facing == eBlockFace::BLOCK_FACE_XM && Lit) return 14815; if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit) return 14816; 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 == 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; if (Rotation == 13) return 8086; if (Rotation == 14) return 8087; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1225; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1226; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1227; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1228; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1229; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1230; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1231; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1232; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1233; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1234; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1235; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1236; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1237; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1238; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1239; 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_ZM) return 9418; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9419; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9420; 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_ZM) return 9344; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9345; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9346; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9347; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9348; return 9349; } 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 (East && North && South && West) return 7217; if (East && North && South && !West) return 7218; if (East && North && !South && West) return 7221; if (East && North && !South && !West) return 7222; if (East && !North && South && West) return 7225; if (East && !North && South && !West) return 7226; if (East && !North && !South && West) return 7229; if (East && !North && !South && !West) return 7230; if (!East && North && South && West) return 7233; if (!East && North && South && !West) return 7234; if (!East && North && !South && West) return 7237; if (!East && North && !South && !West) return 7238; if (!East && !North && South && West) return 7241; if (!East && !North && South && !West) return 7242; if (!East && !North && !South && West) return 7245; return 7246; } short BlueStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8197; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8198; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8199; 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::X) return 9256; if (Axis == Axis::Y) return 9257; return 9258; } short BoneBlock(); enum Axis Axis(short ID); } namespace Bookshelf { constexpr short Bookshelf() { return 1432; } } namespace BrainCoral { constexpr short BrainCoral() { return 9533; } } namespace BrainCoralBlock { constexpr short BrainCoralBlock() { return 9516; } } namespace BrainCoralFan { constexpr short BrainCoralFan() { return 9553; } } namespace BrainCoralWallFan { constexpr short BrainCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9609; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9611; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9613; return 9615; } short BrainCoralWallFan(); eBlockFace Facing(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 5134; if (HasBottle_0 && !HasBottle_1 && HasBottle_2) return 5135; if (HasBottle_0 && !HasBottle_1 && !HasBottle_2) return 5136; if (!HasBottle_0 && HasBottle_1 && HasBottle_2) return 5137; if (!HasBottle_0 && HasBottle_1 && !HasBottle_2) return 5138; if (!HasBottle_0 && !HasBottle_1 && HasBottle_2) return 5139; 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::Top) return 8373; if (Type == Type::Bottom) return 8375; return 8377; } short BrickSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 4853; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 4855; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 4857; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 4859; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 4861; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 4863; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 4865; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 4867; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 4869; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 4871; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 4873; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 4875; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 4877; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 4879; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 4881; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 4883; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 4885; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 4887; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 4889; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 4891; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 4893; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 4895; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 4897; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 4899; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 4901; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 4903; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 4905; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 4907; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 4909; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 4911; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 4913; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 4915; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 4917; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 4919; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 4921; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 4923; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 4925; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 4927; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 4929; return 4931; } short BrickStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 10870; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 10871; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 10872; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 10876; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 10877; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 10878; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 10882; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 10883; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 10884; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 10888; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 10889; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 10890; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 10894; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 10895; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 10896; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 10900; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 10901; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 10902; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 10906; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 10907; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 10908; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 10912; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 10913; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 10914; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 10918; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 10919; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 10920; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 10924; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 10925; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 10926; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 10930; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 10931; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 10932; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 10936; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 10937; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 10938; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 10942; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 10943; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 10944; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 10948; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 10949; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 10950; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 10954; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 10955; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 10956; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 10960; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 10961; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 10962; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 10966; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 10967; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 10968; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 10972; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 10973; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 10974; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 10978; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 10979; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 10980; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 10984; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 10985; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 10986; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 10990; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 10991; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 10992; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 10996; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 10997; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 10998; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 11002; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 11003; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 11004; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 11008; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 11009; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11010; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 11014; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 11015; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 11016; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 11020; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 11021; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 11022; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 11026; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 11027; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 11028; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 11032; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 11033; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 11034; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 11038; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 11039; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 11040; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 11044; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 11045; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 11046; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 11050; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 11051; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 11052; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 11056; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 11057; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 11058; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 11062; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 11063; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 11064; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 11068; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 11069; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 11070; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 11074; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 11075; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 11076; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 11080; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 11081; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 11082; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 11086; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 11087; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 11088; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 11092; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 11093; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 11094; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 11098; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 11099; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 11100; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 11104; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 11105; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 11106; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 11110; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 11111; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 11112; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 11116; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 11117; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11118; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 11122; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 11123; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 11124; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 11128; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 11129; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 11130; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 11134; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 11135; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 11136; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 11140; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 11141; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 11142; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 11146; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 11147; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 11148; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 11152; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 11153; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 11154; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 11158; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 11159; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 11160; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 11164; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 11165; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 11166; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 11170; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 11171; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 11172; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 11176; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 11177; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 11178; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 11182; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 11183; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 11184; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 11188; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 11189; return 11190; } short BrickWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(short ID); enum West West(short ID); } namespace Bricks { constexpr short Bricks() { return 1429; } } namespace BrownBanner { constexpr short BrownBanner(unsigned char Rotation) { 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; if (Rotation == 12) return 8101; if (Rotation == 13) return 8102; if (Rotation == 14) return 8103; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1241; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1242; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1243; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1244; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1245; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1246; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1247; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1248; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1249; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1250; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1251; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1252; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1253; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1254; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1255; 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_ZM) return 9422; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9423; 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 (Down && East && North && South && Up && West) return 4505; if (Down && East && North && South && Up && !West) return 4506; if (Down && East && North && South && !Up && West) return 4507; if (Down && East && North && South && !Up && !West) return 4508; if (Down && East && North && !South && Up && West) return 4509; if (Down && East && North && !South && Up && !West) return 4510; if (Down && East && North && !South && !Up && West) return 4511; if (Down && East && North && !South && !Up && !West) return 4512; if (Down && East && !North && South && Up && West) return 4513; if (Down && East && !North && South && Up && !West) return 4514; if (Down && East && !North && South && !Up && West) return 4515; if (Down && East && !North && South && !Up && !West) return 4516; if (Down && East && !North && !South && Up && West) return 4517; if (Down && East && !North && !South && Up && !West) return 4518; if (Down && East && !North && !South && !Up && West) return 4519; if (Down && East && !North && !South && !Up && !West) return 4520; if (Down && !East && North && South && Up && West) return 4521; if (Down && !East && North && South && Up && !West) return 4522; if (Down && !East && North && South && !Up && West) return 4523; if (Down && !East && North && South && !Up && !West) return 4524; if (Down && !East && North && !South && Up && West) return 4525; if (Down && !East && North && !South && Up && !West) return 4526; if (Down && !East && North && !South && !Up && West) return 4527; if (Down && !East && North && !South && !Up && !West) return 4528; if (Down && !East && !North && South && Up && West) return 4529; if (Down && !East && !North && South && Up && !West) return 4530; if (Down && !East && !North && South && !Up && West) return 4531; if (Down && !East && !North && South && !Up && !West) return 4532; if (Down && !East && !North && !South && Up && West) return 4533; if (Down && !East && !North && !South && Up && !West) return 4534; if (Down && !East && !North && !South && !Up && West) return 4535; if (Down && !East && !North && !South && !Up && !West) return 4536; if (!Down && East && North && South && Up && West) return 4537; if (!Down && East && North && South && Up && !West) return 4538; if (!Down && East && North && South && !Up && West) return 4539; if (!Down && East && North && South && !Up && !West) return 4540; if (!Down && East && North && !South && Up && West) return 4541; if (!Down && East && North && !South && Up && !West) return 4542; if (!Down && East && North && !South && !Up && West) return 4543; if (!Down && East && North && !South && !Up && !West) return 4544; if (!Down && East && !North && South && Up && West) return 4545; if (!Down && East && !North && South && Up && !West) return 4546; if (!Down && East && !North && South && !Up && West) return 4547; if (!Down && East && !North && South && !Up && !West) return 4548; if (!Down && East && !North && !South && Up && West) return 4549; if (!Down && East && !North && !South && Up && !West) return 4550; if (!Down && East && !North && !South && !Up && West) return 4551; if (!Down && East && !North && !South && !Up && !West) return 4552; if (!Down && !East && North && South && Up && West) return 4553; if (!Down && !East && North && South && Up && !West) return 4554; if (!Down && !East && North && South && !Up && West) return 4555; if (!Down && !East && North && South && !Up && !West) return 4556; if (!Down && !East && North && !South && Up && West) return 4557; if (!Down && !East && North && !South && Up && !West) return 4558; if (!Down && !East && North && !South && !Up && West) return 4559; if (!Down && !East && North && !South && !Up && !West) return 4560; if (!Down && !East && !North && South && Up && West) return 4561; if (!Down && !East && !North && South && Up && !West) return 4562; if (!Down && !East && !North && South && !Up && West) return 4563; if (!Down && !East && !North && South && !Up && !West) return 4564; if (!Down && !East && !North && !South && Up && West) return 4565; if (!Down && !East && !North && !South && Up && !West) return 4566; if (!Down && !East && !North && !South && !Up && West) return 4567; 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_ZM) return 9350; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9351; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9352; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9353; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9354; return 9355; } 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 (East && North && South && West) return 7249; if (East && North && South && !West) return 7250; if (East && North && !South && West) return 7253; if (East && North && !South && !West) return 7254; if (East && !North && South && West) return 7257; if (East && !North && South && !West) return 7258; if (East && !North && !South && West) return 7261; if (East && !North && !South && !West) return 7262; if (!East && North && South && West) return 7265; if (!East && North && South && !West) return 7266; if (!East && North && !South && West) return 7269; if (!East && North && !South && !West) return 7270; if (!East && !North && South && West) return 7273; if (!East && !North && South && !West) return 7274; if (!East && !North && !South && West) return 7277; return 7278; } short BrownStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8201; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8202; 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() { return 9535; } } namespace BubbleCoralBlock { constexpr short BubbleCoralBlock() { return 9517; } } namespace BubbleCoralFan { constexpr short BubbleCoralFan() { return 9555; } } namespace BubbleCoralWallFan { constexpr short BubbleCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9617; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9619; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9621; return 9623; } short BubbleCoralWallFan(); eBlockFace Facing(short ID); } namespace Cactus { constexpr short Cactus(unsigned char Age) { if (Age == 0) return 3931; if (Age == 1) return 3932; if (Age == 2) return 3933; if (Age == 3) return 3934; if (Age == 4) return 3935; if (Age == 5) return 3936; if (Age == 6) return 3937; if (Age == 7) return 3938; if (Age == 8) return 3939; if (Age == 9) return 3940; if (Age == 10) return 3941; if (Age == 11) return 3942; if (Age == 12) return 3943; if (Age == 13) return 3944; if (Age == 14) return 3945; return 3946; } short Cactus(); unsigned char Age(short ID); } namespace Cake { constexpr short Cake(unsigned char Bites) { 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; if (Bites == 5) return 4029; return 4030; } short Cake(); unsigned char Bites(short ID); } namespace Campfire { constexpr short Campfire(eBlockFace Facing, bool Lit, bool SignalFire) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Lit && SignalFire) return 14891; if (Facing == eBlockFace::BLOCK_FACE_ZM && Lit && !SignalFire) return 14893; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit && SignalFire) return 14895; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit && !SignalFire) return 14897; if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit && SignalFire) return 14899; if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit && !SignalFire) return 14901; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit && SignalFire) return 14903; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit && !SignalFire) return 14905; if (Facing == eBlockFace::BLOCK_FACE_XM && Lit && SignalFire) return 14907; if (Facing == eBlockFace::BLOCK_FACE_XM && Lit && !SignalFire) return 14909; if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit && SignalFire) return 14911; if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit && !SignalFire) return 14913; if (Facing == eBlockFace::BLOCK_FACE_XP && Lit && SignalFire) return 14915; if (Facing == eBlockFace::BLOCK_FACE_XP && Lit && !SignalFire) return 14917; if (Facing == eBlockFace::BLOCK_FACE_XP && !Lit && SignalFire) return 14919; return 14921; } short Campfire(); eBlockFace Facing(short ID); bool Lit(short ID); bool SignalFire(short ID); } namespace Carrots { constexpr short Carrots(unsigned char Age) { if (Age == 0) return 6330; if (Age == 1) return 6331; if (Age == 2) return 6332; if (Age == 3) return 6333; if (Age == 4) return 6334; if (Age == 5) return 6335; if (Age == 6) return 6336; 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_ZM) return 4016; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4017; if (Facing == eBlockFace::BLOCK_FACE_XM) return 4018; return 4019; } short CarvedPumpkin(); eBlockFace Facing(short ID); } namespace Cauldron { constexpr short Cauldron(unsigned char Level) { if (Level == 0) return 5141; if (Level == 1) return 5142; if (Level == 2) return 5143; return 5144; } short Cauldron(); unsigned char Level(short ID); } namespace CaveAir { constexpr short CaveAir() { return 9666; } } namespace Chain { constexpr short Chain() { return 4730; } } namespace ChainCommandBlock { constexpr short ChainCommandBlock(bool Conditional, eBlockFace Facing) { if (Conditional && Facing == eBlockFace::BLOCK_FACE_ZM) return 9237; if (Conditional && Facing == eBlockFace::BLOCK_FACE_XP) return 9238; if (Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 9239; if (Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 9240; if (Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 9241; if (Conditional && Facing == eBlockFace::BLOCK_FACE_YM) return 9242; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZM) return 9243; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XP) return 9244; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 9245; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 9246; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 9247; return 9248; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Type == Type::Single) return 2035; if (Facing == eBlockFace::BLOCK_FACE_ZM && Type == Type::Left) return 2037; if (Facing == eBlockFace::BLOCK_FACE_ZM && Type == Type::Right) return 2039; if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Single) return 2041; if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Left) return 2043; if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Right) return 2045; if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Single) return 2047; if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Left) return 2049; if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Right) return 2051; if (Facing == eBlockFace::BLOCK_FACE_XP && Type == Type::Single) return 2053; if (Facing == eBlockFace::BLOCK_FACE_XP && Type == Type::Left) return 2055; return 2057; } short Chest(); eBlockFace Facing(short ID); enum Type Type(short ID); } namespace ChippedAnvil { constexpr short ChippedAnvil(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6614; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6615; if (Facing == eBlockFace::BLOCK_FACE_XM) return 6616; 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 == 0) return 9128; if (Age == 1) return 9129; if (Age == 2) return 9130; if (Age == 3) return 9131; if (Age == 4) return 9132; 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 (Down && East && North && South && Up && West) return 9064; if (Down && East && North && South && Up && !West) return 9065; if (Down && East && North && South && !Up && West) return 9066; if (Down && East && North && South && !Up && !West) return 9067; if (Down && East && North && !South && Up && West) return 9068; if (Down && East && North && !South && Up && !West) return 9069; if (Down && East && North && !South && !Up && West) return 9070; if (Down && East && North && !South && !Up && !West) return 9071; if (Down && East && !North && South && Up && West) return 9072; if (Down && East && !North && South && Up && !West) return 9073; if (Down && East && !North && South && !Up && West) return 9074; if (Down && East && !North && South && !Up && !West) return 9075; if (Down && East && !North && !South && Up && West) return 9076; if (Down && East && !North && !South && Up && !West) return 9077; if (Down && East && !North && !South && !Up && West) return 9078; if (Down && East && !North && !South && !Up && !West) return 9079; if (Down && !East && North && South && Up && West) return 9080; if (Down && !East && North && South && Up && !West) return 9081; if (Down && !East && North && South && !Up && West) return 9082; if (Down && !East && North && South && !Up && !West) return 9083; if (Down && !East && North && !South && Up && West) return 9084; if (Down && !East && North && !South && Up && !West) return 9085; if (Down && !East && North && !South && !Up && West) return 9086; if (Down && !East && North && !South && !Up && !West) return 9087; if (Down && !East && !North && South && Up && West) return 9088; if (Down && !East && !North && South && Up && !West) return 9089; if (Down && !East && !North && South && !Up && West) return 9090; if (Down && !East && !North && South && !Up && !West) return 9091; if (Down && !East && !North && !South && Up && West) return 9092; if (Down && !East && !North && !South && Up && !West) return 9093; if (Down && !East && !North && !South && !Up && West) return 9094; if (Down && !East && !North && !South && !Up && !West) return 9095; if (!Down && East && North && South && Up && West) return 9096; if (!Down && East && North && South && Up && !West) return 9097; if (!Down && East && North && South && !Up && West) return 9098; if (!Down && East && North && South && !Up && !West) return 9099; if (!Down && East && North && !South && Up && West) return 9100; if (!Down && East && North && !South && Up && !West) return 9101; if (!Down && East && North && !South && !Up && West) return 9102; if (!Down && East && North && !South && !Up && !West) return 9103; if (!Down && East && !North && South && Up && West) return 9104; if (!Down && East && !North && South && Up && !West) return 9105; if (!Down && East && !North && South && !Up && West) return 9106; if (!Down && East && !North && South && !Up && !West) return 9107; if (!Down && East && !North && !South && Up && West) return 9108; if (!Down && East && !North && !South && Up && !West) return 9109; if (!Down && East && !North && !South && !Up && West) return 9110; if (!Down && East && !North && !South && !Up && !West) return 9111; if (!Down && !East && North && South && Up && West) return 9112; if (!Down && !East && North && South && Up && !West) return 9113; if (!Down && !East && North && South && !Up && West) return 9114; if (!Down && !East && North && South && !Up && !West) return 9115; if (!Down && !East && North && !South && Up && West) return 9116; if (!Down && !East && North && !South && Up && !West) return 9117; if (!Down && !East && North && !South && !Up && West) return 9118; if (!Down && !East && North && !South && !Up && !West) return 9119; if (!Down && !East && !North && South && Up && West) return 9120; if (!Down && !East && !North && South && Up && !West) return 9121; if (!Down && !East && !North && South && !Up && West) return 9122; if (!Down && !East && !North && South && !Up && !West) return 9123; if (!Down && !East && !North && !South && Up && West) return 9124; if (!Down && !East && !North && !South && Up && !West) return 9125; if (!Down && !East && !North && !South && !Up && West) return 9126; 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) return 8367; if (Type == Type::Bottom) return 8369; return 8371; } short CobblestoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 3656; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 3658; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 3660; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 3662; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 3664; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 3666; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 3668; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 3670; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 3672; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 3674; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 3676; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 3678; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 3680; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 3682; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 3684; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 3686; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 3688; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 3690; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 3692; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 3694; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 3696; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 3698; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 3700; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 3702; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 3704; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 3706; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 3708; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 3710; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 3712; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 3714; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 3716; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 3718; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 3720; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 3722; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 3724; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 3726; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 3728; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 3730; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 3732; return 3734; } short CobblestoneStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 5660; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 5661; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 5662; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 5666; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 5667; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 5668; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 5672; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 5673; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 5674; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 5678; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 5679; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 5680; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 5684; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 5685; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 5686; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 5690; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 5691; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 5692; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 5696; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 5697; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 5698; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 5702; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 5703; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 5704; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 5708; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 5709; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 5710; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 5714; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 5715; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 5716; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 5720; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 5721; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 5722; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 5726; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 5727; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 5728; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 5732; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 5733; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 5734; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 5738; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 5739; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 5740; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 5744; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 5745; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 5746; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 5750; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 5751; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 5752; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 5756; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 5757; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 5758; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 5762; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 5763; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 5764; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 5768; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 5769; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 5770; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 5774; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 5775; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 5776; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 5780; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 5781; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 5782; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 5786; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 5787; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 5788; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 5792; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 5793; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 5794; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 5798; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 5799; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 5800; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 5804; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 5805; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 5806; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 5810; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 5811; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 5812; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 5816; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 5817; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 5818; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 5822; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 5823; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 5824; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 5828; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 5829; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 5830; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 5834; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 5835; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 5836; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 5840; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 5841; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 5842; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 5846; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 5847; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 5848; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 5852; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 5853; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 5854; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 5858; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 5859; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 5860; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 5864; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 5865; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 5866; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 5870; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 5871; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 5872; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 5876; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 5877; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 5878; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 5882; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 5883; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 5884; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 5888; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 5889; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 5890; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 5894; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 5895; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 5896; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 5900; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 5901; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 5902; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 5906; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 5907; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 5908; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 5912; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 5913; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 5914; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 5918; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 5919; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 5920; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 5924; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 5925; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 5926; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 5930; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 5931; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 5932; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 5936; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 5937; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 5938; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 5942; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 5943; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 5944; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 5948; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 5949; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 5950; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 5954; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 5955; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 5956; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 5960; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 5961; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 5962; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 5966; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 5967; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 5968; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 5972; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 5973; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 5974; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 5978; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 5979; return 5980; } short CobblestoneWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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_ZM) return 5158; if (Age == 0 && Facing == eBlockFace::BLOCK_FACE_ZP) return 5159; if (Age == 0 && Facing == eBlockFace::BLOCK_FACE_XM) return 5160; 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; return 5169; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Mode == Mode::Compare && Powered) return 6678; if (Facing == eBlockFace::BLOCK_FACE_ZM && Mode == Mode::Compare && !Powered) return 6679; if (Facing == eBlockFace::BLOCK_FACE_ZM && Mode == Mode::Subtract && Powered) return 6680; if (Facing == eBlockFace::BLOCK_FACE_ZM && Mode == Mode::Subtract && !Powered) return 6681; if (Facing == eBlockFace::BLOCK_FACE_ZP && Mode == Mode::Compare && Powered) return 6682; if (Facing == eBlockFace::BLOCK_FACE_ZP && Mode == Mode::Compare && !Powered) return 6683; if (Facing == eBlockFace::BLOCK_FACE_ZP && Mode == Mode::Subtract && Powered) return 6684; if (Facing == eBlockFace::BLOCK_FACE_ZP && Mode == Mode::Subtract && !Powered) return 6685; if (Facing == eBlockFace::BLOCK_FACE_XM && Mode == Mode::Compare && Powered) return 6686; if (Facing == eBlockFace::BLOCK_FACE_XM && Mode == Mode::Compare && !Powered) return 6687; if (Facing == eBlockFace::BLOCK_FACE_XM && Mode == Mode::Subtract && Powered) return 6688; if (Facing == eBlockFace::BLOCK_FACE_XM && Mode == Mode::Subtract && !Powered) return 6689; if (Facing == eBlockFace::BLOCK_FACE_XP && Mode == Mode::Compare && Powered) return 6690; if (Facing == eBlockFace::BLOCK_FACE_XP && Mode == Mode::Compare && !Powered) return 6691; if (Facing == eBlockFace::BLOCK_FACE_XP && Mode == Mode::Subtract && Powered) return 6692; 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 == 0) return 15751; if (Level == 1) return 15752; if (Level == 2) return 15753; if (Level == 3) return 15754; if (Level == 4) return 15755; if (Level == 5) return 15756; if (Level == 6) return 15757; if (Level == 7) return 15758; return 15759; } short Composter(); unsigned char Level(short ID); } namespace Conduit { constexpr short Conduit() { return 9650; } } 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 == 0) return 6570; 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; 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::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 15479; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 15480; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 15481; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 15482; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 15483; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 15484; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 15485; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 15486; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 15487; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 15488; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 15489; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 15490; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 15491; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 15492; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 15493; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 15494; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 15495; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 15496; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 15497; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 15498; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 15499; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 15500; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 15501; return 15502; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 15527; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 15528; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 15529; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 15530; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 15531; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 15532; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 15533; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 15534; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 15535; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 15536; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 15537; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 15538; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 15539; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 15540; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 15541; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 15542; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 15543; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 15544; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 15545; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 15546; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 15547; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 15548; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 15549; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 15550; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 15551; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 15552; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 15553; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 15554; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 15555; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 15556; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 15557; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 15558; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 15559; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 15560; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 15561; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 15562; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 15563; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 15564; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 15565; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 15566; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 15567; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 15568; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 15569; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 15570; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 15571; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 15572; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 15573; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 15574; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 15575; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 15576; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 15577; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 15578; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 15579; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 15580; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 15581; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 15582; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 15583; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 15584; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 15585; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 15586; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 15587; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 15588; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 15589; 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 (East && North && South && West) return 15065; if (East && North && South && !West) return 15066; if (East && North && !South && West) return 15069; if (East && North && !South && !West) return 15070; if (East && !North && South && West) return 15073; if (East && !North && South && !West) return 15074; if (East && !North && !South && West) return 15077; if (East && !North && !South && !West) return 15078; if (!East && North && South && West) return 15081; if (!East && North && South && !West) return 15082; if (!East && North && !South && West) return 15085; if (!East && North && !South && !West) return 15086; if (!East && !North && South && West) return 15089; if (!East && !North && South && !West) return 15090; if (!East && !North && !South && West) return 15093; return 15094; } short CrimsonFence(); bool East(short ID); bool North(short ID); bool South(short ID); bool West(short ID); } namespace CrimsonFenceGate { constexpr short CrimsonFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && Powered) return 15255; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && !Powered) return 15256; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && Powered) return 15257; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && !Powered) return 15258; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && Powered) return 15259; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && !Powered) return 15260; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && Powered) return 15261; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && !Powered) return 15262; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && Powered) return 15263; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && !Powered) return 15264; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && Powered) return 15265; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && !Powered) return 15266; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && Powered) return 15267; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && !Powered) return 15268; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && Powered) return 15269; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && !Powered) return 15270; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && Powered) return 15271; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && !Powered) return 15272; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && Powered) return 15273; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && !Powered) return 15274; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && Powered) return 15275; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && !Powered) return 15276; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && Powered) return 15277; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && !Powered) return 15278; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && Powered) return 15279; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && !Powered) return 15280; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && Powered) return 15281; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && !Powered) return 15282; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && Powered) return 15283; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && !Powered) return 15284; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && !Open && Powered) return 15285; 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::X) return 14981; if (Axis == Axis::Y) return 14982; 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 == 0) return 15656; if (Rotation == 1) return 15658; if (Rotation == 2) return 15660; if (Rotation == 3) return 15662; if (Rotation == 4) return 15664; if (Rotation == 5) return 15666; if (Rotation == 6) return 15668; if (Rotation == 7) return 15670; if (Rotation == 8) return 15672; if (Rotation == 9) return 15674; if (Rotation == 10) return 15676; if (Rotation == 11) return 15678; if (Rotation == 12) return 15680; if (Rotation == 13) return 15682; if (Rotation == 14) return 15684; return 15686; } short CrimsonSign(); unsigned char Rotation(short ID); } namespace CrimsonSlab { enum class Type { Top, Bottom, Double }; constexpr short CrimsonSlab(enum Type Type) { if (Type == Type::Top) return 15048; if (Type == Type::Bottom) return 15050; return 15052; } short CrimsonSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 15320; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 15322; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 15324; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 15326; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 15328; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 15330; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15332; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 15334; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15336; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 15338; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 15340; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 15342; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 15344; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 15346; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 15348; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 15350; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15352; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 15354; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15356; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 15358; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 15360; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 15362; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 15364; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 15366; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 15368; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 15370; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15372; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 15374; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15376; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 15378; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 15380; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 15382; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 15384; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 15386; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 15388; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 15390; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15392; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 15394; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15396; return 15398; } short CrimsonStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace CrimsonStem { enum class Axis { X, Y, Z }; constexpr short CrimsonStem(enum Axis Axis) { if (Axis == Axis::X) return 14975; if (Axis == Axis::Y) return 14976; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && Powered) return 15128; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && !Powered) return 15130; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && Powered) return 15132; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && !Powered) return 15134; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && Powered) return 15136; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && !Powered) return 15138; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && Powered) return 15140; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && !Powered) return 15142; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && Powered) return 15144; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && !Powered) return 15146; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && Powered) return 15148; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && !Powered) return 15150; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && Powered) return 15152; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && !Powered) return 15154; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && Powered) return 15156; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && !Powered) return 15158; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && Powered) return 15160; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && !Powered) return 15162; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && Powered) return 15164; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && !Powered) return 15166; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && Powered) return 15168; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && !Powered) return 15170; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && Powered) return 15172; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && !Powered) return 15174; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && Powered) return 15176; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && !Powered) return 15178; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && Powered) return 15180; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && !Powered) return 15182; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && Powered) return 15184; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && !Powered) return 15186; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && !Open && Powered) return 15188; return 15190; } short CrimsonTrapdoor(); eBlockFace Facing(short ID); enum Half Half(short ID); bool Open(short ID); bool Powered(short ID); } namespace CrimsonWallSign { constexpr short CrimsonWallSign(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 15720; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 15722; if (Facing == eBlockFace::BLOCK_FACE_XM) return 15724; return 15726; } short CrimsonWallSign(); eBlockFace Facing(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) return 8403; if (Type == Type::Bottom) return 8405; return 8407; } short CutRedSandstoneSlab(); enum Type Type(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::Top) return 8355; if (Type == Type::Bottom) return 8357; return 8359; } short CutSandstoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1193; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1194; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1195; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1196; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1197; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1198; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1199; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1200; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1201; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1202; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1203; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1204; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1205; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1206; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1207; 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_ZM) return 9410; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9411; 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_ZM) return 9332; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9333; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9334; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9335; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9336; return 9337; } 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 (East && North && South && West) return 7153; if (East && North && South && !West) return 7154; if (East && North && !South && West) return 7157; if (East && North && !South && !West) return 7158; if (East && !North && South && West) return 7161; if (East && !North && South && !West) return 7162; if (East && !North && !South && West) return 7165; if (East && !North && !South && !West) return 7166; if (!East && North && South && West) return 7169; if (!East && North && South && !West) return 7170; if (!East && North && !South && West) return 7173; if (!East && North && !South && !West) return 7174; if (!East && !North && South && West) return 7177; if (!East && !North && South && !West) return 7178; if (!East && !North && !South && West) return 7181; return 7182; } short CyanStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8189; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8190; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8191; 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_ZM) return 6618; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6619; if (Facing == eBlockFace::BLOCK_FACE_XM) return 6620; 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 && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6466; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6467; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6468; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6469; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6470; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6471; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6472; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6473; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6474; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6475; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6476; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6477; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6478; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6479; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6480; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6481; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6482; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6483; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6484; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6485; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6486; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6487; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6488; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8994; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8995; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8996; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8997; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8998; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8999; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 9000; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 9001; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 9002; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 9003; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 9004; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 9005; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 9006; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 9007; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 9008; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 9009; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 9010; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 9011; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 9012; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 9013; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 9014; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 9015; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 9016; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 9017; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 9018; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 9019; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 9020; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 9021; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 9022; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 9023; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 9024; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 9025; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 9026; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 9027; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 9028; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 9029; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 9030; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 9031; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 9032; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 9033; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 9034; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 9035; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 9036; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 9037; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 9038; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 9039; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 9040; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 9041; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 9042; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 9043; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 9044; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 9045; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 9046; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 9047; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 9048; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 9049; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 9050; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 9051; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 9052; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 9053; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 9054; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 9055; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 9056; 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 (East && North && South && West) return 8708; if (East && North && South && !West) return 8709; if (East && North && !South && West) return 8712; if (East && North && !South && !West) return 8713; if (East && !North && South && West) return 8716; if (East && !North && South && !West) return 8717; if (East && !North && !South && West) return 8720; if (East && !North && !South && !West) return 8721; if (!East && North && South && West) return 8724; if (!East && North && South && !West) return 8725; if (!East && North && !South && West) return 8728; if (!East && North && !South && !West) return 8729; if (!East && !North && South && West) return 8732; if (!East && !North && South && !West) return 8733; if (!East && !North && !South && West) return 8736; return 8737; } short DarkOakFence(); bool East(short ID); bool North(short ID); bool South(short ID); bool West(short ID); } namespace DarkOakFenceGate { constexpr short DarkOakFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && Powered) return 8546; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && !Powered) return 8547; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && Powered) return 8548; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && !Powered) return 8549; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && Powered) return 8550; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && !Powered) return 8551; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && Powered) return 8552; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && !Powered) return 8553; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && Powered) return 8554; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && !Powered) return 8555; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && Powered) return 8556; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && !Powered) return 8557; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && Powered) return 8558; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && !Powered) return 8559; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && Powered) return 8560; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && !Powered) return 8561; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && Powered) return 8562; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && !Powered) return 8563; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && Powered) return 8564; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && !Powered) return 8565; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && Powered) return 8566; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && !Powered) return 8567; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && Powered) return 8568; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && !Powered) return 8569; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && Powered) return 8570; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && !Powered) return 8571; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && Powered) return 8572; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && !Powered) return 8573; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && Powered) return 8574; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && !Powered) return 8575; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && !Open && Powered) 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 (Distance == 1 && Persistent) return 215; if (Distance == 1 && !Persistent) return 216; if (Distance == 2 && Persistent) return 217; if (Distance == 2 && !Persistent) return 218; if (Distance == 3 && Persistent) return 219; if (Distance == 3 && !Persistent) return 220; if (Distance == 4 && Persistent) return 221; if (Distance == 4 && !Persistent) return 222; if (Distance == 5 && Persistent) return 223; if (Distance == 5 && !Persistent) return 224; if (Distance == 6 && Persistent) return 225; if (Distance == 6 && !Persistent) return 226; if (Distance == 7 && Persistent) return 227; return 228; } 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 == 0) return 3542; if (Rotation == 1) return 3544; if (Rotation == 2) return 3546; if (Rotation == 3) return 3548; if (Rotation == 4) return 3550; if (Rotation == 5) return 3552; if (Rotation == 6) return 3554; if (Rotation == 7) return 3556; if (Rotation == 8) return 3558; if (Rotation == 9) return 3560; if (Rotation == 10) return 3562; if (Rotation == 11) return 3564; if (Rotation == 12) return 3566; if (Rotation == 13) return 3568; if (Rotation == 14) return 3570; return 3572; } short DarkOakSign(); unsigned char Rotation(short ID); } namespace DarkOakSlab { enum class Type { Top, Bottom, Double }; constexpr short DarkOakSlab(enum Type Type) { if (Type == Type::Top) return 8331; if (Type == Type::Bottom) return 8333; return 8335; } short DarkOakSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 7456; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 7458; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 7460; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 7462; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 7464; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 7466; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7468; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7470; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7472; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7474; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 7476; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 7478; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 7480; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 7482; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 7484; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 7486; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7488; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7490; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7492; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 7494; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 7496; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 7498; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 7500; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 7502; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 7504; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 7506; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7508; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7510; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7512; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7514; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 7516; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 7518; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 7520; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 7522; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 7524; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 7526; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7528; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7530; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7532; return 7534; } short DarkOakStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace DarkOakTrapdoor { enum class Half { Top, Bottom }; constexpr short DarkOakTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && Powered) return 4432; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && !Powered) return 4434; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && Powered) return 4436; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && !Powered) return 4438; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && Powered) return 4440; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && !Powered) return 4442; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && Powered) return 4444; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && !Powered) return 4446; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && Powered) return 4448; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && !Powered) return 4450; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && Powered) return 4452; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && !Powered) return 4454; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && Powered) return 4456; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && !Powered) return 4458; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && Powered) return 4460; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && !Powered) return 4462; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && Powered) return 4464; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && !Powered) return 4466; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && Powered) return 4468; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && !Powered) return 4470; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && Powered) return 4472; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && !Powered) return 4474; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && Powered) return 4476; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && !Powered) return 4478; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && Powered) return 4480; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && !Powered) return 4482; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && Powered) return 4484; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && !Powered) return 4486; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && Powered) return 4488; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && !Powered) return 4490; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && !Open && Powered) return 4492; return 4494; } short DarkOakTrapdoor(); eBlockFace Facing(short ID); enum Half Half(short ID); bool Open(short ID); bool Powered(short ID); } namespace DarkOakWallSign { constexpr short DarkOakWallSign(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3776; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3778; if (Facing == eBlockFace::BLOCK_FACE_XM) return 3780; return 3782; } short DarkOakWallSign(); eBlockFace Facing(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) return 7857; if (Type == Type::Bottom) return 7859; return 7861; } short DarkPrismarineSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 7765; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 7767; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 7769; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 7771; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 7773; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 7775; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7777; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7779; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7781; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7783; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 7785; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 7787; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 7789; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 7791; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 7793; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 7795; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7797; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7799; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7801; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 7803; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 7805; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 7807; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 7809; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 7811; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 7813; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 7815; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7817; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7819; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7821; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7823; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 7825; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 7827; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 7829; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 7831; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 7833; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 7835; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7837; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7839; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7841; return 7843; } short DarkPrismarineStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace DaylightDetector { constexpr short DaylightDetector(bool Inverted, unsigned char Power) { if (Inverted && Power == 0) return 6694; if (Inverted && Power == 1) return 6695; if (Inverted && Power == 2) return 6696; if (Inverted && Power == 3) return 6697; if (Inverted && Power == 4) return 6698; if (Inverted && Power == 5) return 6699; if (Inverted && Power == 6) return 6700; if (Inverted && Power == 7) return 6701; if (Inverted && Power == 8) return 6702; if (Inverted && Power == 9) return 6703; if (Inverted && Power == 10) return 6704; if (Inverted && Power == 11) return 6705; if (Inverted && Power == 12) return 6706; if (Inverted && Power == 13) return 6707; if (Inverted && Power == 14) return 6708; if (Inverted && Power == 15) return 6709; if (!Inverted && Power == 0) return 6710; if (!Inverted && Power == 1) return 6711; if (!Inverted && Power == 2) return 6712; if (!Inverted && Power == 3) return 6713; if (!Inverted && Power == 4) return 6714; if (!Inverted && Power == 5) return 6715; if (!Inverted && Power == 6) return 6716; if (!Inverted && Power == 7) return 6717; if (!Inverted && Power == 8) return 6718; if (!Inverted && Power == 9) return 6719; if (!Inverted && Power == 10) return 6720; if (!Inverted && Power == 11) return 6721; if (!Inverted && Power == 12) return 6722; if (!Inverted && Power == 13) return 6723; if (!Inverted && Power == 14) return 6724; return 6725; } short DaylightDetector(); bool Inverted(short ID); unsigned char Power(short ID); } namespace DeadBrainCoral { constexpr short DeadBrainCoral() { return 9523; } } namespace DeadBrainCoralBlock { constexpr short DeadBrainCoralBlock() { return 9511; } } namespace DeadBrainCoralFan { constexpr short DeadBrainCoralFan() { return 9543; } } namespace DeadBrainCoralWallFan { constexpr short DeadBrainCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9569; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9571; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9573; return 9575; } short DeadBrainCoralWallFan(); eBlockFace Facing(short ID); } namespace DeadBubbleCoral { constexpr short DeadBubbleCoral() { return 9525; } } namespace DeadBubbleCoralBlock { constexpr short DeadBubbleCoralBlock() { return 9512; } } namespace DeadBubbleCoralFan { constexpr short DeadBubbleCoralFan() { return 9545; } } namespace DeadBubbleCoralWallFan { constexpr short DeadBubbleCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9577; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9579; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9581; return 9583; } short DeadBubbleCoralWallFan(); eBlockFace Facing(short ID); } namespace DeadBush { constexpr short DeadBush() { return 1344; } } namespace DeadFireCoral { constexpr short DeadFireCoral() { return 9527; } } namespace DeadFireCoralBlock { constexpr short DeadFireCoralBlock() { return 9513; } } namespace DeadFireCoralFan { constexpr short DeadFireCoralFan() { return 9547; } } namespace DeadFireCoralWallFan { constexpr short DeadFireCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9585; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9587; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9589; return 9591; } short DeadFireCoralWallFan(); eBlockFace Facing(short ID); } namespace DeadHornCoral { constexpr short DeadHornCoral() { return 9529; } } namespace DeadHornCoralBlock { constexpr short DeadHornCoralBlock() { return 9514; } } namespace DeadHornCoralFan { constexpr short DeadHornCoralFan() { return 9549; } } namespace DeadHornCoralWallFan { constexpr short DeadHornCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9593; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9595; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9597; return 9599; } short DeadHornCoralWallFan(); eBlockFace Facing(short ID); } namespace DeadTubeCoral { constexpr short DeadTubeCoral() { return 9521; } } namespace DeadTubeCoralBlock { constexpr short DeadTubeCoralBlock() { return 9510; } } namespace DeadTubeCoralFan { constexpr short DeadTubeCoralFan() { return 9541; } } namespace DeadTubeCoralWallFan { constexpr short DeadTubeCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9561; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9563; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9565; return 9567; } short DeadTubeCoralWallFan(); eBlockFace Facing(short ID); } namespace DetectorRail { enum class Shape { NorthSouth, EastWest, AscendingEast, AscendingWest, AscendingNorth, AscendingSouth }; constexpr short DetectorRail(bool Powered, enum Shape Shape) { if (Powered && Shape == Shape::NorthSouth) return 1317; if (Powered && Shape == Shape::EastWest) return 1318; if (Powered && Shape == Shape::AscendingEast) return 1319; if (Powered && Shape == Shape::AscendingWest) return 1320; if (Powered && Shape == Shape::AscendingNorth) return 1321; if (Powered && Shape == Shape::AscendingSouth) return 1322; if (!Powered && Shape == Shape::NorthSouth) return 1323; if (!Powered && Shape == Shape::EastWest) return 1324; if (!Powered && Shape == Shape::AscendingEast) return 1325; if (!Powered && Shape == Shape::AscendingWest) return 1326; if (!Powered && Shape == Shape::AscendingNorth) return 1327; 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::Top) return 10862; if (Type == Type::Bottom) return 10864; return 10866; } short DioriteSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 10710; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 10712; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 10714; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 10716; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 10718; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10720; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10722; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10724; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10726; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10728; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10730; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10732; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10734; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10736; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10738; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10740; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10742; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10744; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10746; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10748; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10750; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10752; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10754; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10756; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10758; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10760; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10762; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10764; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10766; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10768; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10770; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10772; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10774; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10776; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10778; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10780; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10782; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10784; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10786; return 10788; } short DioriteStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 14434; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 14435; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 14436; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 14440; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 14441; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 14442; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 14446; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 14447; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 14448; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 14452; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 14453; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 14454; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 14458; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 14459; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 14460; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 14464; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 14465; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 14466; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 14470; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 14471; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 14472; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 14476; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 14477; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 14478; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 14482; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 14483; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 14484; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 14488; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 14489; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 14490; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 14494; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 14495; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 14496; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 14500; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 14501; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 14502; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 14506; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 14507; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 14508; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 14512; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 14513; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 14514; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 14518; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 14519; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 14520; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 14524; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 14525; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 14526; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 14530; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 14531; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 14532; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 14536; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 14537; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 14538; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 14542; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 14543; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 14544; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 14548; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 14549; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 14550; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 14554; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 14555; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 14556; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 14560; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 14561; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 14562; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 14566; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 14567; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 14568; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 14572; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 14573; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 14574; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 14578; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 14579; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 14580; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 14584; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 14585; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 14586; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 14590; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 14591; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 14592; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 14596; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 14597; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 14598; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 14602; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 14603; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 14604; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 14608; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 14609; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 14610; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 14614; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 14615; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 14616; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 14620; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 14621; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 14622; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 14626; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 14627; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 14628; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 14632; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 14633; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 14634; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 14638; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 14639; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 14640; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 14644; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 14645; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 14646; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 14650; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 14651; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 14652; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 14656; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 14657; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 14658; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 14662; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 14663; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 14664; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 14668; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 14669; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 14670; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 14674; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 14675; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 14676; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 14680; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 14681; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 14682; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 14686; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 14687; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 14688; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 14692; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 14693; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 14694; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 14698; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 14699; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 14700; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 14704; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 14705; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 14706; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 14710; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 14711; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 14712; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 14716; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 14717; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 14718; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 14722; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 14723; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 14724; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 14728; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 14729; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 14730; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 14734; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 14735; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 14736; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 14740; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 14741; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 14742; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 14746; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 14747; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 14748; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 14752; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 14753; return 14754; } short DioriteWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(short ID); enum West West(short ID); } namespace Dirt { constexpr short Dirt() { return 10; } } namespace Dispenser { constexpr short Dispenser(eBlockFace Facing, bool Triggered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Triggered) return 234; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Triggered) return 235; if (Facing == eBlockFace::BLOCK_FACE_XP && Triggered) return 236; if (Facing == eBlockFace::BLOCK_FACE_XP && !Triggered) return 237; if (Facing == eBlockFace::BLOCK_FACE_ZP && Triggered) return 238; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Triggered) return 239; if (Facing == eBlockFace::BLOCK_FACE_XM && Triggered) return 240; if (Facing == eBlockFace::BLOCK_FACE_XM && !Triggered) return 241; if (Facing == eBlockFace::BLOCK_FACE_YP && Triggered) return 242; if (Facing == eBlockFace::BLOCK_FACE_YP && !Triggered) return 243; if (Facing == eBlockFace::BLOCK_FACE_YM && Triggered) return 244; return 245; } 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 == 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; if (Rotation == 11) return 6601; if (Rotation == 12) return 6602; if (Rotation == 13) return 6603; if (Rotation == 14) return 6604; return 6605; } short DragonHead(); unsigned char Rotation(short ID); } namespace DragonWallHead { constexpr short DragonWallHead(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6606; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6607; if (Facing == eBlockFace::BLOCK_FACE_XM) return 6608; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Triggered) return 6835; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Triggered) return 6836; if (Facing == eBlockFace::BLOCK_FACE_XP && Triggered) return 6837; if (Facing == eBlockFace::BLOCK_FACE_XP && !Triggered) return 6838; if (Facing == eBlockFace::BLOCK_FACE_ZP && Triggered) return 6839; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Triggered) return 6840; if (Facing == eBlockFace::BLOCK_FACE_XM && Triggered) return 6841; if (Facing == eBlockFace::BLOCK_FACE_XM && !Triggered) return 6842; if (Facing == eBlockFace::BLOCK_FACE_YP && Triggered) return 6843; if (Facing == eBlockFace::BLOCK_FACE_YP && !Triggered) return 6844; if (Facing == eBlockFace::BLOCK_FACE_YM && Triggered) return 6845; return 6846; } 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_ZM) return 5146; if (Eye && Facing == eBlockFace::BLOCK_FACE_ZP) return 5147; if (Eye && Facing == eBlockFace::BLOCK_FACE_XM) return 5148; if (Eye && Facing == eBlockFace::BLOCK_FACE_XP) return 5149; if (!Eye && Facing == eBlockFace::BLOCK_FACE_ZM) return 5150; if (!Eye && Facing == eBlockFace::BLOCK_FACE_ZP) return 5151; 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_ZM) return 9058; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9059; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9060; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9061; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9062; 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::Top) return 10820; if (Type == Type::Bottom) return 10822; return 10824; } short EndStoneBrickSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 10070; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 10072; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 10074; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 10076; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 10078; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10080; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10082; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10084; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10086; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10088; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10090; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10092; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10094; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10096; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10098; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10100; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10102; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10104; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10106; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10108; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10110; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10112; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10114; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10116; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10118; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10120; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10122; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10124; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10126; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10128; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10130; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10132; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10134; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10136; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10138; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10140; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10142; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10144; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10146; return 10148; } short EndStoneBrickStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 14110; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 14111; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 14112; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 14116; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 14117; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 14118; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 14122; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 14123; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 14124; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 14128; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 14129; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 14130; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 14134; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 14135; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 14136; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 14140; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 14141; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 14142; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 14146; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 14147; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 14148; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 14152; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 14153; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 14154; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 14158; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 14159; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 14160; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 14164; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 14165; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 14166; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 14170; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 14171; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 14172; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 14176; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 14177; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 14178; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 14182; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 14183; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 14184; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 14188; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 14189; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 14190; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 14194; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 14195; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 14196; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 14200; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 14201; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 14202; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 14206; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 14207; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 14208; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 14212; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 14213; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 14214; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 14218; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 14219; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 14220; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 14224; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 14225; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 14226; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 14230; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 14231; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 14232; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 14236; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 14237; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 14238; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 14242; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 14243; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 14244; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 14248; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 14249; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 14250; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 14254; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 14255; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 14256; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 14260; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 14261; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 14262; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 14266; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 14267; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 14268; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 14272; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 14273; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 14274; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 14278; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 14279; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 14280; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 14284; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 14285; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 14286; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 14290; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 14291; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 14292; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 14296; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 14297; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 14298; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 14302; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 14303; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 14304; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 14308; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 14309; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 14310; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 14314; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 14315; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 14316; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 14320; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 14321; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 14322; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 14326; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 14327; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 14328; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 14332; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 14333; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 14334; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 14338; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 14339; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 14340; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 14344; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 14345; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 14346; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 14350; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 14351; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 14352; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 14356; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 14357; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 14358; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 14362; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 14363; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 14364; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 14368; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 14369; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 14370; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 14374; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 14375; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 14376; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 14380; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 14381; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 14382; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 14386; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 14387; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 14388; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 14392; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 14393; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 14394; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 14398; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 14399; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 14400; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 14404; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 14405; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 14406; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 14410; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 14411; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 14412; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 14416; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 14417; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 14418; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 14422; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 14423; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 14424; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 14428; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 14429; return 14430; } short EndStoneBrickWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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) return 5252; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5254; if (Facing == eBlockFace::BLOCK_FACE_XM) return 5256; return 5258; } short EnderChest(); eBlockFace Facing(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 (Age == 0 && East && North && South && Up && West) return 1440; if (Age == 0 && East && North && South && Up && !West) return 1441; if (Age == 0 && East && North && South && !Up && West) return 1442; if (Age == 0 && East && North && South && !Up && !West) return 1443; if (Age == 0 && East && North && !South && Up && West) return 1444; if (Age == 0 && East && North && !South && Up && !West) return 1445; if (Age == 0 && East && North && !South && !Up && West) return 1446; if (Age == 0 && East && North && !South && !Up && !West) return 1447; if (Age == 0 && East && !North && South && Up && West) return 1448; if (Age == 0 && East && !North && South && Up && !West) return 1449; if (Age == 0 && East && !North && South && !Up && West) return 1450; if (Age == 0 && East && !North && South && !Up && !West) return 1451; if (Age == 0 && East && !North && !South && Up && West) return 1452; if (Age == 0 && East && !North && !South && Up && !West) return 1453; if (Age == 0 && East && !North && !South && !Up && West) return 1454; if (Age == 0 && East && !North && !South && !Up && !West) return 1455; if (Age == 0 && !East && North && South && Up && West) return 1456; if (Age == 0 && !East && North && South && Up && !West) return 1457; if (Age == 0 && !East && North && South && !Up && West) return 1458; if (Age == 0 && !East && North && South && !Up && !West) return 1459; if (Age == 0 && !East && North && !South && Up && West) return 1460; if (Age == 0 && !East && North && !South && Up && !West) return 1461; if (Age == 0 && !East && North && !South && !Up && West) return 1462; if (Age == 0 && !East && North && !South && !Up && !West) return 1463; if (Age == 0 && !East && !North && South && Up && West) return 1464; if (Age == 0 && !East && !North && South && Up && !West) return 1465; if (Age == 0 && !East && !North && South && !Up && West) return 1466; if (Age == 0 && !East && !North && South && !Up && !West) return 1467; if (Age == 0 && !East && !North && !South && Up && West) return 1468; if (Age == 0 && !East && !North && !South && Up && !West) return 1469; if (Age == 0 && !East && !North && !South && !Up && West) return 1470; if (Age == 0 && !East && !North && !South && !Up && !West) return 1471; if (Age == 1 && East && North && South && Up && West) return 1472; if (Age == 1 && East && North && South && Up && !West) return 1473; if (Age == 1 && East && North && South && !Up && West) return 1474; if (Age == 1 && East && North && South && !Up && !West) return 1475; if (Age == 1 && East && North && !South && Up && West) return 1476; if (Age == 1 && East && North && !South && Up && !West) return 1477; if (Age == 1 && East && North && !South && !Up && West) return 1478; if (Age == 1 && East && North && !South && !Up && !West) return 1479; if (Age == 1 && East && !North && South && Up && West) return 1480; if (Age == 1 && East && !North && South && Up && !West) return 1481; if (Age == 1 && East && !North && South && !Up && West) return 1482; if (Age == 1 && East && !North && South && !Up && !West) return 1483; if (Age == 1 && East && !North && !South && Up && West) return 1484; if (Age == 1 && East && !North && !South && Up && !West) return 1485; if (Age == 1 && East && !North && !South && !Up && West) return 1486; if (Age == 1 && East && !North && !South && !Up && !West) return 1487; if (Age == 1 && !East && North && South && Up && West) return 1488; if (Age == 1 && !East && North && South && Up && !West) return 1489; if (Age == 1 && !East && North && South && !Up && West) return 1490; if (Age == 1 && !East && North && South && !Up && !West) return 1491; if (Age == 1 && !East && North && !South && Up && West) return 1492; if (Age == 1 && !East && North && !South && Up && !West) return 1493; if (Age == 1 && !East && North && !South && !Up && West) return 1494; if (Age == 1 && !East && North && !South && !Up && !West) return 1495; if (Age == 1 && !East && !North && South && Up && West) return 1496; if (Age == 1 && !East && !North && South && Up && !West) return 1497; if (Age == 1 && !East && !North && South && !Up && West) return 1498; if (Age == 1 && !East && !North && South && !Up && !West) return 1499; if (Age == 1 && !East && !North && !South && Up && West) return 1500; if (Age == 1 && !East && !North && !South && Up && !West) return 1501; if (Age == 1 && !East && !North && !South && !Up && West) return 1502; if (Age == 1 && !East && !North && !South && !Up && !West) return 1503; if (Age == 2 && East && North && South && Up && West) return 1504; if (Age == 2 && East && North && South && Up && !West) return 1505; if (Age == 2 && East && North && South && !Up && West) return 1506; if (Age == 2 && East && North && South && !Up && !West) return 1507; if (Age == 2 && East && North && !South && Up && West) return 1508; if (Age == 2 && East && North && !South && Up && !West) return 1509; if (Age == 2 && East && North && !South && !Up && West) return 1510; if (Age == 2 && East && North && !South && !Up && !West) return 1511; if (Age == 2 && East && !North && South && Up && West) return 1512; if (Age == 2 && East && !North && South && Up && !West) return 1513; if (Age == 2 && East && !North && South && !Up && West) return 1514; if (Age == 2 && East && !North && South && !Up && !West) return 1515; if (Age == 2 && East && !North && !South && Up && West) return 1516; if (Age == 2 && East && !North && !South && Up && !West) return 1517; if (Age == 2 && East && !North && !South && !Up && West) return 1518; if (Age == 2 && East && !North && !South && !Up && !West) return 1519; if (Age == 2 && !East && North && South && Up && West) return 1520; if (Age == 2 && !East && North && South && Up && !West) return 1521; if (Age == 2 && !East && North && South && !Up && West) return 1522; if (Age == 2 && !East && North && South && !Up && !West) return 1523; if (Age == 2 && !East && North && !South && Up && West) return 1524; if (Age == 2 && !East && North && !South && Up && !West) return 1525; if (Age == 2 && !East && North && !South && !Up && West) return 1526; if (Age == 2 && !East && North && !South && !Up && !West) return 1527; if (Age == 2 && !East && !North && South && Up && West) return 1528; if (Age == 2 && !East && !North && South && Up && !West) return 1529; if (Age == 2 && !East && !North && South && !Up && West) return 1530; if (Age == 2 && !East && !North && South && !Up && !West) return 1531; if (Age == 2 && !East && !North && !South && Up && West) return 1532; if (Age == 2 && !East && !North && !South && Up && !West) return 1533; if (Age == 2 && !East && !North && !South && !Up && West) return 1534; if (Age == 2 && !East && !North && !South && !Up && !West) return 1535; if (Age == 3 && East && North && South && Up && West) return 1536; if (Age == 3 && East && North && South && Up && !West) return 1537; if (Age == 3 && East && North && South && !Up && West) return 1538; if (Age == 3 && East && North && South && !Up && !West) return 1539; if (Age == 3 && East && North && !South && Up && West) return 1540; if (Age == 3 && East && North && !South && Up && !West) return 1541; if (Age == 3 && East && North && !South && !Up && West) return 1542; if (Age == 3 && East && North && !South && !Up && !West) return 1543; if (Age == 3 && East && !North && South && Up && West) return 1544; if (Age == 3 && East && !North && South && Up && !West) return 1545; if (Age == 3 && East && !North && South && !Up && West) return 1546; if (Age == 3 && East && !North && South && !Up && !West) return 1547; if (Age == 3 && East && !North && !South && Up && West) return 1548; if (Age == 3 && East && !North && !South && Up && !West) return 1549; if (Age == 3 && East && !North && !South && !Up && West) return 1550; if (Age == 3 && East && !North && !South && !Up && !West) return 1551; if (Age == 3 && !East && North && South && Up && West) return 1552; if (Age == 3 && !East && North && South && Up && !West) return 1553; if (Age == 3 && !East && North && South && !Up && West) return 1554; if (Age == 3 && !East && North && South && !Up && !West) return 1555; if (Age == 3 && !East && North && !South && Up && West) return 1556; if (Age == 3 && !East && North && !South && Up && !West) return 1557; if (Age == 3 && !East && North && !South && !Up && West) return 1558; if (Age == 3 && !East && North && !South && !Up && !West) return 1559; if (Age == 3 && !East && !North && South && Up && West) return 1560; if (Age == 3 && !East && !North && South && Up && !West) return 1561; if (Age == 3 && !East && !North && South && !Up && West) return 1562; if (Age == 3 && !East && !North && South && !Up && !West) return 1563; if (Age == 3 && !East && !North && !South && Up && West) return 1564; if (Age == 3 && !East && !North && !South && Up && !West) return 1565; if (Age == 3 && !East && !North && !South && !Up && West) return 1566; if (Age == 3 && !East && !North && !South && !Up && !West) return 1567; if (Age == 4 && East && North && South && Up && West) return 1568; if (Age == 4 && East && North && South && Up && !West) return 1569; if (Age == 4 && East && North && South && !Up && West) return 1570; if (Age == 4 && East && North && South && !Up && !West) return 1571; if (Age == 4 && East && North && !South && Up && West) return 1572; if (Age == 4 && East && North && !South && Up && !West) return 1573; if (Age == 4 && East && North && !South && !Up && West) return 1574; if (Age == 4 && East && North && !South && !Up && !West) return 1575; if (Age == 4 && East && !North && South && Up && West) return 1576; if (Age == 4 && East && !North && South && Up && !West) return 1577; if (Age == 4 && East && !North && South && !Up && West) return 1578; if (Age == 4 && East && !North && South && !Up && !West) return 1579; if (Age == 4 && East && !North && !South && Up && West) return 1580; if (Age == 4 && East && !North && !South && Up && !West) return 1581; if (Age == 4 && East && !North && !South && !Up && West) return 1582; if (Age == 4 && East && !North && !South && !Up && !West) return 1583; if (Age == 4 && !East && North && South && Up && West) return 1584; if (Age == 4 && !East && North && South && Up && !West) return 1585; if (Age == 4 && !East && North && South && !Up && West) return 1586; if (Age == 4 && !East && North && South && !Up && !West) return 1587; if (Age == 4 && !East && North && !South && Up && West) return 1588; if (Age == 4 && !East && North && !South && Up && !West) return 1589; if (Age == 4 && !East && North && !South && !Up && West) return 1590; if (Age == 4 && !East && North && !South && !Up && !West) return 1591; if (Age == 4 && !East && !North && South && Up && West) return 1592; if (Age == 4 && !East && !North && South && Up && !West) return 1593; if (Age == 4 && !East && !North && South && !Up && West) return 1594; if (Age == 4 && !East && !North && South && !Up && !West) return 1595; if (Age == 4 && !East && !North && !South && Up && West) return 1596; if (Age == 4 && !East && !North && !South && Up && !West) return 1597; if (Age == 4 && !East && !North && !South && !Up && West) return 1598; if (Age == 4 && !East && !North && !South && !Up && !West) return 1599; if (Age == 5 && East && North && South && Up && West) return 1600; if (Age == 5 && East && North && South && Up && !West) return 1601; if (Age == 5 && East && North && South && !Up && West) return 1602; if (Age == 5 && East && North && South && !Up && !West) return 1603; if (Age == 5 && East && North && !South && Up && West) return 1604; if (Age == 5 && East && North && !South && Up && !West) return 1605; if (Age == 5 && East && North && !South && !Up && West) return 1606; if (Age == 5 && East && North && !South && !Up && !West) return 1607; if (Age == 5 && East && !North && South && Up && West) return 1608; if (Age == 5 && East && !North && South && Up && !West) return 1609; if (Age == 5 && East && !North && South && !Up && West) return 1610; if (Age == 5 && East && !North && South && !Up && !West) return 1611; if (Age == 5 && East && !North && !South && Up && West) return 1612; if (Age == 5 && East && !North && !South && Up && !West) return 1613; if (Age == 5 && East && !North && !South && !Up && West) return 1614; if (Age == 5 && East && !North && !South && !Up && !West) return 1615; if (Age == 5 && !East && North && South && Up && West) return 1616; if (Age == 5 && !East && North && South && Up && !West) return 1617; if (Age == 5 && !East && North && South && !Up && West) return 1618; if (Age == 5 && !East && North && South && !Up && !West) return 1619; if (Age == 5 && !East && North && !South && Up && West) return 1620; if (Age == 5 && !East && North && !South && Up && !West) return 1621; if (Age == 5 && !East && North && !South && !Up && West) return 1622; if (Age == 5 && !East && North && !South && !Up && !West) return 1623; if (Age == 5 && !East && !North && South && Up && West) return 1624; if (Age == 5 && !East && !North && South && Up && !West) return 1625; if (Age == 5 && !East && !North && South && !Up && West) return 1626; if (Age == 5 && !East && !North && South && !Up && !West) return 1627; if (Age == 5 && !East && !North && !South && Up && West) return 1628; if (Age == 5 && !East && !North && !South && Up && !West) return 1629; if (Age == 5 && !East && !North && !South && !Up && West) return 1630; if (Age == 5 && !East && !North && !South && !Up && !West) return 1631; if (Age == 6 && East && North && South && Up && West) return 1632; if (Age == 6 && East && North && South && Up && !West) return 1633; if (Age == 6 && East && North && South && !Up && West) return 1634; if (Age == 6 && East && North && South && !Up && !West) return 1635; if (Age == 6 && East && North && !South && Up && West) return 1636; if (Age == 6 && East && North && !South && Up && !West) return 1637; if (Age == 6 && East && North && !South && !Up && West) return 1638; if (Age == 6 && East && North && !South && !Up && !West) return 1639; if (Age == 6 && East && !North && South && Up && West) return 1640; if (Age == 6 && East && !North && South && Up && !West) return 1641; if (Age == 6 && East && !North && South && !Up && West) return 1642; if (Age == 6 && East && !North && South && !Up && !West) return 1643; if (Age == 6 && East && !North && !South && Up && West) return 1644; if (Age == 6 && East && !North && !South && Up && !West) return 1645; if (Age == 6 && East && !North && !South && !Up && West) return 1646; if (Age == 6 && East && !North && !South && !Up && !West) return 1647; if (Age == 6 && !East && North && South && Up && West) return 1648; if (Age == 6 && !East && North && South && Up && !West) return 1649; if (Age == 6 && !East && North && South && !Up && West) return 1650; if (Age == 6 && !East && North && South && !Up && !West) return 1651; if (Age == 6 && !East && North && !South && Up && West) return 1652; if (Age == 6 && !East && North && !South && Up && !West) return 1653; if (Age == 6 && !East && North && !South && !Up && West) return 1654; if (Age == 6 && !East && North && !South && !Up && !West) return 1655; if (Age == 6 && !East && !North && South && Up && West) return 1656; if (Age == 6 && !East && !North && South && Up && !West) return 1657; if (Age == 6 && !East && !North && South && !Up && West) return 1658; if (Age == 6 && !East && !North && South && !Up && !West) return 1659; if (Age == 6 && !East && !North && !South && Up && West) return 1660; if (Age == 6 && !East && !North && !South && Up && !West) return 1661; if (Age == 6 && !East && !North && !South && !Up && West) return 1662; if (Age == 6 && !East && !North && !South && !Up && !West) return 1663; if (Age == 7 && East && North && South && Up && West) return 1664; if (Age == 7 && East && North && South && Up && !West) return 1665; if (Age == 7 && East && North && South && !Up && West) return 1666; if (Age == 7 && East && North && South && !Up && !West) return 1667; if (Age == 7 && East && North && !South && Up && West) return 1668; if (Age == 7 && East && North && !South && Up && !West) return 1669; if (Age == 7 && East && North && !South && !Up && West) return 1670; if (Age == 7 && East && North && !South && !Up && !West) return 1671; if (Age == 7 && East && !North && South && Up && West) return 1672; if (Age == 7 && East && !North && South && Up && !West) return 1673; if (Age == 7 && East && !North && South && !Up && West) return 1674; if (Age == 7 && East && !North && South && !Up && !West) return 1675; if (Age == 7 && East && !North && !South && Up && West) return 1676; if (Age == 7 && East && !North && !South && Up && !West) return 1677; if (Age == 7 && East && !North && !South && !Up && West) return 1678; if (Age == 7 && East && !North && !South && !Up && !West) return 1679; if (Age == 7 && !East && North && South && Up && West) return 1680; if (Age == 7 && !East && North && South && Up && !West) return 1681; if (Age == 7 && !East && North && South && !Up && West) return 1682; if (Age == 7 && !East && North && South && !Up && !West) return 1683; if (Age == 7 && !East && North && !South && Up && West) return 1684; if (Age == 7 && !East && North && !South && Up && !West) return 1685; if (Age == 7 && !East && North && !South && !Up && West) return 1686; if (Age == 7 && !East && North && !South && !Up && !West) return 1687; if (Age == 7 && !East && !North && South && Up && West) return 1688; if (Age == 7 && !East && !North && South && Up && !West) return 1689; if (Age == 7 && !East && !North && South && !Up && West) return 1690; if (Age == 7 && !East && !North && South && !Up && !West) return 1691; if (Age == 7 && !East && !North && !South && Up && West) return 1692; if (Age == 7 && !East && !North && !South && Up && !West) return 1693; if (Age == 7 && !East && !North && !South && !Up && West) return 1694; if (Age == 7 && !East && !North && !South && !Up && !West) return 1695; if (Age == 8 && East && North && South && Up && West) return 1696; if (Age == 8 && East && North && South && Up && !West) return 1697; if (Age == 8 && East && North && South && !Up && West) return 1698; if (Age == 8 && East && North && South && !Up && !West) return 1699; if (Age == 8 && East && North && !South && Up && West) return 1700; if (Age == 8 && East && North && !South && Up && !West) return 1701; if (Age == 8 && East && North && !South && !Up && West) return 1702; if (Age == 8 && East && North && !South && !Up && !West) return 1703; if (Age == 8 && East && !North && South && Up && West) return 1704; if (Age == 8 && East && !North && South && Up && !West) return 1705; if (Age == 8 && East && !North && South && !Up && West) return 1706; if (Age == 8 && East && !North && South && !Up && !West) return 1707; if (Age == 8 && East && !North && !South && Up && West) return 1708; if (Age == 8 && East && !North && !South && Up && !West) return 1709; if (Age == 8 && East && !North && !South && !Up && West) return 1710; if (Age == 8 && East && !North && !South && !Up && !West) return 1711; if (Age == 8 && !East && North && South && Up && West) return 1712; if (Age == 8 && !East && North && South && Up && !West) return 1713; if (Age == 8 && !East && North && South && !Up && West) return 1714; if (Age == 8 && !East && North && South && !Up && !West) return 1715; if (Age == 8 && !East && North && !South && Up && West) return 1716; if (Age == 8 && !East && North && !South && Up && !West) return 1717; if (Age == 8 && !East && North && !South && !Up && West) return 1718; if (Age == 8 && !East && North && !South && !Up && !West) return 1719; if (Age == 8 && !East && !North && South && Up && West) return 1720; if (Age == 8 && !East && !North && South && Up && !West) return 1721; if (Age == 8 && !East && !North && South && !Up && West) return 1722; if (Age == 8 && !East && !North && South && !Up && !West) return 1723; if (Age == 8 && !East && !North && !South && Up && West) return 1724; if (Age == 8 && !East && !North && !South && Up && !West) return 1725; if (Age == 8 && !East && !North && !South && !Up && West) return 1726; if (Age == 8 && !East && !North && !South && !Up && !West) return 1727; if (Age == 9 && East && North && South && Up && West) return 1728; if (Age == 9 && East && North && South && Up && !West) return 1729; if (Age == 9 && East && North && South && !Up && West) return 1730; if (Age == 9 && East && North && South && !Up && !West) return 1731; if (Age == 9 && East && North && !South && Up && West) return 1732; if (Age == 9 && East && North && !South && Up && !West) return 1733; if (Age == 9 && East && North && !South && !Up && West) return 1734; if (Age == 9 && East && North && !South && !Up && !West) return 1735; if (Age == 9 && East && !North && South && Up && West) return 1736; if (Age == 9 && East && !North && South && Up && !West) return 1737; if (Age == 9 && East && !North && South && !Up && West) return 1738; if (Age == 9 && East && !North && South && !Up && !West) return 1739; if (Age == 9 && East && !North && !South && Up && West) return 1740; if (Age == 9 && East && !North && !South && Up && !West) return 1741; if (Age == 9 && East && !North && !South && !Up && West) return 1742; if (Age == 9 && East && !North && !South && !Up && !West) return 1743; if (Age == 9 && !East && North && South && Up && West) return 1744; if (Age == 9 && !East && North && South && Up && !West) return 1745; if (Age == 9 && !East && North && South && !Up && West) return 1746; if (Age == 9 && !East && North && South && !Up && !West) return 1747; if (Age == 9 && !East && North && !South && Up && West) return 1748; if (Age == 9 && !East && North && !South && Up && !West) return 1749; if (Age == 9 && !East && North && !South && !Up && West) return 1750; if (Age == 9 && !East && North && !South && !Up && !West) return 1751; if (Age == 9 && !East && !North && South && Up && West) return 1752; if (Age == 9 && !East && !North && South && Up && !West) return 1753; if (Age == 9 && !East && !North && South && !Up && West) return 1754; if (Age == 9 && !East && !North && South && !Up && !West) return 1755; if (Age == 9 && !East && !North && !South && Up && West) return 1756; if (Age == 9 && !East && !North && !South && Up && !West) return 1757; if (Age == 9 && !East && !North && !South && !Up && West) return 1758; if (Age == 9 && !East && !North && !South && !Up && !West) return 1759; if (Age == 10 && East && North && South && Up && West) return 1760; if (Age == 10 && East && North && South && Up && !West) return 1761; if (Age == 10 && East && North && South && !Up && West) return 1762; if (Age == 10 && East && North && South && !Up && !West) return 1763; if (Age == 10 && East && North && !South && Up && West) return 1764; if (Age == 10 && East && North && !South && Up && !West) return 1765; if (Age == 10 && East && North && !South && !Up && West) return 1766; if (Age == 10 && East && North && !South && !Up && !West) return 1767; if (Age == 10 && East && !North && South && Up && West) return 1768; if (Age == 10 && East && !North && South && Up && !West) return 1769; if (Age == 10 && East && !North && South && !Up && West) return 1770; if (Age == 10 && East && !North && South && !Up && !West) return 1771; if (Age == 10 && East && !North && !South && Up && West) return 1772; if (Age == 10 && East && !North && !South && Up && !West) return 1773; if (Age == 10 && East && !North && !South && !Up && West) return 1774; if (Age == 10 && East && !North && !South && !Up && !West) return 1775; if (Age == 10 && !East && North && South && Up && West) return 1776; if (Age == 10 && !East && North && South && Up && !West) return 1777; if (Age == 10 && !East && North && South && !Up && West) return 1778; if (Age == 10 && !East && North && South && !Up && !West) return 1779; if (Age == 10 && !East && North && !South && Up && West) return 1780; if (Age == 10 && !East && North && !South && Up && !West) return 1781; if (Age == 10 && !East && North && !South && !Up && West) return 1782; if (Age == 10 && !East && North && !South && !Up && !West) return 1783; if (Age == 10 && !East && !North && South && Up && West) return 1784; if (Age == 10 && !East && !North && South && Up && !West) return 1785; if (Age == 10 && !East && !North && South && !Up && West) return 1786; if (Age == 10 && !East && !North && South && !Up && !West) return 1787; if (Age == 10 && !East && !North && !South && Up && West) return 1788; if (Age == 10 && !East && !North && !South && Up && !West) return 1789; if (Age == 10 && !East && !North && !South && !Up && West) return 1790; if (Age == 10 && !East && !North && !South && !Up && !West) return 1791; if (Age == 11 && East && North && South && Up && West) return 1792; if (Age == 11 && East && North && South && Up && !West) return 1793; if (Age == 11 && East && North && South && !Up && West) return 1794; if (Age == 11 && East && North && South && !Up && !West) return 1795; if (Age == 11 && East && North && !South && Up && West) return 1796; if (Age == 11 && East && North && !South && Up && !West) return 1797; if (Age == 11 && East && North && !South && !Up && West) return 1798; if (Age == 11 && East && North && !South && !Up && !West) return 1799; if (Age == 11 && East && !North && South && Up && West) return 1800; if (Age == 11 && East && !North && South && Up && !West) return 1801; if (Age == 11 && East && !North && South && !Up && West) return 1802; if (Age == 11 && East && !North && South && !Up && !West) return 1803; if (Age == 11 && East && !North && !South && Up && West) return 1804; if (Age == 11 && East && !North && !South && Up && !West) return 1805; if (Age == 11 && East && !North && !South && !Up && West) return 1806; if (Age == 11 && East && !North && !South && !Up && !West) return 1807; if (Age == 11 && !East && North && South && Up && West) return 1808; if (Age == 11 && !East && North && South && Up && !West) return 1809; if (Age == 11 && !East && North && South && !Up && West) return 1810; if (Age == 11 && !East && North && South && !Up && !West) return 1811; if (Age == 11 && !East && North && !South && Up && West) return 1812; if (Age == 11 && !East && North && !South && Up && !West) return 1813; if (Age == 11 && !East && North && !South && !Up && West) return 1814; if (Age == 11 && !East && North && !South && !Up && !West) return 1815; if (Age == 11 && !East && !North && South && Up && West) return 1816; if (Age == 11 && !East && !North && South && Up && !West) return 1817; if (Age == 11 && !East && !North && South && !Up && West) return 1818; if (Age == 11 && !East && !North && South && !Up && !West) return 1819; if (Age == 11 && !East && !North && !South && Up && West) return 1820; if (Age == 11 && !East && !North && !South && Up && !West) return 1821; if (Age == 11 && !East && !North && !South && !Up && West) return 1822; if (Age == 11 && !East && !North && !South && !Up && !West) return 1823; if (Age == 12 && East && North && South && Up && West) return 1824; if (Age == 12 && East && North && South && Up && !West) return 1825; if (Age == 12 && East && North && South && !Up && West) return 1826; if (Age == 12 && East && North && South && !Up && !West) return 1827; if (Age == 12 && East && North && !South && Up && West) return 1828; if (Age == 12 && East && North && !South && Up && !West) return 1829; if (Age == 12 && East && North && !South && !Up && West) return 1830; if (Age == 12 && East && North && !South && !Up && !West) return 1831; if (Age == 12 && East && !North && South && Up && West) return 1832; if (Age == 12 && East && !North && South && Up && !West) return 1833; if (Age == 12 && East && !North && South && !Up && West) return 1834; if (Age == 12 && East && !North && South && !Up && !West) return 1835; if (Age == 12 && East && !North && !South && Up && West) return 1836; if (Age == 12 && East && !North && !South && Up && !West) return 1837; if (Age == 12 && East && !North && !South && !Up && West) return 1838; if (Age == 12 && East && !North && !South && !Up && !West) return 1839; if (Age == 12 && !East && North && South && Up && West) return 1840; if (Age == 12 && !East && North && South && Up && !West) return 1841; if (Age == 12 && !East && North && South && !Up && West) return 1842; if (Age == 12 && !East && North && South && !Up && !West) return 1843; if (Age == 12 && !East && North && !South && Up && West) return 1844; if (Age == 12 && !East && North && !South && Up && !West) return 1845; if (Age == 12 && !East && North && !South && !Up && West) return 1846; if (Age == 12 && !East && North && !South && !Up && !West) return 1847; if (Age == 12 && !East && !North && South && Up && West) return 1848; if (Age == 12 && !East && !North && South && Up && !West) return 1849; if (Age == 12 && !East && !North && South && !Up && West) return 1850; if (Age == 12 && !East && !North && South && !Up && !West) return 1851; if (Age == 12 && !East && !North && !South && Up && West) return 1852; if (Age == 12 && !East && !North && !South && Up && !West) return 1853; if (Age == 12 && !East && !North && !South && !Up && West) return 1854; if (Age == 12 && !East && !North && !South && !Up && !West) return 1855; if (Age == 13 && East && North && South && Up && West) return 1856; if (Age == 13 && East && North && South && Up && !West) return 1857; if (Age == 13 && East && North && South && !Up && West) return 1858; if (Age == 13 && East && North && South && !Up && !West) return 1859; if (Age == 13 && East && North && !South && Up && West) return 1860; if (Age == 13 && East && North && !South && Up && !West) return 1861; if (Age == 13 && East && North && !South && !Up && West) return 1862; if (Age == 13 && East && North && !South && !Up && !West) return 1863; if (Age == 13 && East && !North && South && Up && West) return 1864; if (Age == 13 && East && !North && South && Up && !West) return 1865; if (Age == 13 && East && !North && South && !Up && West) return 1866; if (Age == 13 && East && !North && South && !Up && !West) return 1867; if (Age == 13 && East && !North && !South && Up && West) return 1868; if (Age == 13 && East && !North && !South && Up && !West) return 1869; if (Age == 13 && East && !North && !South && !Up && West) return 1870; if (Age == 13 && East && !North && !South && !Up && !West) return 1871; if (Age == 13 && !East && North && South && Up && West) return 1872; if (Age == 13 && !East && North && South && Up && !West) return 1873; if (Age == 13 && !East && North && South && !Up && West) return 1874; if (Age == 13 && !East && North && South && !Up && !West) return 1875; if (Age == 13 && !East && North && !South && Up && West) return 1876; if (Age == 13 && !East && North && !South && Up && !West) return 1877; if (Age == 13 && !East && North && !South && !Up && West) return 1878; if (Age == 13 && !East && North && !South && !Up && !West) return 1879; if (Age == 13 && !East && !North && South && Up && West) return 1880; if (Age == 13 && !East && !North && South && Up && !West) return 1881; if (Age == 13 && !East && !North && South && !Up && West) return 1882; if (Age == 13 && !East && !North && South && !Up && !West) return 1883; if (Age == 13 && !East && !North && !South && Up && West) return 1884; if (Age == 13 && !East && !North && !South && Up && !West) return 1885; if (Age == 13 && !East && !North && !South && !Up && West) return 1886; if (Age == 13 && !East && !North && !South && !Up && !West) return 1887; if (Age == 14 && East && North && South && Up && West) return 1888; if (Age == 14 && East && North && South && Up && !West) return 1889; if (Age == 14 && East && North && South && !Up && West) return 1890; if (Age == 14 && East && North && South && !Up && !West) return 1891; if (Age == 14 && East && North && !South && Up && West) return 1892; if (Age == 14 && East && North && !South && Up && !West) return 1893; if (Age == 14 && East && North && !South && !Up && West) return 1894; if (Age == 14 && East && North && !South && !Up && !West) return 1895; if (Age == 14 && East && !North && South && Up && West) return 1896; if (Age == 14 && East && !North && South && Up && !West) return 1897; if (Age == 14 && East && !North && South && !Up && West) return 1898; if (Age == 14 && East && !North && South && !Up && !West) return 1899; if (Age == 14 && East && !North && !South && Up && West) return 1900; if (Age == 14 && East && !North && !South && Up && !West) return 1901; if (Age == 14 && East && !North && !South && !Up && West) return 1902; if (Age == 14 && East && !North && !South && !Up && !West) return 1903; if (Age == 14 && !East && North && South && Up && West) return 1904; if (Age == 14 && !East && North && South && Up && !West) return 1905; if (Age == 14 && !East && North && South && !Up && West) return 1906; if (Age == 14 && !East && North && South && !Up && !West) return 1907; if (Age == 14 && !East && North && !South && Up && West) return 1908; if (Age == 14 && !East && North && !South && Up && !West) return 1909; if (Age == 14 && !East && North && !South && !Up && West) return 1910; if (Age == 14 && !East && North && !South && !Up && !West) return 1911; if (Age == 14 && !East && !North && South && Up && West) return 1912; if (Age == 14 && !East && !North && South && Up && !West) return 1913; if (Age == 14 && !East && !North && South && !Up && West) return 1914; if (Age == 14 && !East && !North && South && !Up && !West) return 1915; if (Age == 14 && !East && !North && !South && Up && West) return 1916; if (Age == 14 && !East && !North && !South && Up && !West) return 1917; if (Age == 14 && !East && !North && !South && !Up && West) return 1918; if (Age == 14 && !East && !North && !South && !Up && !West) return 1919; if (Age == 15 && East && North && South && Up && West) return 1920; if (Age == 15 && East && North && South && Up && !West) return 1921; if (Age == 15 && East && North && South && !Up && West) return 1922; if (Age == 15 && East && North && South && !Up && !West) return 1923; if (Age == 15 && East && North && !South && Up && West) return 1924; if (Age == 15 && East && North && !South && Up && !West) return 1925; if (Age == 15 && East && North && !South && !Up && West) return 1926; if (Age == 15 && East && North && !South && !Up && !West) return 1927; if (Age == 15 && East && !North && South && Up && West) return 1928; if (Age == 15 && East && !North && South && Up && !West) return 1929; if (Age == 15 && East && !North && South && !Up && West) return 1930; if (Age == 15 && East && !North && South && !Up && !West) return 1931; if (Age == 15 && East && !North && !South && Up && West) return 1932; if (Age == 15 && East && !North && !South && Up && !West) return 1933; if (Age == 15 && East && !North && !South && !Up && West) return 1934; if (Age == 15 && East && !North && !South && !Up && !West) return 1935; if (Age == 15 && !East && North && South && Up && West) return 1936; if (Age == 15 && !East && North && South && Up && !West) return 1937; if (Age == 15 && !East && North && South && !Up && West) return 1938; if (Age == 15 && !East && North && South && !Up && !West) return 1939; if (Age == 15 && !East && North && !South && Up && West) return 1940; if (Age == 15 && !East && North && !South && Up && !West) return 1941; if (Age == 15 && !East && North && !South && !Up && West) return 1942; if (Age == 15 && !East && North && !South && !Up && !West) return 1943; if (Age == 15 && !East && !North && South && Up && West) return 1944; if (Age == 15 && !East && !North && South && Up && !West) return 1945; if (Age == 15 && !East && !North && South && !Up && West) return 1946; if (Age == 15 && !East && !North && South && !Up && !West) return 1947; if (Age == 15 && !East && !North && !South && Up && West) return 1948; if (Age == 15 && !East && !North && !South && Up && !West) return 1949; if (Age == 15 && !East && !North && !South && !Up && West) return 1950; 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() { return 9537; } } namespace FireCoralBlock { constexpr short FireCoralBlock() { return 9518; } } namespace FireCoralFan { constexpr short FireCoralFan() { return 9557; } } namespace FireCoralWallFan { constexpr short FireCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9625; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9627; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9629; return 9631; } short FireCoralWallFan(); eBlockFace Facing(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 == 1) return 9250; if (Age == 2) return 9251; return 9252; } short FrostedIce(); unsigned char Age(short ID); } namespace Furnace { constexpr short Furnace(eBlockFace Facing, bool Lit) { 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; if (Facing == eBlockFace::BLOCK_FACE_XP && Lit) return 3379; 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 (East && North && South && West) return 4733; if (East && North && South && !West) return 4734; if (East && North && !South && West) return 4737; if (East && North && !South && !West) return 4738; if (East && !North && South && West) return 4741; if (East && !North && South && !West) return 4742; if (East && !North && !South && West) return 4745; if (East && !North && !South && !West) return 4746; if (!East && North && South && West) return 4749; if (!East && North && South && !West) return 4750; if (!East && North && !South && West) return 4753; if (!East && North && !South && !West) return 4754; if (!East && !North && South && West) return 4757; if (!East && !North && South && !West) return 4758; if (!East && !North && !South && West) return 4761; return 4762; } short GlassPane(); bool East(short ID); bool North(short ID); bool South(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) return 10838; if (Type == Type::Bottom) return 10840; return 10842; } short GraniteSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 10390; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 10392; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 10394; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 10396; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 10398; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10400; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10402; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10404; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10406; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10408; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10410; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10412; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10414; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10416; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10418; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10420; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10422; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10424; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10426; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10428; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10430; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10432; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10434; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10436; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10438; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10440; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10442; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10444; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10446; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10448; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10450; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10452; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10454; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10456; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10458; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10460; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10462; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10464; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10466; return 10468; } short GraniteStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 12166; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 12167; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 12168; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 12172; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 12173; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 12174; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 12178; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 12179; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 12180; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 12184; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 12185; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 12186; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 12190; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 12191; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 12192; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 12196; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 12197; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 12198; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 12202; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 12203; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 12204; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 12208; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 12209; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 12210; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 12214; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 12215; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 12216; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 12220; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 12221; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12222; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 12226; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 12227; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12228; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 12232; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12233; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12234; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 12238; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 12239; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 12240; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 12244; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 12245; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 12246; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 12250; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 12251; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 12252; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 12256; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 12257; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 12258; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 12262; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 12263; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 12264; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 12268; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 12269; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 12270; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 12274; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 12275; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 12276; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 12280; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 12281; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 12282; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 12286; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 12287; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 12288; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 12292; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 12293; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 12294; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 12298; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 12299; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 12300; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 12304; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 12305; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 12306; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 12310; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 12311; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 12312; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 12316; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 12317; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 12318; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 12322; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 12323; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 12324; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 12328; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 12329; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12330; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 12334; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 12335; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12336; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 12340; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12341; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12342; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 12346; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 12347; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 12348; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 12352; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 12353; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 12354; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 12358; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 12359; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 12360; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 12364; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 12365; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 12366; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 12370; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 12371; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 12372; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 12376; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 12377; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 12378; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 12382; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 12383; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 12384; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 12388; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 12389; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 12390; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 12394; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 12395; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 12396; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 12400; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 12401; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 12402; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 12406; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 12407; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 12408; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 12412; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 12413; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 12414; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 12418; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 12419; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 12420; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 12424; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 12425; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 12426; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 12430; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 12431; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 12432; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 12436; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 12437; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12438; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 12442; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 12443; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12444; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 12448; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12449; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12450; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 12454; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 12455; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 12456; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 12460; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 12461; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 12462; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 12466; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 12467; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 12468; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 12472; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 12473; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 12474; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 12478; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 12479; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 12480; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 12484; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 12485; return 12486; } short GraniteWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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 == 0) return 8009; if (Rotation == 1) return 8010; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1161; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1162; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1163; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1164; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1165; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1166; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1167; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1168; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1169; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1170; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1171; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1172; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1173; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1174; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1175; 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_ZP) return 9403; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9404; return 9405; } short GrayGlazedTerracotta(); eBlockFace Facing(short ID); } namespace GrayShulkerBox { constexpr short GrayShulkerBox(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9320; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9321; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9322; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9323; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9324; return 9325; } 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 (East && North && South && West) return 7089; if (East && North && South && !West) return 7090; if (East && North && !South && West) return 7093; if (East && North && !South && !West) return 7094; if (East && !North && South && West) return 7097; if (East && !North && South && !West) return 7098; if (East && !North && !South && West) return 7101; if (East && !North && !South && !West) return 7102; if (!East && North && South && West) return 7105; if (!East && North && South && !West) return 7106; if (!East && North && !South && West) return 7109; if (!East && North && !South && !West) return 7110; if (!East && !North && South && West) return 7113; if (!East && !North && South && !West) return 7114; if (!East && !North && !South && West) return 7117; return 7118; } short GrayStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8181; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8182; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8183; 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 == 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; if (Rotation == 11) return 8116; if (Rotation == 12) return 8117; if (Rotation == 13) return 8118; if (Rotation == 14) return 8119; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1257; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1258; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1259; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1260; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1261; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1262; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1263; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1264; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1265; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1266; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1267; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1268; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1269; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1270; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1271; 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_ZP) return 9427; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9428; return 9429; } short GreenGlazedTerracotta(); eBlockFace Facing(short ID); } namespace GreenShulkerBox { constexpr short GreenShulkerBox(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9356; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9357; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9358; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9359; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9360; return 9361; } 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 (East && North && South && West) return 7281; if (East && North && South && !West) return 7282; if (East && North && !South && West) return 7285; if (East && North && !South && !West) return 7286; if (East && !North && South && West) return 7289; if (East && !North && South && !West) return 7290; if (East && !North && !South && West) return 7293; if (East && !North && !South && !West) return 7294; if (!East && North && South && West) return 7297; if (!East && North && South && !West) return 7298; if (!East && North && !South && West) return 7301; if (!East && North && !South && !West) return 7302; if (!East && !North && South && West) return 7305; if (!East && !North && South && !West) return 7306; if (!East && !North && !South && West) return 7309; return 7310; } short GreenStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZP) return 8206; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8207; 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_ZM) return 14821; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP) return 14822; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM) return 14823; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP) return 14824; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM) return 14825; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP) return 14826; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM) return 14827; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP) return 14828; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM) return 14829; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP) return 14830; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM) return 14831; return 14832; } 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::X) return 7863; if (Axis == Axis::Y) return 7864; return 7865; } short HayBale(); enum Axis Axis(short ID); } namespace HeavyWeightedPressurePlate { constexpr short HeavyWeightedPressurePlate(unsigned char Power) { 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; if (Power == 14) return 6676; 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_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; if (!Enabled && Facing == eBlockFace::BLOCK_FACE_ZP) return 6735; if (!Enabled && Facing == eBlockFace::BLOCK_FACE_XM) return 6736; return 6737; } short Hopper(); bool Enabled(short ID); eBlockFace Facing(short ID); } namespace HornCoral { constexpr short HornCoral() { return 9539; } } namespace HornCoralBlock { constexpr short HornCoralBlock() { return 9519; } } namespace HornCoralFan { constexpr short HornCoralFan() { return 9559; } } namespace HornCoralWallFan { constexpr short HornCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9633; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9635; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9637; return 9639; } short HornCoralWallFan(); eBlockFace Facing(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 (East && North && South && West) return 4699; if (East && North && South && !West) return 4700; if (East && North && !South && West) return 4703; if (East && North && !South && !West) return 4704; if (East && !North && South && West) return 4707; if (East && !North && South && !West) return 4708; if (East && !North && !South && West) return 4711; if (East && !North && !South && !West) return 4712; if (!East && North && South && West) return 4715; if (!East && North && South && !West) return 4716; if (!East && North && !South && West) return 4719; if (!East && North && !South && !West) return 4720; if (!East && !North && South && West) return 4723; if (!East && !North && South && !West) return 4724; if (!East && !North && !South && West) return 4727; return 4728; } short IronBars(); bool East(short ID); bool North(short ID); bool South(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 3809; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 3810; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 3811; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 3812; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 3813; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 3814; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 3815; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 3816; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 3817; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 3818; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 3819; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 3820; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 3821; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 3822; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 3823; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 3824; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 3825; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 3826; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 3827; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 3828; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 3829; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 3830; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 3831; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 3832; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 3833; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 3834; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 3835; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 3836; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 3837; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 3838; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 3839; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 3840; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 3841; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 3842; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 3843; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 3844; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 3845; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 3846; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 3847; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 3848; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 3849; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 3850; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 3851; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 3852; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 3853; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 3854; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 3855; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 3856; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 3857; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 3858; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 3859; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 3860; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 3861; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 3862; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 3863; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 3864; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 3865; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 3866; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 3867; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 3868; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 3869; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 3870; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 3871; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && Powered) return 7538; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && !Powered) return 7540; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && Powered) return 7542; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && !Powered) return 7544; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && Powered) return 7546; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && !Powered) return 7548; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && Powered) return 7550; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && !Powered) return 7552; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && Powered) return 7554; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && !Powered) return 7556; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && Powered) return 7558; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && !Powered) return 7560; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && Powered) return 7562; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && !Powered) return 7564; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && Powered) return 7566; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && !Powered) return 7568; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && Powered) return 7570; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && !Powered) return 7572; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && Powered) return 7574; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && !Powered) return 7576; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && Powered) return 7578; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && !Powered) return 7580; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && Powered) return 7582; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && !Powered) return 7584; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && Powered) return 7586; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && !Powered) return 7588; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && Powered) return 7590; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && !Powered) return 7592; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && Powered) return 7594; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && !Powered) return 7596; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && !Open && Powered) return 7598; return 7600; } short IronTrapdoor(); eBlockFace Facing(short ID); enum Half Half(short ID); bool Open(short ID); bool Powered(short ID); } namespace JackOLantern { constexpr short JackOLantern(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4020; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4021; 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::DownEast) return 15739; if (Orientation == Orientation::DownNorth) return 15740; if (Orientation == Orientation::DownSouth) return 15741; if (Orientation == Orientation::DownWest) return 15742; if (Orientation == Orientation::UpEast) return 15743; if (Orientation == Orientation::UpNorth) return 15744; if (Orientation == Orientation::UpSouth) return 15745; if (Orientation == Orientation::UpWest) return 15746; if (Orientation == Orientation::WestUp) return 15747; if (Orientation == Orientation::EastUp) return 15748; if (Orientation == Orientation::NorthUp) return 15749; return 15750; } 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::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6418; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6419; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6420; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6421; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6422; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6423; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6424; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6425; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6426; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6427; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6428; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6429; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6430; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6431; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6432; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6433; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6434; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6435; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6436; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6437; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6438; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6439; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6440; return 6441; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8866; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8867; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8868; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8869; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8870; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8871; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8872; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8873; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8874; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8875; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8876; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8877; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8878; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8879; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8880; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8881; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8882; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8883; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8884; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8885; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8886; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8887; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8888; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8889; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8890; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8891; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8892; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8893; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8894; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8895; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8896; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8897; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8898; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8899; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8900; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8901; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8902; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8903; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8904; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8905; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8906; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8907; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8908; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8909; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8910; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8911; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8912; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8913; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8914; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8915; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8916; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8917; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8918; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8919; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8920; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8921; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8922; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8923; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8924; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8925; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8926; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8927; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8928; 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 (East && North && South && West) return 8644; if (East && North && South && !West) return 8645; if (East && North && !South && West) return 8648; if (East && North && !South && !West) return 8649; if (East && !North && South && West) return 8652; if (East && !North && South && !West) return 8653; if (East && !North && !South && West) return 8656; if (East && !North && !South && !West) return 8657; if (!East && North && South && West) return 8660; if (!East && North && South && !West) return 8661; if (!East && North && !South && West) return 8664; if (!East && North && !South && !West) return 8665; if (!East && !North && South && West) return 8668; if (!East && !North && South && !West) return 8669; if (!East && !North && !South && West) return 8672; return 8673; } short JungleFence(); bool East(short ID); bool North(short ID); bool South(short ID); bool West(short ID); } namespace JungleFenceGate { constexpr short JungleFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && Powered) return 8482; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && !Powered) return 8483; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && Powered) return 8484; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && !Powered) return 8485; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && Powered) return 8486; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && !Powered) return 8487; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && Powered) return 8488; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && !Powered) return 8489; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && Powered) return 8490; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && !Powered) return 8491; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && Powered) return 8492; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && !Powered) return 8493; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && Powered) return 8494; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && !Powered) return 8495; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && Powered) return 8496; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && !Powered) return 8497; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && Powered) return 8498; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && !Powered) return 8499; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && Powered) return 8500; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && !Powered) return 8501; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && Powered) return 8502; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && !Powered) return 8503; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && Powered) return 8504; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && !Powered) return 8505; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && Powered) return 8506; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && !Powered) return 8507; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && Powered) return 8508; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && !Powered) return 8509; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && Powered) return 8510; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && !Powered) return 8511; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && !Open && Powered) return 8512; 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 (Distance == 1 && Persistent) return 187; if (Distance == 1 && !Persistent) return 188; if (Distance == 2 && Persistent) return 189; if (Distance == 2 && !Persistent) return 190; if (Distance == 3 && Persistent) return 191; if (Distance == 3 && !Persistent) return 192; if (Distance == 4 && Persistent) return 193; if (Distance == 4 && !Persistent) return 194; if (Distance == 5 && Persistent) return 195; if (Distance == 5 && !Persistent) return 196; if (Distance == 6 && Persistent) return 197; if (Distance == 6 && !Persistent) return 198; if (Distance == 7 && Persistent) return 199; return 200; } 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 == 0) return 3510; if (Rotation == 1) return 3512; if (Rotation == 2) return 3514; if (Rotation == 3) return 3516; if (Rotation == 4) return 3518; if (Rotation == 5) return 3520; if (Rotation == 6) return 3522; if (Rotation == 7) return 3524; if (Rotation == 8) return 3526; if (Rotation == 9) return 3528; if (Rotation == 10) return 3530; if (Rotation == 11) return 3532; if (Rotation == 12) return 3534; if (Rotation == 13) return 3536; if (Rotation == 14) return 3538; return 3540; } short JungleSign(); unsigned char Rotation(short ID); } namespace JungleSlab { enum class Type { Top, Bottom, Double }; constexpr short JungleSlab(enum Type Type) { if (Type == Type::Top) return 8319; if (Type == Type::Bottom) return 8321; return 8323; } short JungleSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 5565; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 5567; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 5569; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 5571; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 5573; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 5575; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5577; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5579; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5581; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5583; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 5585; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 5587; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 5589; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 5591; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 5593; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 5595; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5597; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5599; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5601; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 5603; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 5605; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 5607; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 5609; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 5611; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 5613; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 5615; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5617; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5619; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5621; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5623; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 5625; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 5627; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 5629; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 5631; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 5633; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 5635; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5637; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5639; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5641; return 5643; } short JungleStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace JungleTrapdoor { enum class Half { Top, Bottom }; constexpr short JungleTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && Powered) return 4304; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && !Powered) return 4306; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && Powered) return 4308; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && !Powered) return 4310; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && Powered) return 4312; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && !Powered) return 4314; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && Powered) return 4316; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && !Powered) return 4318; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && Powered) return 4320; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && !Powered) return 4322; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && Powered) return 4324; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && !Powered) return 4326; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && Powered) return 4328; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && !Powered) return 4330; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && Powered) return 4332; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && !Powered) return 4334; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && Powered) return 4336; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && !Powered) return 4338; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && Powered) return 4340; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && !Powered) return 4342; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && Powered) return 4344; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && !Powered) return 4346; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && Powered) return 4348; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && !Powered) return 4350; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && Powered) return 4352; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && !Powered) return 4354; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && Powered) return 4356; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && !Powered) return 4358; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && Powered) return 4360; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && !Powered) return 4362; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && !Open && Powered) return 4364; return 4366; } short JungleTrapdoor(); eBlockFace Facing(short ID); enum Half Half(short ID); bool Open(short ID); bool Powered(short ID); } namespace JungleWallSign { constexpr short JungleWallSign(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3768; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3770; if (Facing == eBlockFace::BLOCK_FACE_XM) return 3772; return 3774; } short JungleWallSign(); eBlockFace Facing(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 == 0) return 9470; if (Age == 1) return 9471; if (Age == 2) return 9472; if (Age == 3) return 9473; if (Age == 4) return 9474; if (Age == 5) return 9475; if (Age == 6) return 9476; if (Age == 7) return 9477; if (Age == 8) return 9478; if (Age == 9) return 9479; if (Age == 10) return 9480; if (Age == 11) return 9481; if (Age == 12) return 9482; if (Age == 13) return 9483; if (Age == 14) return 9484; if (Age == 15) return 9485; if (Age == 16) return 9486; if (Age == 17) return 9487; if (Age == 18) return 9488; if (Age == 19) return 9489; if (Age == 20) return 9490; if (Age == 21) return 9491; if (Age == 22) return 9492; if (Age == 23) return 9493; if (Age == 24) return 9494; return 9495; } 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) return 3638; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3640; if (Facing == eBlockFace::BLOCK_FACE_XM) return 3642; return 3644; } short Ladder(); eBlockFace Facing(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 == 0) return 50; if (Level == 1) return 51; if (Level == 2) return 52; if (Level == 3) return 53; if (Level == 4) return 54; if (Level == 5) return 55; if (Level == 6) return 56; if (Level == 7) return 57; if (Level == 8) return 58; if (Level == 9) return 59; if (Level == 10) return 60; if (Level == 11) return 61; if (Level == 12) return 62; if (Level == 13) return 63; if (Level == 14) return 64; return 65; } short Lava(); unsigned char Level(short ID); } namespace Lectern { constexpr short Lectern(eBlockFace Facing, bool HasBook, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && HasBook && Powered) return 14833; if (Facing == eBlockFace::BLOCK_FACE_ZM && HasBook && !Powered) return 14834; if (Facing == eBlockFace::BLOCK_FACE_ZM && !HasBook && Powered) return 14835; if (Facing == eBlockFace::BLOCK_FACE_ZM && !HasBook && !Powered) return 14836; if (Facing == eBlockFace::BLOCK_FACE_ZP && HasBook && Powered) return 14837; if (Facing == eBlockFace::BLOCK_FACE_ZP && HasBook && !Powered) return 14838; if (Facing == eBlockFace::BLOCK_FACE_ZP && !HasBook && Powered) return 14839; if (Facing == eBlockFace::BLOCK_FACE_ZP && !HasBook && !Powered) return 14840; if (Facing == eBlockFace::BLOCK_FACE_XM && HasBook && Powered) return 14841; if (Facing == eBlockFace::BLOCK_FACE_XM && HasBook && !Powered) return 14842; if (Facing == eBlockFace::BLOCK_FACE_XM && !HasBook && Powered) return 14843; if (Facing == eBlockFace::BLOCK_FACE_XM && !HasBook && !Powered) return 14844; if (Facing == eBlockFace::BLOCK_FACE_XP && HasBook && Powered) return 14845; if (Facing == eBlockFace::BLOCK_FACE_XP && HasBook && !Powered) return 14846; if (Facing == eBlockFace::BLOCK_FACE_XP && !HasBook && Powered) return 14847; 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::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 3783; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 3784; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 3785; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 3786; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 3787; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 3788; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 3789; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 3790; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 3791; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 3792; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 3793; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 3794; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 3795; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 3796; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 3797; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 3798; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 3799; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 3800; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 3801; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 3802; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 3803; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 3804; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 3805; return 3806; } 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 == 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; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1097; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1098; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1099; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1100; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1101; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1102; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1103; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1104; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1105; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1106; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1107; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1108; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1109; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1110; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1111; 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_ZM) return 9386; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9387; 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_ZM) return 9296; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9297; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9298; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9299; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9300; 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 (East && North && South && West) return 6961; if (East && North && South && !West) return 6962; if (East && North && !South && West) return 6965; if (East && North && !South && !West) return 6966; if (East && !North && South && West) return 6969; if (East && !North && South && !West) return 6970; if (East && !North && !South && West) return 6973; if (East && !North && !South && !West) return 6974; if (!East && North && South && West) return 6977; if (!East && North && South && !West) return 6978; if (!East && North && !South && West) return 6981; if (!East && North && !South && !West) return 6982; if (!East && !North && South && West) return 6985; if (!East && !North && South && !West) return 6986; if (!East && !North && !South && West) return 6989; return 6990; } short LightBlueStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8165; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8166; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8167; 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 == 0) return 8025; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1177; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1178; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1179; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1180; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1181; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1182; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1183; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1184; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1185; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1186; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1187; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1188; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1189; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1190; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1191; 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_ZM) return 9406; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9407; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9408; 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_XP) return 9327; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9328; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9329; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9330; return 9331; } 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 (East && North && South && West) return 7121; if (East && North && South && !West) return 7122; if (East && North && !South && West) return 7125; if (East && North && !South && !West) return 7126; if (East && !North && South && West) return 7129; if (East && !North && South && !West) return 7130; if (East && !North && !South && West) return 7133; if (East && !North && !South && !West) return 7134; if (!East && North && South && West) return 7137; if (!East && North && South && !West) return 7138; if (!East && North && !South && West) return 7141; if (!East && North && !South && !West) return 7142; if (!East && !North && South && West) return 7145; if (!East && !North && South && !West) return 7146; if (!East && !North && !South && West) return 7149; return 7150; } short LightGrayStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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 == 0) return 7977; if (Rotation == 1) return 7978; if (Rotation == 2) return 7979; if (Rotation == 3) return 7980; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1129; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1130; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1131; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1132; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1133; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1134; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1135; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1136; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1137; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1138; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1139; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1140; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1141; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1142; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1143; 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_ZM) return 9394; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9395; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9396; return 9397; } short LimeGlazedTerracotta(); eBlockFace Facing(short ID); } namespace LimeShulkerBox { constexpr short LimeShulkerBox(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9308; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9309; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9310; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9311; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9312; return 9313; } 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 (East && North && South && West) return 7025; if (East && North && South && !West) return 7026; if (East && North && !South && West) return 7029; if (East && North && !South && !West) return 7030; if (East && !North && South && West) return 7033; if (East && !North && South && !West) return 7034; if (East && !North && !South && West) return 7037; if (East && !North && !South && !West) return 7038; if (!East && North && South && West) return 7041; if (!East && North && South && !West) return 7042; if (!East && North && !South && West) return 7045; if (!East && North && !South && !West) return 7046; if (!East && !North && South && West) return 7049; if (!East && !North && South && !West) return 7050; if (!East && !North && !South && West) return 7053; return 7054; } short LimeStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZP) return 14788; if (Facing == eBlockFace::BLOCK_FACE_XM) return 14789; return 14790; } short Loom(); eBlockFace Facing(short ID); } namespace MagentaBanner { constexpr short MagentaBanner(unsigned char Rotation) { 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; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1081; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1082; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1083; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1084; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1085; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1086; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1087; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1088; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1089; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1090; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1091; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1092; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1093; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1094; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1095; 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_ZM) return 9382; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9383; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9384; return 9385; } short MagentaGlazedTerracotta(); eBlockFace Facing(short ID); } namespace MagentaShulkerBox { constexpr short MagentaShulkerBox(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9290; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9291; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9292; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9293; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9294; return 9295; } 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 (East && North && South && West) return 6929; if (East && North && South && !West) return 6930; if (East && North && !South && West) return 6933; if (East && North && !South && !West) return 6934; if (East && !North && South && West) return 6937; if (East && !North && South && !West) return 6938; if (East && !North && !South && West) return 6941; if (East && !North && !South && !West) return 6942; if (!East && North && South && West) return 6945; if (!East && North && South && !West) return 6946; if (!East && North && !South && West) return 6949; if (!East && North && !South && !West) return 6950; if (!East && !North && South && West) return 6953; if (!East && !North && South && !West) return 6954; if (!East && !North && !South && West) return 6957; return 6958; } short MagentaStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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 == 0) return 4780; if (Age == 1) return 4781; if (Age == 2) return 4782; if (Age == 3) return 4783; if (Age == 4) return 4784; if (Age == 5) return 4785; if (Age == 6) return 4786; 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::Top) return 10814; if (Type == Type::Bottom) return 10816; return 10818; } short MossyCobblestoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 9990; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 9992; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 9994; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 9996; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 9998; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10000; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10002; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10004; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10006; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10008; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10010; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10012; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10014; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10016; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10018; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10020; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10022; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10024; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10026; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10028; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10030; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10032; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10034; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10036; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10038; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10040; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10042; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10044; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10046; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10048; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10050; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10052; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10054; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10056; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10058; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10060; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10062; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10064; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10066; return 10068; } short MossyCobblestoneStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 5984; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 5985; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 5986; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 5990; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 5991; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 5992; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 5996; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 5997; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 5998; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 6002; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 6003; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 6004; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 6008; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 6009; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 6010; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 6014; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 6015; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 6016; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 6020; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 6021; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 6022; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 6026; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 6027; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 6028; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 6032; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 6033; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 6034; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 6038; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 6039; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 6040; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 6044; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 6045; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 6046; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 6050; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 6051; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 6052; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 6056; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 6057; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 6058; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 6062; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 6063; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 6064; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 6068; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 6069; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 6070; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 6074; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 6075; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 6076; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 6080; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 6081; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 6082; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 6086; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 6087; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 6088; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 6092; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 6093; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 6094; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 6098; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 6099; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 6100; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 6104; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 6105; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 6106; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 6110; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 6111; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 6112; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 6116; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 6117; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 6118; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 6122; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 6123; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 6124; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 6128; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 6129; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 6130; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 6134; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 6135; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 6136; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 6140; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 6141; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 6142; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 6146; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 6147; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 6148; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 6152; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 6153; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 6154; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 6158; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 6159; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 6160; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 6164; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 6165; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 6166; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 6170; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 6171; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 6172; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 6176; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 6177; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 6178; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 6182; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 6183; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 6184; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 6188; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 6189; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 6190; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 6194; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 6195; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 6196; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 6200; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 6201; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 6202; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 6206; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 6207; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 6208; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 6212; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 6213; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 6214; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 6218; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 6219; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 6220; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 6224; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 6225; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 6226; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 6230; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 6231; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 6232; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 6236; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 6237; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 6238; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 6242; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 6243; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 6244; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 6248; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 6249; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 6250; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 6254; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 6255; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 6256; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 6260; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 6261; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 6262; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 6266; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 6267; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 6268; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 6272; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 6273; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 6274; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 6278; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 6279; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 6280; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 6284; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 6285; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 6286; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 6290; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 6291; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 6292; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 6296; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 6297; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 6298; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 6302; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 6303; return 6304; } short MossyCobblestoneWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(short ID); enum West West(short ID); } namespace MossyStoneBrickSlab { enum class Type { Top, Bottom, Double }; constexpr short MossyStoneBrickSlab(enum Type Type) { if (Type == Type::Top) return 10802; if (Type == Type::Bottom) return 10804; return 10806; } short MossyStoneBrickSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 9830; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 9832; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 9834; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 9836; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 9838; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 9840; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9842; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9844; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9846; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9848; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 9850; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 9852; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 9854; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 9856; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 9858; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 9860; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9862; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9864; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9866; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 9868; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 9870; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 9872; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 9874; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 9876; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 9878; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 9880; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9882; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9884; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9886; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9888; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 9890; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 9892; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 9894; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 9896; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 9898; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 9900; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9902; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9904; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9906; return 9908; } short MossyStoneBrickStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 11842; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 11843; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 11844; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 11848; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 11849; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 11850; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 11854; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 11855; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 11856; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 11860; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 11861; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 11862; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 11866; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 11867; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 11868; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 11872; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 11873; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11874; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 11878; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 11879; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 11880; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 11884; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 11885; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 11886; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 11890; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 11891; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 11892; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 11896; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 11897; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 11898; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 11902; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 11903; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 11904; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 11908; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 11909; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 11910; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 11914; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 11915; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 11916; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 11920; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 11921; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 11922; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 11926; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 11927; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 11928; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 11932; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 11933; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 11934; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 11938; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 11939; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 11940; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 11944; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 11945; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 11946; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 11950; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 11951; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 11952; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 11956; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 11957; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 11958; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 11962; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 11963; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 11964; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 11968; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 11969; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 11970; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 11974; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 11975; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 11976; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 11980; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 11981; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11982; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 11986; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 11987; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 11988; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 11992; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 11993; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 11994; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 11998; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 11999; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 12000; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 12004; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 12005; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12006; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 12010; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 12011; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12012; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 12016; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12017; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12018; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 12022; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 12023; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 12024; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 12028; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 12029; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 12030; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 12034; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 12035; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 12036; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 12040; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 12041; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 12042; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 12046; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 12047; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 12048; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 12052; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 12053; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 12054; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 12058; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 12059; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 12060; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 12064; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 12065; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 12066; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 12070; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 12071; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 12072; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 12076; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 12077; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 12078; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 12082; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 12083; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 12084; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 12088; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 12089; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 12090; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 12094; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 12095; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 12096; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 12100; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 12101; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 12102; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 12106; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 12107; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 12108; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 12112; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 12113; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12114; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 12118; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 12119; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12120; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 12124; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12125; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12126; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 12130; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 12131; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 12132; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 12136; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 12137; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 12138; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 12142; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 12143; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 12144; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 12148; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 12149; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 12150; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 12154; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 12155; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 12156; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 12160; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 12161; return 12162; } short MossyStoneBrickWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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_ZM && Type == Type::Normal) return 1400; if (Facing == eBlockFace::BLOCK_FACE_ZM && Type == Type::Sticky) return 1401; if (Facing == eBlockFace::BLOCK_FACE_XP && Type == Type::Normal) return 1402; if (Facing == eBlockFace::BLOCK_FACE_XP && Type == Type::Sticky) return 1403; if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Normal) return 1404; if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Sticky) return 1405; if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Normal) return 1406; if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Sticky) return 1407; if (Facing == eBlockFace::BLOCK_FACE_YP && Type == Type::Normal) return 1408; if (Facing == eBlockFace::BLOCK_FACE_YP && Type == Type::Sticky) return 1409; if (Facing == eBlockFace::BLOCK_FACE_YM && Type == Type::Normal) return 1410; return 1411; } 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 (Down && East && North && South && Up && West) return 4633; if (Down && East && North && South && Up && !West) return 4634; if (Down && East && North && South && !Up && West) return 4635; if (Down && East && North && South && !Up && !West) return 4636; if (Down && East && North && !South && Up && West) return 4637; if (Down && East && North && !South && Up && !West) return 4638; if (Down && East && North && !South && !Up && West) return 4639; if (Down && East && North && !South && !Up && !West) return 4640; if (Down && East && !North && South && Up && West) return 4641; if (Down && East && !North && South && Up && !West) return 4642; if (Down && East && !North && South && !Up && West) return 4643; if (Down && East && !North && South && !Up && !West) return 4644; if (Down && East && !North && !South && Up && West) return 4645; if (Down && East && !North && !South && Up && !West) return 4646; if (Down && East && !North && !South && !Up && West) return 4647; if (Down && East && !North && !South && !Up && !West) return 4648; if (Down && !East && North && South && Up && West) return 4649; if (Down && !East && North && South && Up && !West) return 4650; if (Down && !East && North && South && !Up && West) return 4651; if (Down && !East && North && South && !Up && !West) return 4652; if (Down && !East && North && !South && Up && West) return 4653; if (Down && !East && North && !South && Up && !West) return 4654; if (Down && !East && North && !South && !Up && West) return 4655; if (Down && !East && North && !South && !Up && !West) return 4656; if (Down && !East && !North && South && Up && West) return 4657; if (Down && !East && !North && South && Up && !West) return 4658; if (Down && !East && !North && South && !Up && West) return 4659; if (Down && !East && !North && South && !Up && !West) return 4660; if (Down && !East && !North && !South && Up && West) return 4661; if (Down && !East && !North && !South && Up && !West) return 4662; if (Down && !East && !North && !South && !Up && West) return 4663; if (Down && !East && !North && !South && !Up && !West) return 4664; if (!Down && East && North && South && Up && West) return 4665; if (!Down && East && North && South && Up && !West) return 4666; if (!Down && East && North && South && !Up && West) return 4667; if (!Down && East && North && South && !Up && !West) return 4668; if (!Down && East && North && !South && Up && West) return 4669; if (!Down && East && North && !South && Up && !West) return 4670; if (!Down && East && North && !South && !Up && West) return 4671; if (!Down && East && North && !South && !Up && !West) return 4672; if (!Down && East && !North && South && Up && West) return 4673; if (!Down && East && !North && South && Up && !West) return 4674; if (!Down && East && !North && South && !Up && West) return 4675; if (!Down && East && !North && South && !Up && !West) return 4676; if (!Down && East && !North && !South && Up && West) return 4677; if (!Down && East && !North && !South && Up && !West) return 4678; if (!Down && East && !North && !South && !Up && West) return 4679; if (!Down && East && !North && !South && !Up && !West) return 4680; if (!Down && !East && North && South && Up && West) return 4681; if (!Down && !East && North && South && Up && !West) return 4682; if (!Down && !East && North && South && !Up && West) return 4683; if (!Down && !East && North && South && !Up && !West) return 4684; if (!Down && !East && North && !South && Up && West) return 4685; if (!Down && !East && North && !South && Up && !West) return 4686; if (!Down && !East && North && !South && !Up && West) return 4687; if (!Down && !East && North && !South && !Up && !West) return 4688; if (!Down && !East && !North && South && Up && West) return 4689; if (!Down && !East && !North && South && Up && !West) return 4690; if (!Down && !East && !North && South && !Up && West) return 4691; if (!Down && !East && !North && South && !Up && !West) return 4692; if (!Down && !East && !North && !South && Up && West) return 4693; if (!Down && !East && !North && !South && Up && !West) return 4694; if (!Down && !East && !North && !South && !Up && West) return 4695; 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 (East && North && South && West) return 5018; if (East && North && South && !West) return 5019; if (East && North && !South && West) return 5022; if (East && North && !South && !West) return 5023; if (East && !North && South && West) return 5026; if (East && !North && South && !West) return 5027; if (East && !North && !South && West) return 5030; if (East && !North && !South && !West) return 5031; if (!East && North && South && West) return 5034; if (!East && North && South && !West) return 5035; if (!East && North && !South && West) return 5038; if (!East && North && !South && !West) return 5039; if (!East && !North && South && West) return 5042; if (!East && !North && South && !West) return 5043; if (!East && !North && !South && West) return 5046; return 5047; } short NetherBrickFence(); bool East(short ID); bool North(short ID); bool South(short ID); bool West(short ID); } namespace NetherBrickSlab { enum class Type { Top, Bottom, Double }; constexpr short NetherBrickSlab(enum Type Type) { if (Type == Type::Top) return 8385; if (Type == Type::Bottom) return 8387; return 8389; } short NetherBrickSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 5049; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 5051; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 5053; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 5055; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 5057; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 5059; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5061; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5063; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5065; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5067; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 5069; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 5071; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 5073; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 5075; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 5077; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 5079; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5081; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5083; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5085; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 5087; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 5089; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 5091; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 5093; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 5095; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 5097; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 5099; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5101; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5103; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5105; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5107; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 5109; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 5111; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 5113; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 5115; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 5117; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 5119; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5121; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5123; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5125; return 5127; } short NetherBrickStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 12814; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 12815; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 12816; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 12820; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 12821; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 12822; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 12826; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 12827; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 12828; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 12832; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 12833; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 12834; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 12838; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 12839; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 12840; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 12844; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 12845; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 12846; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 12850; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 12851; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 12852; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 12856; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 12857; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 12858; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 12862; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 12863; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 12864; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 12868; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 12869; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12870; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 12874; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 12875; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12876; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 12880; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12881; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12882; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 12886; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 12887; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 12888; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 12892; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 12893; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 12894; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 12898; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 12899; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 12900; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 12904; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 12905; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 12906; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 12910; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 12911; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 12912; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 12916; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 12917; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 12918; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 12922; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 12923; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 12924; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 12928; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 12929; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 12930; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 12934; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 12935; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 12936; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 12940; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 12941; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 12942; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 12946; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 12947; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 12948; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 12952; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 12953; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 12954; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 12958; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 12959; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 12960; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 12964; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 12965; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 12966; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 12970; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 12971; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 12972; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 12976; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 12977; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12978; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 12982; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 12983; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12984; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 12988; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12989; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12990; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 12994; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 12995; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 12996; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 13000; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 13001; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13002; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 13006; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 13007; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13008; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 13012; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13013; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13014; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 13018; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13019; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13020; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13024; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13025; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 13026; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 13030; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 13031; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 13032; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 13036; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 13037; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 13038; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 13042; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 13043; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 13044; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 13048; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 13049; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 13050; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 13054; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 13055; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 13056; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 13060; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 13061; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 13062; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 13066; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 13067; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 13068; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 13072; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 13073; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 13074; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 13078; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 13079; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 13080; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 13084; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 13085; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 13086; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 13090; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 13091; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 13092; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 13096; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 13097; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 13098; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 13102; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 13103; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 13104; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 13108; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 13109; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13110; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 13114; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 13115; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13116; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 13120; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13121; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13122; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 13126; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13127; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13128; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13132; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13133; return 13134; } short NetherBrickWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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 == 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; if (Instrument == Instrument::Pling && Note == 22 && !Powered) return 1044; 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; return 1048; } 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 && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6346; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6347; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6348; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6349; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6350; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6351; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6352; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6353; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6354; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6355; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6356; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6357; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6358; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6359; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6360; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6361; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6362; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6363; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6364; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6365; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6366; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6367; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6368; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 3573; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 3574; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 3575; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 3576; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 3577; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 3578; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 3579; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 3580; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 3581; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 3582; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 3583; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 3584; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 3585; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 3586; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 3587; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 3588; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 3589; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 3590; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 3591; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 3592; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 3593; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 3594; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 3595; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 3596; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 3597; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 3598; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 3599; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 3600; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 3601; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 3602; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 3603; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 3604; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 3605; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 3606; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 3607; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 3608; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 3609; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 3610; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 3611; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 3612; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 3613; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 3614; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 3615; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 3616; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 3617; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 3618; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 3619; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 3620; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 3621; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 3622; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 3623; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 3624; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 3625; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 3626; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 3627; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 3628; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 3629; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 3630; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 3631; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 3632; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 3633; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 3634; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 3635; 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 (East && North && South && West) return 3968; if (East && North && South && !West) return 3969; if (East && North && !South && West) return 3972; if (East && North && !South && !West) return 3973; if (East && !North && South && West) return 3976; if (East && !North && South && !West) return 3977; if (East && !North && !South && West) return 3980; if (East && !North && !South && !West) return 3981; if (!East && North && South && West) return 3984; if (!East && North && South && !West) return 3985; if (!East && North && !South && West) return 3988; if (!East && North && !South && !West) return 3989; if (!East && !North && South && West) return 3992; if (!East && !North && South && !West) return 3993; if (!East && !North && !South && West) return 3996; return 3997; } short OakFence(); bool East(short ID); bool North(short ID); bool South(short ID); bool West(short ID); } namespace OakFenceGate { constexpr short OakFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && Powered) return 4820; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && !Powered) return 4821; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && Powered) return 4822; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && !Powered) return 4823; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && Powered) return 4824; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && !Powered) return 4825; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && Powered) return 4826; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && !Powered) return 4827; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && Powered) return 4828; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && !Powered) return 4829; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && Powered) return 4830; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && !Powered) return 4831; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && Powered) return 4832; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && !Powered) return 4833; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && Powered) return 4834; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && !Powered) return 4835; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && Powered) return 4836; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && !Powered) return 4837; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && Powered) return 4838; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && !Powered) return 4839; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && Powered) return 4840; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && !Powered) return 4841; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && Powered) return 4842; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && !Powered) return 4843; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && Powered) return 4844; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && !Powered) return 4845; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && Powered) return 4846; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && !Powered) return 4847; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && Powered) return 4848; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && !Powered) return 4849; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && !Open && Powered) 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 (Distance == 1 && Persistent) return 145; if (Distance == 1 && !Persistent) return 146; if (Distance == 2 && Persistent) return 147; if (Distance == 2 && !Persistent) return 148; if (Distance == 3 && Persistent) return 149; if (Distance == 3 && !Persistent) return 150; if (Distance == 4 && Persistent) return 151; if (Distance == 4 && !Persistent) return 152; if (Distance == 5 && Persistent) return 153; if (Distance == 5 && !Persistent) return 154; if (Distance == 6 && Persistent) return 155; if (Distance == 6 && !Persistent) return 156; if (Distance == 7 && Persistent) return 157; return 158; } 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 == 0) return 3382; if (Rotation == 1) return 3384; if (Rotation == 2) return 3386; if (Rotation == 3) return 3388; if (Rotation == 4) return 3390; if (Rotation == 5) return 3392; if (Rotation == 6) return 3394; if (Rotation == 7) return 3396; if (Rotation == 8) return 3398; if (Rotation == 9) return 3400; if (Rotation == 10) return 3402; if (Rotation == 11) return 3404; if (Rotation == 12) return 3406; if (Rotation == 13) return 3408; if (Rotation == 14) return 3410; return 3412; } short OakSign(); unsigned char Rotation(short ID); } namespace OakSlab { enum class Type { Top, Bottom, Double }; constexpr short OakSlab(enum Type Type) { if (Type == Type::Top) return 8301; if (Type == Type::Bottom) return 8303; return 8305; } short OakSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 1955; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 1957; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 1959; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 1961; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 1963; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 1965; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 1967; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 1969; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 1971; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 1973; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 1975; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 1977; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 1979; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 1981; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 1983; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 1985; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 1987; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 1989; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 1991; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 1993; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 1995; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 1997; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 1999; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 2001; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 2003; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 2005; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 2007; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 2009; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 2011; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 2013; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 2015; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 2017; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 2019; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 2021; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 2023; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 2025; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 2027; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 2029; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 2031; return 2033; } short OakStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace OakTrapdoor { enum class Half { Top, Bottom }; constexpr short OakTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && Powered) return 4112; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && !Powered) return 4114; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && Powered) return 4116; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && !Powered) return 4118; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && Powered) return 4120; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && !Powered) return 4122; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && Powered) return 4124; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && !Powered) return 4126; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && Powered) return 4128; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && !Powered) return 4130; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && Powered) return 4132; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && !Powered) return 4134; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && Powered) return 4136; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && !Powered) return 4138; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && Powered) return 4140; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && !Powered) return 4142; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && Powered) return 4144; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && !Powered) return 4146; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && Powered) return 4148; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && !Powered) return 4150; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && Powered) return 4152; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && !Powered) return 4154; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && Powered) return 4156; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && !Powered) return 4158; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && Powered) return 4160; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && !Powered) return 4162; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && Powered) return 4164; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && !Powered) return 4166; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && Powered) return 4168; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && !Powered) return 4170; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && !Open && Powered) return 4172; return 4174; } short OakTrapdoor(); eBlockFace Facing(short ID); enum Half Half(short ID); bool Open(short ID); bool Powered(short ID); } namespace OakWallSign { constexpr short OakWallSign(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3736; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3738; if (Facing == eBlockFace::BLOCK_FACE_XM) return 3740; return 3742; } short OakWallSign(); eBlockFace Facing(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_ZM && Powered) return 9260; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 9261; if (Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 9262; if (Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 9263; if (Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 9264; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 9265; if (Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 9266; if (Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 9267; if (Facing == eBlockFace::BLOCK_FACE_YP && Powered) return 9268; if (Facing == eBlockFace::BLOCK_FACE_YP && !Powered) return 9269; if (Facing == eBlockFace::BLOCK_FACE_YM && Powered) return 9270; return 9271; } 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 == 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; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1065; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1066; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1067; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1068; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1069; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1070; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1071; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1072; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1073; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1074; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1075; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1076; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1077; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1078; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1079; 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_ZP) return 9379; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9380; 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_XP) return 9285; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9286; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9287; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9288; return 9289; } 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 (East && North && South && West) return 6897; if (East && North && South && !West) return 6898; if (East && North && !South && West) return 6901; if (East && North && !South && !West) return 6902; if (East && !North && South && West) return 6905; if (East && !North && South && !West) return 6906; if (East && !North && !South && West) return 6909; if (East && !North && !South && !West) return 6910; if (!East && North && South && West) return 6913; if (!East && North && South && !West) return 6914; if (!East && North && !South && West) return 6917; if (!East && North && !South && !West) return 6918; if (!East && !North && South && West) return 6921; if (!East && !North && South && !West) return 6922; if (!East && !North && !South && West) return 6925; return 6926; } short OrangeStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8157; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8158; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8159; 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) return 8361; if (Type == Type::Bottom) return 8363; return 8365; } short PetrifiedOakSlab(); enum Type Type(short ID); } namespace PinkBanner { constexpr short PinkBanner(unsigned char Rotation) { if (Rotation == 0) return 7993; if (Rotation == 1) return 7994; if (Rotation == 2) return 7995; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1145; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1146; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1147; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1148; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1149; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1150; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1151; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1152; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1153; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1154; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1155; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1156; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1157; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1158; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1159; 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_ZM) return 9398; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9399; 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_ZM) return 9314; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9315; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9316; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9317; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9318; return 9319; } 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 (East && North && South && West) return 7057; if (East && North && South && !West) return 7058; if (East && North && !South && West) return 7061; if (East && North && !South && !West) return 7062; if (East && !North && South && West) return 7065; if (East && !North && South && !West) return 7066; if (East && !North && !South && West) return 7069; if (East && !North && !South && !West) return 7070; if (!East && North && South && West) return 7073; if (!East && North && South && !West) return 7074; if (!East && North && !South && West) return 7077; if (!East && North && !South && !West) return 7078; if (!East && !North && South && West) return 7081; if (!East && !North && South && !West) return 7082; if (!East && !North && !South && West) return 7085; return 7086; } short PinkStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8177; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8178; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8179; 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_ZM) return 1348; if (Extended && Facing == eBlockFace::BLOCK_FACE_XP) return 1349; if (Extended && Facing == eBlockFace::BLOCK_FACE_ZP) return 1350; if (Extended && Facing == eBlockFace::BLOCK_FACE_XM) return 1351; if (Extended && Facing == eBlockFace::BLOCK_FACE_YP) return 1352; if (Extended && Facing == eBlockFace::BLOCK_FACE_YM) return 1353; if (!Extended && Facing == eBlockFace::BLOCK_FACE_ZM) return 1354; if (!Extended && Facing == eBlockFace::BLOCK_FACE_XP) return 1355; if (!Extended && Facing == eBlockFace::BLOCK_FACE_ZP) return 1356; if (!Extended && Facing == eBlockFace::BLOCK_FACE_XM) return 1357; if (!Extended && Facing == eBlockFace::BLOCK_FACE_YP) return 1358; return 1359; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Short && Type == Type::Normal) return 1360; if (Facing == eBlockFace::BLOCK_FACE_ZM && Short && Type == Type::Sticky) return 1361; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Short && Type == Type::Normal) return 1362; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Short && Type == Type::Sticky) return 1363; if (Facing == eBlockFace::BLOCK_FACE_XP && Short && Type == Type::Normal) return 1364; if (Facing == eBlockFace::BLOCK_FACE_XP && Short && Type == Type::Sticky) return 1365; if (Facing == eBlockFace::BLOCK_FACE_XP && !Short && Type == Type::Normal) return 1366; if (Facing == eBlockFace::BLOCK_FACE_XP && !Short && Type == Type::Sticky) return 1367; if (Facing == eBlockFace::BLOCK_FACE_ZP && Short && Type == Type::Normal) return 1368; if (Facing == eBlockFace::BLOCK_FACE_ZP && Short && Type == Type::Sticky) return 1369; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Short && Type == Type::Normal) return 1370; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Short && Type == Type::Sticky) return 1371; if (Facing == eBlockFace::BLOCK_FACE_XM && Short && Type == Type::Normal) return 1372; if (Facing == eBlockFace::BLOCK_FACE_XM && Short && Type == Type::Sticky) return 1373; if (Facing == eBlockFace::BLOCK_FACE_XM && !Short && Type == Type::Normal) return 1374; if (Facing == eBlockFace::BLOCK_FACE_XM && !Short && Type == Type::Sticky) return 1375; if (Facing == eBlockFace::BLOCK_FACE_YP && Short && Type == Type::Normal) return 1376; if (Facing == eBlockFace::BLOCK_FACE_YP && Short && Type == Type::Sticky) return 1377; if (Facing == eBlockFace::BLOCK_FACE_YP && !Short && Type == Type::Normal) return 1378; if (Facing == eBlockFace::BLOCK_FACE_YP && !Short && Type == Type::Sticky) return 1379; if (Facing == eBlockFace::BLOCK_FACE_YM && Short && Type == Type::Normal) return 1380; if (Facing == eBlockFace::BLOCK_FACE_YM && Short && Type == Type::Sticky) return 1381; if (Facing == eBlockFace::BLOCK_FACE_YM && !Short && Type == Type::Normal) 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 == 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; 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; return 6565; } short PlayerHead(); unsigned char Rotation(short ID); } namespace PlayerWallHead { constexpr short PlayerWallHead(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6566; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6567; if (Facing == eBlockFace::BLOCK_FACE_XM) return 6568; 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::Top) return 10856; if (Type == Type::Bottom) return 10858; return 10860; } short PolishedAndesiteSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 10630; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 10632; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 10634; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 10636; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 10638; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10640; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10642; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10644; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10646; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10648; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10650; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10652; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10654; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10656; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10658; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10660; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10662; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10664; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10666; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10668; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10670; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10672; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10674; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10676; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10678; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10680; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10682; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10684; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10686; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10688; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10690; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10692; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10694; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10696; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10698; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10700; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10702; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10704; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10706; return 10708; } short PolishedAndesiteStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace PolishedBasalt { enum class Axis { X, Y, Z }; constexpr short PolishedBasalt(enum Axis Axis) { if (Axis == Axis::X) return 4005; if (Axis == Axis::Y) return 4006; 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::Top) return 16255; if (Type == Type::Bottom) return 16257; return 16259; } short PolishedBlackstoneBrickSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 16261; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 16263; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 16265; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 16267; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 16269; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 16271; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 16273; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 16275; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 16277; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 16279; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 16281; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 16283; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 16285; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 16287; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 16289; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 16291; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 16293; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 16295; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 16297; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 16299; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 16301; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 16303; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 16305; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 16307; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 16309; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 16311; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 16313; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 16315; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 16317; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 16319; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 16321; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 16323; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 16325; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 16327; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 16329; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 16331; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 16333; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 16335; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 16337; return 16339; } short PolishedBlackstoneBrickStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 16343; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 16344; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 16345; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 16349; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 16350; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 16351; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 16355; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 16356; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 16357; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 16361; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 16362; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 16363; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 16367; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 16368; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 16369; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 16373; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 16374; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 16375; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 16379; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 16380; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 16381; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 16385; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 16386; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 16387; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 16391; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 16392; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 16393; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 16397; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 16398; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 16399; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 16403; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 16404; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 16405; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 16409; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 16410; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 16411; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 16415; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 16416; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 16417; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 16421; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 16422; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 16423; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 16427; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 16428; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 16429; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 16433; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 16434; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 16435; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 16439; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 16440; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 16441; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 16445; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 16446; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 16447; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 16451; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 16452; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 16453; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 16457; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 16458; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 16459; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 16463; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 16464; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 16465; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 16469; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 16470; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 16471; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 16475; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 16476; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 16477; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 16481; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 16482; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 16483; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 16487; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 16488; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 16489; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 16493; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 16494; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 16495; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 16499; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 16500; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 16501; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 16505; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 16506; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 16507; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 16511; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 16512; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 16513; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 16517; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 16518; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 16519; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 16523; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 16524; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 16525; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 16529; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 16530; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 16531; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 16535; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 16536; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 16537; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 16541; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 16542; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 16543; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 16547; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 16548; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 16549; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 16553; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 16554; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 16555; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 16559; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 16560; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 16561; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 16565; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 16566; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 16567; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 16571; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 16572; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 16573; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 16577; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 16578; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 16579; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 16583; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 16584; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 16585; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 16589; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 16590; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 16591; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 16595; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 16596; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 16597; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 16601; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 16602; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 16603; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 16607; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 16608; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 16609; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 16613; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 16614; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 16615; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 16619; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 16620; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 16621; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 16625; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 16626; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 16627; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 16631; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 16632; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 16633; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 16637; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 16638; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 16639; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 16643; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 16644; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 16645; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 16649; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 16650; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 16651; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 16655; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 16656; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 16657; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 16661; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 16662; return 16663; } short PolishedBlackstoneBrickWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 16753; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 16754; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 16755; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 16756; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 16757; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 16758; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 16759; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 16760; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 16761; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 16762; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 16763; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 16764; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 16765; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 16766; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 16767; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 16768; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 16769; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 16770; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 16771; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 16772; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 16773; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 16774; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 16775; return 16776; } 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) return 16746; if (Type == Type::Bottom) return 16748; return 16750; } short PolishedBlackstoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 16666; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 16668; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 16670; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 16672; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 16674; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 16676; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 16678; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 16680; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 16682; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 16684; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 16686; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 16688; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 16690; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 16692; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 16694; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 16696; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 16698; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 16700; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 16702; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 16704; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 16706; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 16708; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 16710; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 16712; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 16714; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 16716; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 16718; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 16720; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 16722; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 16724; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 16726; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 16728; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 16730; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 16732; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 16734; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 16736; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 16738; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 16740; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 16742; return 16744; } short PolishedBlackstoneStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 16780; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 16781; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 16782; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 16786; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 16787; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 16788; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 16792; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 16793; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 16794; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 16798; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 16799; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 16800; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 16804; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 16805; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 16806; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 16810; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 16811; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 16812; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 16816; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 16817; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 16818; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 16822; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 16823; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 16824; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 16828; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 16829; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 16830; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 16834; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 16835; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 16836; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 16840; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 16841; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 16842; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 16846; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 16847; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 16848; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 16852; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 16853; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 16854; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 16858; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 16859; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 16860; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 16864; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 16865; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 16866; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 16870; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 16871; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 16872; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 16876; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 16877; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 16878; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 16882; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 16883; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 16884; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 16888; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 16889; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 16890; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 16894; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 16895; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 16896; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 16900; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 16901; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 16902; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 16906; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 16907; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 16908; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 16912; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 16913; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 16914; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 16918; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 16919; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 16920; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 16924; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 16925; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 16926; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 16930; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 16931; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 16932; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 16936; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 16937; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 16938; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 16942; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 16943; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 16944; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 16948; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 16949; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 16950; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 16954; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 16955; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 16956; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 16960; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 16961; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 16962; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 16966; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 16967; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 16968; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 16972; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 16973; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 16974; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 16978; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 16979; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 16980; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 16984; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 16985; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 16986; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 16990; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 16991; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 16992; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 16996; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 16997; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 16998; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 17002; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 17003; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 17004; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 17008; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 17009; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 17010; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 17014; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 17015; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 17016; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 17020; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 17021; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 17022; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 17026; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 17027; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 17028; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 17032; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 17033; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 17034; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 17038; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 17039; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 17040; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 17044; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 17045; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 17046; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 17050; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 17051; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 17052; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 17056; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 17057; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 17058; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 17062; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 17063; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 17064; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 17068; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 17069; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 17070; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 17074; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 17075; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 17076; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 17080; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 17081; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 17082; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 17086; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 17087; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 17088; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 17092; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 17093; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 17094; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 17098; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 17099; return 17100; } short PolishedBlackstoneWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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::Top) return 10808; if (Type == Type::Bottom) return 10810; return 10812; } short PolishedDioriteSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 9910; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 9912; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 9914; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 9916; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 9918; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 9920; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9922; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9924; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9926; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9928; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 9930; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 9932; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 9934; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 9936; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 9938; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 9940; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9942; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9944; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9946; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 9948; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 9950; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 9952; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 9954; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 9956; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 9958; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 9960; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9962; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9964; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9966; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9968; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 9970; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 9972; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 9974; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 9976; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 9978; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 9980; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9982; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9984; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9986; return 9988; } short PolishedDioriteStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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) return 10790; if (Type == Type::Bottom) return 10792; return 10794; } short PolishedGraniteSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 9670; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 9672; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 9674; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 9676; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 9678; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 9680; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9682; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9684; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9686; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9688; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 9690; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 9692; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 9694; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 9696; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 9698; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 9700; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9702; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9704; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9706; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 9708; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 9710; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 9712; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 9714; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 9716; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 9718; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 9720; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9722; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9724; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9726; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9728; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 9730; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 9732; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 9734; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 9736; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 9738; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 9740; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9742; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9744; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9746; return 9748; } short PolishedGraniteStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace Poppy { constexpr short Poppy() { return 1413; } } namespace Potatoes { constexpr short Potatoes(unsigned char Age) { if (Age == 0) return 6338; if (Age == 1) return 6339; if (Age == 2) return 6340; if (Age == 3) return 6341; if (Age == 4) return 6342; if (Age == 5) return 6343; if (Age == 6) return 6344; 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 (Powered && Shape == Shape::NorthSouth) return 1305; if (Powered && Shape == Shape::EastWest) return 1306; if (Powered && Shape == Shape::AscendingEast) return 1307; if (Powered && Shape == Shape::AscendingWest) return 1308; if (Powered && Shape == Shape::AscendingNorth) return 1309; if (Powered && Shape == Shape::AscendingSouth) return 1310; if (!Powered && Shape == Shape::NorthSouth) return 1311; if (!Powered && Shape == Shape::EastWest) return 1312; if (!Powered && Shape == Shape::AscendingEast) return 1313; if (!Powered && Shape == Shape::AscendingWest) return 1314; if (!Powered && Shape == Shape::AscendingNorth) return 1315; return 1316; } 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) return 7851; if (Type == Type::Bottom) return 7853; return 7855; } short PrismarineBrickSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 7685; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 7687; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 7689; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 7691; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 7693; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 7695; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7697; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7699; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7701; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7703; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 7705; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 7707; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 7709; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 7711; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 7713; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 7715; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7717; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7719; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7721; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 7723; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 7725; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 7727; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 7729; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 7731; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 7733; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 7735; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7737; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7739; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7741; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7743; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 7745; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 7747; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 7749; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 7751; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 7753; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 7755; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7757; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7759; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7761; return 7763; } short PrismarineBrickStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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::Top) return 7845; if (Type == Type::Bottom) return 7847; return 7849; } short PrismarineSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 7605; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 7607; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 7609; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 7611; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 7613; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 7615; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7617; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7619; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7621; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7623; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 7625; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 7627; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 7629; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 7631; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 7633; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 7635; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7637; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7639; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7641; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 7643; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 7645; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 7647; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 7649; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 7651; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 7653; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 7655; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7657; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 7659; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7661; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 7663; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 7665; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 7667; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 7669; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 7671; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 7673; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 7675; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 7677; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 7679; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 7681; return 7683; } short PrismarineStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 11194; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 11195; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 11196; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 11200; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 11201; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 11202; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 11206; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 11207; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 11208; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 11212; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 11213; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 11214; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 11218; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 11219; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 11220; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 11224; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 11225; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11226; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 11230; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 11231; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 11232; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 11236; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 11237; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 11238; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 11242; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 11243; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 11244; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 11248; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 11249; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 11250; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 11254; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 11255; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 11256; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 11260; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 11261; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 11262; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 11266; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 11267; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 11268; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 11272; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 11273; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 11274; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 11278; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 11279; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 11280; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 11284; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 11285; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 11286; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 11290; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 11291; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 11292; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 11296; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 11297; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 11298; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 11302; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 11303; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 11304; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 11308; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 11309; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 11310; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 11314; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 11315; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 11316; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 11320; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 11321; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 11322; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 11326; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 11327; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 11328; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 11332; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 11333; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11334; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 11338; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 11339; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 11340; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 11344; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 11345; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 11346; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 11350; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 11351; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 11352; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 11356; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 11357; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 11358; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 11362; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 11363; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 11364; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 11368; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 11369; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 11370; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 11374; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 11375; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 11376; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 11380; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 11381; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 11382; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 11386; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 11387; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 11388; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 11392; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 11393; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 11394; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 11398; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 11399; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 11400; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 11404; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 11405; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 11406; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 11410; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 11411; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 11412; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 11416; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 11417; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 11418; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 11422; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 11423; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 11424; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 11428; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 11429; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 11430; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 11434; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 11435; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 11436; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 11440; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 11441; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11442; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 11446; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 11447; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 11448; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 11452; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 11453; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 11454; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 11458; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 11459; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 11460; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 11464; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 11465; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 11466; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 11470; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 11471; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 11472; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 11476; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 11477; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 11478; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 11482; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 11483; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 11484; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 11488; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 11489; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 11490; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 11494; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 11495; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 11496; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 11500; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 11501; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 11502; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 11506; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 11507; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 11508; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 11512; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 11513; return 11514; } short PrismarineWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(short ID); enum West West(short ID); } namespace Pumpkin { constexpr short Pumpkin() { return 3998; } } namespace PumpkinStem { constexpr short PumpkinStem(unsigned char Age) { if (Age == 0) return 4772; if (Age == 1) return 4773; if (Age == 2) return 4774; if (Age == 3) return 4775; if (Age == 4) return 4776; if (Age == 5) return 4777; if (Age == 6) return 4778; return 4779; } short PumpkinStem(); unsigned char Age(short ID); } namespace PurpleBanner { constexpr short PurpleBanner(unsigned char Rotation) { 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; if (Rotation == 14) return 8071; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1209; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1210; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1211; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1212; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1213; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1214; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1215; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1216; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1217; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1218; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1219; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1220; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1221; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1222; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) 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_ZP) return 9415; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9416; return 9417; } short PurpleGlazedTerracotta(); eBlockFace Facing(short ID); } namespace PurpleShulkerBox { constexpr short PurpleShulkerBox(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9338; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9339; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9340; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9341; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9342; 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 (East && North && South && West) return 7185; if (East && North && South && !West) return 7186; if (East && North && !South && West) return 7189; if (East && North && !South && !West) return 7190; if (East && !North && South && West) return 7193; if (East && !North && South && !West) return 7194; if (East && !North && !South && West) return 7197; if (East && !North && !South && !West) return 7198; if (!East && North && South && West) return 7201; if (!East && North && South && !West) return 7202; if (!East && North && !South && West) return 7205; if (!East && North && !South && !West) return 7206; if (!East && !North && South && West) return 7209; if (!East && !North && South && !West) return 7210; if (!East && !North && !South && West) return 7213; return 7214; } short PurpleStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZP) return 8194; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8195; 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::Y) return 9136; return 9137; } 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) return 8409; if (Type == Type::Bottom) return 8411; return 8413; } short PurpurSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 9139; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 9141; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 9143; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 9145; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 9147; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 9149; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9151; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9153; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9155; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9157; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 9159; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 9161; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 9163; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 9165; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 9167; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 9169; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9171; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9173; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9175; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 9177; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 9179; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 9181; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 9183; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 9185; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 9187; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 9189; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9191; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9193; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9195; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9197; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 9199; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 9201; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 9203; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 9205; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 9207; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 9209; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9211; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9213; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9215; return 9217; } short PurpurStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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::X) return 6740; if (Axis == Axis::Y) return 6741; return 6742; } short QuartzPillar(); enum Axis Axis(short ID); } namespace QuartzSlab { enum class Type { Top, Bottom, Double }; constexpr short QuartzSlab(enum Type Type) { if (Type == Type::Top) return 8391; if (Type == Type::Bottom) return 8393; return 8395; } short QuartzSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 6744; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 6746; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 6748; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 6750; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 6752; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 6754; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 6756; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 6758; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 6760; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 6762; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 6764; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 6766; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 6768; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 6770; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 6772; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 6774; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 6776; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 6778; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 6780; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 6782; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 6784; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 6786; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 6788; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 6790; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 6792; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 6794; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 6796; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 6798; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 6800; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 6802; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 6804; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 6806; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 6808; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 6810; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 6812; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 6814; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 6816; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 6818; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 6820; return 6822; } short QuartzStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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::NorthSouth) return 3645; if (Shape == Shape::EastWest) return 3646; 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::NorthWest) return 3653; return 3654; } short Rail(); enum Shape Shape(short ID); } namespace RedBanner { constexpr short RedBanner(unsigned char Rotation) { 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; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1273; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1274; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1275; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1276; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1277; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1278; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1279; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1280; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1281; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1282; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1283; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1284; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1285; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1286; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1287; 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_ZM) return 9430; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9431; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9432; 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 (Down && East && North && South && Up && West) return 4569; if (Down && East && North && South && Up && !West) return 4570; if (Down && East && North && South && !Up && West) return 4571; if (Down && East && North && South && !Up && !West) return 4572; if (Down && East && North && !South && Up && West) return 4573; if (Down && East && North && !South && Up && !West) return 4574; if (Down && East && North && !South && !Up && West) return 4575; if (Down && East && North && !South && !Up && !West) return 4576; if (Down && East && !North && South && Up && West) return 4577; if (Down && East && !North && South && Up && !West) return 4578; if (Down && East && !North && South && !Up && West) return 4579; if (Down && East && !North && South && !Up && !West) return 4580; if (Down && East && !North && !South && Up && West) return 4581; if (Down && East && !North && !South && Up && !West) return 4582; if (Down && East && !North && !South && !Up && West) return 4583; if (Down && East && !North && !South && !Up && !West) return 4584; if (Down && !East && North && South && Up && West) return 4585; if (Down && !East && North && South && Up && !West) return 4586; if (Down && !East && North && South && !Up && West) return 4587; if (Down && !East && North && South && !Up && !West) return 4588; if (Down && !East && North && !South && Up && West) return 4589; if (Down && !East && North && !South && Up && !West) return 4590; if (Down && !East && North && !South && !Up && West) return 4591; if (Down && !East && North && !South && !Up && !West) return 4592; if (Down && !East && !North && South && Up && West) return 4593; if (Down && !East && !North && South && Up && !West) return 4594; if (Down && !East && !North && South && !Up && West) return 4595; if (Down && !East && !North && South && !Up && !West) return 4596; if (Down && !East && !North && !South && Up && West) return 4597; if (Down && !East && !North && !South && Up && !West) return 4598; if (Down && !East && !North && !South && !Up && West) return 4599; if (Down && !East && !North && !South && !Up && !West) return 4600; if (!Down && East && North && South && Up && West) return 4601; if (!Down && East && North && South && Up && !West) return 4602; if (!Down && East && North && South && !Up && West) return 4603; if (!Down && East && North && South && !Up && !West) return 4604; if (!Down && East && North && !South && Up && West) return 4605; if (!Down && East && North && !South && Up && !West) return 4606; if (!Down && East && North && !South && !Up && West) return 4607; if (!Down && East && North && !South && !Up && !West) return 4608; if (!Down && East && !North && South && Up && West) return 4609; if (!Down && East && !North && South && Up && !West) return 4610; if (!Down && East && !North && South && !Up && West) return 4611; if (!Down && East && !North && South && !Up && !West) return 4612; if (!Down && East && !North && !South && Up && West) return 4613; if (!Down && East && !North && !South && Up && !West) return 4614; if (!Down && East && !North && !South && !Up && West) return 4615; if (!Down && East && !North && !South && !Up && !West) return 4616; if (!Down && !East && North && South && Up && West) return 4617; if (!Down && !East && North && South && Up && !West) return 4618; if (!Down && !East && North && South && !Up && West) return 4619; if (!Down && !East && North && South && !Up && !West) return 4620; if (!Down && !East && North && !South && Up && West) return 4621; if (!Down && !East && North && !South && Up && !West) return 4622; if (!Down && !East && North && !South && !Up && West) return 4623; if (!Down && !East && North && !South && !Up && !West) return 4624; if (!Down && !East && !North && South && Up && West) return 4625; if (!Down && !East && !North && South && Up && !West) return 4626; if (!Down && !East && !North && South && !Up && West) return 4627; if (!Down && !East && !North && South && !Up && !West) return 4628; if (!Down && !East && !North && !South && Up && West) return 4629; if (!Down && !East && !North && !South && Up && !West) return 4630; if (!Down && !East && !North && !South && !Up && West) return 4631; 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::Top) return 10850; if (Type == Type::Bottom) return 10852; return 10854; } short RedNetherBrickSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 10550; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 10552; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 10554; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 10556; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 10558; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10560; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10562; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10564; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10566; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10568; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10570; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10572; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10574; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10576; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10578; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10580; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10582; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10584; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10586; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10588; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10590; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10592; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10594; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10596; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10598; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10600; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10602; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10604; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10606; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10608; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10610; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10612; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10614; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10616; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10618; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10620; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10622; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10624; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10626; return 10628; } short RedNetherBrickStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 13462; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 13463; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 13464; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 13468; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 13469; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 13470; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 13474; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 13475; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 13476; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 13480; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 13481; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 13482; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 13486; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 13487; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 13488; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 13492; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 13493; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 13494; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 13498; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 13499; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 13500; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 13504; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 13505; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 13506; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 13510; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 13511; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 13512; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 13516; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 13517; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 13518; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 13522; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 13523; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 13524; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 13528; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 13529; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 13530; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 13534; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 13535; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 13536; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 13540; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 13541; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13542; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 13546; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 13547; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13548; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 13552; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13553; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13554; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 13558; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13559; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13560; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13564; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13565; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 13566; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 13570; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 13571; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 13572; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 13576; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 13577; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 13578; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 13582; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 13583; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 13584; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 13588; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 13589; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 13590; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 13594; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 13595; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 13596; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 13600; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 13601; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 13602; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 13606; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 13607; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 13608; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 13612; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 13613; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 13614; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 13618; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 13619; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 13620; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 13624; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 13625; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 13626; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 13630; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 13631; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 13632; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 13636; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 13637; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 13638; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 13642; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 13643; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 13644; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 13648; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 13649; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13650; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 13654; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 13655; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13656; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 13660; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13661; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13662; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 13666; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13667; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13668; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13672; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13673; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 13674; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 13678; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 13679; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 13680; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 13684; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 13685; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 13686; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 13690; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 13691; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 13692; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 13696; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 13697; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 13698; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 13702; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 13703; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 13704; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 13708; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 13709; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 13710; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 13714; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 13715; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 13716; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 13720; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 13721; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 13722; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 13726; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 13727; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 13728; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 13732; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 13733; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 13734; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 13738; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 13739; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 13740; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 13744; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 13745; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 13746; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 13750; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 13751; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 13752; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 13756; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 13757; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13758; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 13762; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 13763; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13764; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 13768; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13769; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13770; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 13774; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13775; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13776; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13780; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13781; return 13782; } short RedNetherBrickWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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::Top) return 8397; if (Type == Type::Bottom) return 8399; return 8401; } short RedSandstoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 8221; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 8223; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 8225; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 8227; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 8229; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 8231; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 8233; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 8235; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 8237; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 8239; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 8241; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 8243; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 8245; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 8247; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 8249; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 8251; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 8253; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 8255; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 8257; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 8259; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 8261; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 8263; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 8265; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 8267; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 8269; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 8271; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 8273; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 8275; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 8277; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 8279; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 8281; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 8283; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 8285; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 8287; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 8289; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 8291; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 8293; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 8295; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 8297; return 8299; } short RedSandstoneStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 11518; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 11519; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 11520; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 11524; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 11525; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 11526; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 11530; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 11531; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 11532; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 11536; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 11537; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 11538; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 11542; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 11543; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 11544; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 11548; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 11549; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11550; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 11554; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 11555; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 11556; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 11560; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 11561; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 11562; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 11566; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 11567; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 11568; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 11572; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 11573; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 11574; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 11578; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 11579; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 11580; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 11584; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 11585; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 11586; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 11590; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 11591; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 11592; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 11596; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 11597; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 11598; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 11602; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 11603; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 11604; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 11608; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 11609; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 11610; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 11614; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 11615; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 11616; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 11620; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 11621; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 11622; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 11626; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 11627; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 11628; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 11632; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 11633; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 11634; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 11638; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 11639; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 11640; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 11644; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 11645; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 11646; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 11650; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 11651; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 11652; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 11656; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 11657; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11658; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 11662; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 11663; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 11664; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 11668; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 11669; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 11670; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 11674; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 11675; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 11676; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 11680; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 11681; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 11682; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 11686; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 11687; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 11688; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 11692; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 11693; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 11694; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 11698; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 11699; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 11700; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 11704; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 11705; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 11706; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 11710; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 11711; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 11712; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 11716; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 11717; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 11718; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 11722; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 11723; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 11724; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 11728; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 11729; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 11730; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 11734; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 11735; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 11736; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 11740; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 11741; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 11742; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 11746; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 11747; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 11748; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 11752; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 11753; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 11754; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 11758; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 11759; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 11760; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 11764; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 11765; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 11766; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 11770; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 11771; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 11772; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 11776; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 11777; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 11778; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 11782; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 11783; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 11784; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 11788; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 11789; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 11790; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 11794; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 11795; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 11796; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 11800; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 11801; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 11802; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 11806; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 11807; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 11808; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 11812; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 11813; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 11814; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 11818; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 11819; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 11820; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 11824; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 11825; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 11826; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 11830; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 11831; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 11832; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 11836; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 11837; return 11838; } short RedSandstoneWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(short ID); enum West West(short ID); } namespace RedShulkerBox { constexpr short RedShulkerBox(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9362; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9363; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9364; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9365; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9366; return 9367; } 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 (East && North && South && West) return 7313; if (East && North && South && !West) return 7314; if (East && North && !South && West) return 7317; if (East && North && !South && !West) return 7318; if (East && !North && South && West) return 7321; if (East && !North && South && !West) return 7322; if (East && !North && !South && West) return 7325; if (East && !North && !South && !West) return 7326; if (!East && North && South && West) return 7329; if (!East && North && South && !West) return 7330; if (!East && North && !South && West) return 7333; if (!East && North && !South && !West) return 7334; if (!East && !North && South && West) return 7337; if (!East && !North && South && !West) return 7338; if (!East && !North && !South && West) return 7341; return 7342; } short RedStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8209; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8210; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8211; 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 3889; 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; 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 (East == East::Up && North == North::Up && Power == 0 && South == South::Up && West == West::Up) return 2058; if (East == East::Up && North == North::Up && Power == 0 && South == South::Up && West == West::Side) return 2059; if (East == East::Up && North == North::Up && Power == 0 && South == South::Up && West == West::None) return 2060; if (East == East::Up && North == North::Up && Power == 0 && South == South::Side && West == West::Up) return 2061; if (East == East::Up && North == North::Up && Power == 0 && South == South::Side && West == West::Side) return 2062; if (East == East::Up && North == North::Up && Power == 0 && South == South::Side && West == West::None) return 2063; if (East == East::Up && North == North::Up && Power == 0 && South == South::None && West == West::Up) return 2064; if (East == East::Up && North == North::Up && Power == 0 && South == South::None && West == West::Side) return 2065; if (East == East::Up && North == North::Up && Power == 0 && South == South::None && West == West::None) return 2066; if (East == East::Up && North == North::Up && Power == 1 && South == South::Up && West == West::Up) return 2067; if (East == East::Up && North == North::Up && Power == 1 && South == South::Up && West == West::Side) return 2068; if (East == East::Up && North == North::Up && Power == 1 && South == South::Up && West == West::None) return 2069; if (East == East::Up && North == North::Up && Power == 1 && South == South::Side && West == West::Up) return 2070; if (East == East::Up && North == North::Up && Power == 1 && South == South::Side && West == West::Side) return 2071; if (East == East::Up && North == North::Up && Power == 1 && South == South::Side && West == West::None) return 2072; if (East == East::Up && North == North::Up && Power == 1 && South == South::None && West == West::Up) return 2073; if (East == East::Up && North == North::Up && Power == 1 && South == South::None && West == West::Side) return 2074; if (East == East::Up && North == North::Up && Power == 1 && South == South::None && West == West::None) return 2075; if (East == East::Up && North == North::Up && Power == 2 && South == South::Up && West == West::Up) return 2076; if (East == East::Up && North == North::Up && Power == 2 && South == South::Up && West == West::Side) return 2077; if (East == East::Up && North == North::Up && Power == 2 && South == South::Up && West == West::None) return 2078; if (East == East::Up && North == North::Up && Power == 2 && South == South::Side && West == West::Up) return 2079; if (East == East::Up && North == North::Up && Power == 2 && South == South::Side && West == West::Side) return 2080; if (East == East::Up && North == North::Up && Power == 2 && South == South::Side && West == West::None) return 2081; if (East == East::Up && North == North::Up && Power == 2 && South == South::None && West == West::Up) return 2082; if (East == East::Up && North == North::Up && Power == 2 && South == South::None && West == West::Side) return 2083; if (East == East::Up && North == North::Up && Power == 2 && South == South::None && West == West::None) return 2084; if (East == East::Up && North == North::Up && Power == 3 && South == South::Up && West == West::Up) return 2085; if (East == East::Up && North == North::Up && Power == 3 && South == South::Up && West == West::Side) return 2086; if (East == East::Up && North == North::Up && Power == 3 && South == South::Up && West == West::None) return 2087; if (East == East::Up && North == North::Up && Power == 3 && South == South::Side && West == West::Up) return 2088; if (East == East::Up && North == North::Up && Power == 3 && South == South::Side && West == West::Side) return 2089; if (East == East::Up && North == North::Up && Power == 3 && South == South::Side && West == West::None) return 2090; if (East == East::Up && North == North::Up && Power == 3 && South == South::None && West == West::Up) return 2091; if (East == East::Up && North == North::Up && Power == 3 && South == South::None && West == West::Side) return 2092; if (East == East::Up && North == North::Up && Power == 3 && South == South::None && West == West::None) return 2093; if (East == East::Up && North == North::Up && Power == 4 && South == South::Up && West == West::Up) return 2094; if (East == East::Up && North == North::Up && Power == 4 && South == South::Up && West == West::Side) return 2095; if (East == East::Up && North == North::Up && Power == 4 && South == South::Up && West == West::None) return 2096; if (East == East::Up && North == North::Up && Power == 4 && South == South::Side && West == West::Up) return 2097; if (East == East::Up && North == North::Up && Power == 4 && South == South::Side && West == West::Side) return 2098; if (East == East::Up && North == North::Up && Power == 4 && South == South::Side && West == West::None) return 2099; if (East == East::Up && North == North::Up && Power == 4 && South == South::None && West == West::Up) return 2100; if (East == East::Up && North == North::Up && Power == 4 && South == South::None && West == West::Side) return 2101; if (East == East::Up && North == North::Up && Power == 4 && South == South::None && West == West::None) return 2102; if (East == East::Up && North == North::Up && Power == 5 && South == South::Up && West == West::Up) return 2103; if (East == East::Up && North == North::Up && Power == 5 && South == South::Up && West == West::Side) return 2104; if (East == East::Up && North == North::Up && Power == 5 && South == South::Up && West == West::None) return 2105; if (East == East::Up && North == North::Up && Power == 5 && South == South::Side && West == West::Up) return 2106; if (East == East::Up && North == North::Up && Power == 5 && South == South::Side && West == West::Side) return 2107; if (East == East::Up && North == North::Up && Power == 5 && South == South::Side && West == West::None) return 2108; if (East == East::Up && North == North::Up && Power == 5 && South == South::None && West == West::Up) return 2109; if (East == East::Up && North == North::Up && Power == 5 && South == South::None && West == West::Side) return 2110; if (East == East::Up && North == North::Up && Power == 5 && South == South::None && West == West::None) return 2111; if (East == East::Up && North == North::Up && Power == 6 && South == South::Up && West == West::Up) return 2112; if (East == East::Up && North == North::Up && Power == 6 && South == South::Up && West == West::Side) return 2113; if (East == East::Up && North == North::Up && Power == 6 && South == South::Up && West == West::None) return 2114; if (East == East::Up && North == North::Up && Power == 6 && South == South::Side && West == West::Up) return 2115; if (East == East::Up && North == North::Up && Power == 6 && South == South::Side && West == West::Side) return 2116; if (East == East::Up && North == North::Up && Power == 6 && South == South::Side && West == West::None) return 2117; if (East == East::Up && North == North::Up && Power == 6 && South == South::None && West == West::Up) return 2118; if (East == East::Up && North == North::Up && Power == 6 && South == South::None && West == West::Side) return 2119; if (East == East::Up && North == North::Up && Power == 6 && South == South::None && West == West::None) return 2120; if (East == East::Up && North == North::Up && Power == 7 && South == South::Up && West == West::Up) return 2121; if (East == East::Up && North == North::Up && Power == 7 && South == South::Up && West == West::Side) return 2122; if (East == East::Up && North == North::Up && Power == 7 && South == South::Up && West == West::None) return 2123; if (East == East::Up && North == North::Up && Power == 7 && South == South::Side && West == West::Up) return 2124; if (East == East::Up && North == North::Up && Power == 7 && South == South::Side && West == West::Side) return 2125; if (East == East::Up && North == North::Up && Power == 7 && South == South::Side && West == West::None) return 2126; if (East == East::Up && North == North::Up && Power == 7 && South == South::None && West == West::Up) return 2127; if (East == East::Up && North == North::Up && Power == 7 && South == South::None && West == West::Side) return 2128; if (East == East::Up && North == North::Up && Power == 7 && South == South::None && West == West::None) return 2129; if (East == East::Up && North == North::Up && Power == 8 && South == South::Up && West == West::Up) return 2130; if (East == East::Up && North == North::Up && Power == 8 && South == South::Up && West == West::Side) return 2131; if (East == East::Up && North == North::Up && Power == 8 && South == South::Up && West == West::None) return 2132; if (East == East::Up && North == North::Up && Power == 8 && South == South::Side && West == West::Up) return 2133; if (East == East::Up && North == North::Up && Power == 8 && South == South::Side && West == West::Side) return 2134; if (East == East::Up && North == North::Up && Power == 8 && South == South::Side && West == West::None) return 2135; if (East == East::Up && North == North::Up && Power == 8 && South == South::None && West == West::Up) return 2136; if (East == East::Up && North == North::Up && Power == 8 && South == South::None && West == West::Side) return 2137; if (East == East::Up && North == North::Up && Power == 8 && South == South::None && West == West::None) return 2138; if (East == East::Up && North == North::Up && Power == 9 && South == South::Up && West == West::Up) return 2139; if (East == East::Up && North == North::Up && Power == 9 && South == South::Up && West == West::Side) return 2140; if (East == East::Up && North == North::Up && Power == 9 && South == South::Up && West == West::None) return 2141; if (East == East::Up && North == North::Up && Power == 9 && South == South::Side && West == West::Up) return 2142; if (East == East::Up && North == North::Up && Power == 9 && South == South::Side && West == West::Side) return 2143; if (East == East::Up && North == North::Up && Power == 9 && South == South::Side && West == West::None) return 2144; if (East == East::Up && North == North::Up && Power == 9 && South == South::None && West == West::Up) return 2145; if (East == East::Up && North == North::Up && Power == 9 && South == South::None && West == West::Side) return 2146; if (East == East::Up && North == North::Up && Power == 9 && South == South::None && West == West::None) return 2147; if (East == East::Up && North == North::Up && Power == 10 && South == South::Up && West == West::Up) return 2148; if (East == East::Up && North == North::Up && Power == 10 && South == South::Up && West == West::Side) return 2149; if (East == East::Up && North == North::Up && Power == 10 && South == South::Up && West == West::None) return 2150; if (East == East::Up && North == North::Up && Power == 10 && South == South::Side && West == West::Up) return 2151; if (East == East::Up && North == North::Up && Power == 10 && South == South::Side && West == West::Side) return 2152; if (East == East::Up && North == North::Up && Power == 10 && South == South::Side && West == West::None) return 2153; if (East == East::Up && North == North::Up && Power == 10 && South == South::None && West == West::Up) return 2154; if (East == East::Up && North == North::Up && Power == 10 && South == South::None && West == West::Side) return 2155; if (East == East::Up && North == North::Up && Power == 10 && South == South::None && West == West::None) return 2156; if (East == East::Up && North == North::Up && Power == 11 && South == South::Up && West == West::Up) return 2157; if (East == East::Up && North == North::Up && Power == 11 && South == South::Up && West == West::Side) return 2158; if (East == East::Up && North == North::Up && Power == 11 && South == South::Up && West == West::None) return 2159; if (East == East::Up && North == North::Up && Power == 11 && South == South::Side && West == West::Up) return 2160; if (East == East::Up && North == North::Up && Power == 11 && South == South::Side && West == West::Side) return 2161; if (East == East::Up && North == North::Up && Power == 11 && South == South::Side && West == West::None) return 2162; if (East == East::Up && North == North::Up && Power == 11 && South == South::None && West == West::Up) return 2163; if (East == East::Up && North == North::Up && Power == 11 && South == South::None && West == West::Side) return 2164; if (East == East::Up && North == North::Up && Power == 11 && South == South::None && West == West::None) return 2165; if (East == East::Up && North == North::Up && Power == 12 && South == South::Up && West == West::Up) return 2166; if (East == East::Up && North == North::Up && Power == 12 && South == South::Up && West == West::Side) return 2167; if (East == East::Up && North == North::Up && Power == 12 && South == South::Up && West == West::None) return 2168; if (East == East::Up && North == North::Up && Power == 12 && South == South::Side && West == West::Up) return 2169; if (East == East::Up && North == North::Up && Power == 12 && South == South::Side && West == West::Side) return 2170; if (East == East::Up && North == North::Up && Power == 12 && South == South::Side && West == West::None) return 2171; if (East == East::Up && North == North::Up && Power == 12 && South == South::None && West == West::Up) return 2172; if (East == East::Up && North == North::Up && Power == 12 && South == South::None && West == West::Side) return 2173; if (East == East::Up && North == North::Up && Power == 12 && South == South::None && West == West::None) return 2174; if (East == East::Up && North == North::Up && Power == 13 && South == South::Up && West == West::Up) return 2175; if (East == East::Up && North == North::Up && Power == 13 && South == South::Up && West == West::Side) return 2176; if (East == East::Up && North == North::Up && Power == 13 && South == South::Up && West == West::None) return 2177; if (East == East::Up && North == North::Up && Power == 13 && South == South::Side && West == West::Up) return 2178; if (East == East::Up && North == North::Up && Power == 13 && South == South::Side && West == West::Side) return 2179; if (East == East::Up && North == North::Up && Power == 13 && South == South::Side && West == West::None) return 2180; if (East == East::Up && North == North::Up && Power == 13 && South == South::None && West == West::Up) return 2181; if (East == East::Up && North == North::Up && Power == 13 && South == South::None && West == West::Side) return 2182; if (East == East::Up && North == North::Up && Power == 13 && South == South::None && West == West::None) return 2183; if (East == East::Up && North == North::Up && Power == 14 && South == South::Up && West == West::Up) return 2184; if (East == East::Up && North == North::Up && Power == 14 && South == South::Up && West == West::Side) return 2185; if (East == East::Up && North == North::Up && Power == 14 && South == South::Up && West == West::None) return 2186; if (East == East::Up && North == North::Up && Power == 14 && South == South::Side && West == West::Up) return 2187; if (East == East::Up && North == North::Up && Power == 14 && South == South::Side && West == West::Side) return 2188; if (East == East::Up && North == North::Up && Power == 14 && South == South::Side && West == West::None) return 2189; if (East == East::Up && North == North::Up && Power == 14 && South == South::None && West == West::Up) return 2190; if (East == East::Up && North == North::Up && Power == 14 && South == South::None && West == West::Side) return 2191; if (East == East::Up && North == North::Up && Power == 14 && South == South::None && West == West::None) return 2192; if (East == East::Up && North == North::Up && Power == 15 && South == South::Up && West == West::Up) return 2193; if (East == East::Up && North == North::Up && Power == 15 && South == South::Up && West == West::Side) return 2194; if (East == East::Up && North == North::Up && Power == 15 && South == South::Up && West == West::None) return 2195; if (East == East::Up && North == North::Up && Power == 15 && South == South::Side && West == West::Up) return 2196; if (East == East::Up && North == North::Up && Power == 15 && South == South::Side && West == West::Side) return 2197; if (East == East::Up && North == North::Up && Power == 15 && South == South::Side && West == West::None) return 2198; if (East == East::Up && North == North::Up && Power == 15 && South == South::None && West == West::Up) return 2199; if (East == East::Up && North == North::Up && Power == 15 && South == South::None && West == West::Side) return 2200; if (East == East::Up && North == North::Up && Power == 15 && South == South::None && West == West::None) return 2201; if (East == East::Up && North == North::Side && Power == 0 && South == South::Up && West == West::Up) return 2202; if (East == East::Up && North == North::Side && Power == 0 && South == South::Up && West == West::Side) return 2203; if (East == East::Up && North == North::Side && Power == 0 && South == South::Up && West == West::None) return 2204; if (East == East::Up && North == North::Side && Power == 0 && South == South::Side && West == West::Up) return 2205; if (East == East::Up && North == North::Side && Power == 0 && South == South::Side && West == West::Side) return 2206; if (East == East::Up && North == North::Side && Power == 0 && South == South::Side && West == West::None) return 2207; if (East == East::Up && North == North::Side && Power == 0 && South == South::None && West == West::Up) return 2208; if (East == East::Up && North == North::Side && Power == 0 && South == South::None && West == West::Side) return 2209; if (East == East::Up && North == North::Side && Power == 0 && South == South::None && West == West::None) return 2210; if (East == East::Up && North == North::Side && Power == 1 && South == South::Up && West == West::Up) return 2211; if (East == East::Up && North == North::Side && Power == 1 && South == South::Up && West == West::Side) return 2212; if (East == East::Up && North == North::Side && Power == 1 && South == South::Up && West == West::None) return 2213; if (East == East::Up && North == North::Side && Power == 1 && South == South::Side && West == West::Up) return 2214; if (East == East::Up && North == North::Side && Power == 1 && South == South::Side && West == West::Side) return 2215; if (East == East::Up && North == North::Side && Power == 1 && South == South::Side && West == West::None) return 2216; if (East == East::Up && North == North::Side && Power == 1 && South == South::None && West == West::Up) return 2217; if (East == East::Up && North == North::Side && Power == 1 && South == South::None && West == West::Side) return 2218; if (East == East::Up && North == North::Side && Power == 1 && South == South::None && West == West::None) return 2219; if (East == East::Up && North == North::Side && Power == 2 && South == South::Up && West == West::Up) return 2220; if (East == East::Up && North == North::Side && Power == 2 && South == South::Up && West == West::Side) return 2221; if (East == East::Up && North == North::Side && Power == 2 && South == South::Up && West == West::None) return 2222; if (East == East::Up && North == North::Side && Power == 2 && South == South::Side && West == West::Up) return 2223; if (East == East::Up && North == North::Side && Power == 2 && South == South::Side && West == West::Side) return 2224; if (East == East::Up && North == North::Side && Power == 2 && South == South::Side && West == West::None) return 2225; if (East == East::Up && North == North::Side && Power == 2 && South == South::None && West == West::Up) return 2226; if (East == East::Up && North == North::Side && Power == 2 && South == South::None && West == West::Side) return 2227; if (East == East::Up && North == North::Side && Power == 2 && South == South::None && West == West::None) return 2228; if (East == East::Up && North == North::Side && Power == 3 && South == South::Up && West == West::Up) return 2229; if (East == East::Up && North == North::Side && Power == 3 && South == South::Up && West == West::Side) return 2230; if (East == East::Up && North == North::Side && Power == 3 && South == South::Up && West == West::None) return 2231; if (East == East::Up && North == North::Side && Power == 3 && South == South::Side && West == West::Up) return 2232; if (East == East::Up && North == North::Side && Power == 3 && South == South::Side && West == West::Side) return 2233; if (East == East::Up && North == North::Side && Power == 3 && South == South::Side && West == West::None) return 2234; if (East == East::Up && North == North::Side && Power == 3 && South == South::None && West == West::Up) return 2235; if (East == East::Up && North == North::Side && Power == 3 && South == South::None && West == West::Side) return 2236; if (East == East::Up && North == North::Side && Power == 3 && South == South::None && West == West::None) return 2237; if (East == East::Up && North == North::Side && Power == 4 && South == South::Up && West == West::Up) return 2238; if (East == East::Up && North == North::Side && Power == 4 && South == South::Up && West == West::Side) return 2239; if (East == East::Up && North == North::Side && Power == 4 && South == South::Up && West == West::None) return 2240; if (East == East::Up && North == North::Side && Power == 4 && South == South::Side && West == West::Up) return 2241; if (East == East::Up && North == North::Side && Power == 4 && South == South::Side && West == West::Side) return 2242; if (East == East::Up && North == North::Side && Power == 4 && South == South::Side && West == West::None) return 2243; if (East == East::Up && North == North::Side && Power == 4 && South == South::None && West == West::Up) return 2244; if (East == East::Up && North == North::Side && Power == 4 && South == South::None && West == West::Side) return 2245; if (East == East::Up && North == North::Side && Power == 4 && South == South::None && West == West::None) return 2246; if (East == East::Up && North == North::Side && Power == 5 && South == South::Up && West == West::Up) return 2247; if (East == East::Up && North == North::Side && Power == 5 && South == South::Up && West == West::Side) return 2248; if (East == East::Up && North == North::Side && Power == 5 && South == South::Up && West == West::None) return 2249; if (East == East::Up && North == North::Side && Power == 5 && South == South::Side && West == West::Up) return 2250; if (East == East::Up && North == North::Side && Power == 5 && South == South::Side && West == West::Side) return 2251; if (East == East::Up && North == North::Side && Power == 5 && South == South::Side && West == West::None) return 2252; if (East == East::Up && North == North::Side && Power == 5 && South == South::None && West == West::Up) return 2253; if (East == East::Up && North == North::Side && Power == 5 && South == South::None && West == West::Side) return 2254; if (East == East::Up && North == North::Side && Power == 5 && South == South::None && West == West::None) return 2255; if (East == East::Up && North == North::Side && Power == 6 && South == South::Up && West == West::Up) return 2256; if (East == East::Up && North == North::Side && Power == 6 && South == South::Up && West == West::Side) return 2257; if (East == East::Up && North == North::Side && Power == 6 && South == South::Up && West == West::None) return 2258; if (East == East::Up && North == North::Side && Power == 6 && South == South::Side && West == West::Up) return 2259; if (East == East::Up && North == North::Side && Power == 6 && South == South::Side && West == West::Side) return 2260; if (East == East::Up && North == North::Side && Power == 6 && South == South::Side && West == West::None) return 2261; if (East == East::Up && North == North::Side && Power == 6 && South == South::None && West == West::Up) return 2262; if (East == East::Up && North == North::Side && Power == 6 && South == South::None && West == West::Side) return 2263; if (East == East::Up && North == North::Side && Power == 6 && South == South::None && West == West::None) return 2264; if (East == East::Up && North == North::Side && Power == 7 && South == South::Up && West == West::Up) return 2265; if (East == East::Up && North == North::Side && Power == 7 && South == South::Up && West == West::Side) return 2266; if (East == East::Up && North == North::Side && Power == 7 && South == South::Up && West == West::None) return 2267; if (East == East::Up && North == North::Side && Power == 7 && South == South::Side && West == West::Up) return 2268; if (East == East::Up && North == North::Side && Power == 7 && South == South::Side && West == West::Side) return 2269; if (East == East::Up && North == North::Side && Power == 7 && South == South::Side && West == West::None) return 2270; if (East == East::Up && North == North::Side && Power == 7 && South == South::None && West == West::Up) return 2271; if (East == East::Up && North == North::Side && Power == 7 && South == South::None && West == West::Side) return 2272; if (East == East::Up && North == North::Side && Power == 7 && South == South::None && West == West::None) return 2273; if (East == East::Up && North == North::Side && Power == 8 && South == South::Up && West == West::Up) return 2274; if (East == East::Up && North == North::Side && Power == 8 && South == South::Up && West == West::Side) return 2275; if (East == East::Up && North == North::Side && Power == 8 && South == South::Up && West == West::None) return 2276; if (East == East::Up && North == North::Side && Power == 8 && South == South::Side && West == West::Up) return 2277; if (East == East::Up && North == North::Side && Power == 8 && South == South::Side && West == West::Side) return 2278; if (East == East::Up && North == North::Side && Power == 8 && South == South::Side && West == West::None) return 2279; if (East == East::Up && North == North::Side && Power == 8 && South == South::None && West == West::Up) return 2280; if (East == East::Up && North == North::Side && Power == 8 && South == South::None && West == West::Side) return 2281; if (East == East::Up && North == North::Side && Power == 8 && South == South::None && West == West::None) return 2282; if (East == East::Up && North == North::Side && Power == 9 && South == South::Up && West == West::Up) return 2283; if (East == East::Up && North == North::Side && Power == 9 && South == South::Up && West == West::Side) return 2284; if (East == East::Up && North == North::Side && Power == 9 && South == South::Up && West == West::None) return 2285; if (East == East::Up && North == North::Side && Power == 9 && South == South::Side && West == West::Up) return 2286; if (East == East::Up && North == North::Side && Power == 9 && South == South::Side && West == West::Side) return 2287; if (East == East::Up && North == North::Side && Power == 9 && South == South::Side && West == West::None) return 2288; if (East == East::Up && North == North::Side && Power == 9 && South == South::None && West == West::Up) return 2289; if (East == East::Up && North == North::Side && Power == 9 && South == South::None && West == West::Side) return 2290; if (East == East::Up && North == North::Side && Power == 9 && South == South::None && West == West::None) return 2291; if (East == East::Up && North == North::Side && Power == 10 && South == South::Up && West == West::Up) return 2292; if (East == East::Up && North == North::Side && Power == 10 && South == South::Up && West == West::Side) return 2293; if (East == East::Up && North == North::Side && Power == 10 && South == South::Up && West == West::None) return 2294; if (East == East::Up && North == North::Side && Power == 10 && South == South::Side && West == West::Up) return 2295; if (East == East::Up && North == North::Side && Power == 10 && South == South::Side && West == West::Side) return 2296; if (East == East::Up && North == North::Side && Power == 10 && South == South::Side && West == West::None) return 2297; if (East == East::Up && North == North::Side && Power == 10 && South == South::None && West == West::Up) return 2298; if (East == East::Up && North == North::Side && Power == 10 && South == South::None && West == West::Side) return 2299; if (East == East::Up && North == North::Side && Power == 10 && South == South::None && West == West::None) return 2300; if (East == East::Up && North == North::Side && Power == 11 && South == South::Up && West == West::Up) return 2301; if (East == East::Up && North == North::Side && Power == 11 && South == South::Up && West == West::Side) return 2302; if (East == East::Up && North == North::Side && Power == 11 && South == South::Up && West == West::None) return 2303; if (East == East::Up && North == North::Side && Power == 11 && South == South::Side && West == West::Up) return 2304; if (East == East::Up && North == North::Side && Power == 11 && South == South::Side && West == West::Side) return 2305; if (East == East::Up && North == North::Side && Power == 11 && South == South::Side && West == West::None) return 2306; if (East == East::Up && North == North::Side && Power == 11 && South == South::None && West == West::Up) return 2307; if (East == East::Up && North == North::Side && Power == 11 && South == South::None && West == West::Side) return 2308; if (East == East::Up && North == North::Side && Power == 11 && South == South::None && West == West::None) return 2309; if (East == East::Up && North == North::Side && Power == 12 && South == South::Up && West == West::Up) return 2310; if (East == East::Up && North == North::Side && Power == 12 && South == South::Up && West == West::Side) return 2311; if (East == East::Up && North == North::Side && Power == 12 && South == South::Up && West == West::None) return 2312; if (East == East::Up && North == North::Side && Power == 12 && South == South::Side && West == West::Up) return 2313; if (East == East::Up && North == North::Side && Power == 12 && South == South::Side && West == West::Side) return 2314; if (East == East::Up && North == North::Side && Power == 12 && South == South::Side && West == West::None) return 2315; if (East == East::Up && North == North::Side && Power == 12 && South == South::None && West == West::Up) return 2316; if (East == East::Up && North == North::Side && Power == 12 && South == South::None && West == West::Side) return 2317; if (East == East::Up && North == North::Side && Power == 12 && South == South::None && West == West::None) return 2318; if (East == East::Up && North == North::Side && Power == 13 && South == South::Up && West == West::Up) return 2319; if (East == East::Up && North == North::Side && Power == 13 && South == South::Up && West == West::Side) return 2320; if (East == East::Up && North == North::Side && Power == 13 && South == South::Up && West == West::None) return 2321; if (East == East::Up && North == North::Side && Power == 13 && South == South::Side && West == West::Up) return 2322; if (East == East::Up && North == North::Side && Power == 13 && South == South::Side && West == West::Side) return 2323; if (East == East::Up && North == North::Side && Power == 13 && South == South::Side && West == West::None) return 2324; if (East == East::Up && North == North::Side && Power == 13 && South == South::None && West == West::Up) return 2325; if (East == East::Up && North == North::Side && Power == 13 && South == South::None && West == West::Side) return 2326; if (East == East::Up && North == North::Side && Power == 13 && South == South::None && West == West::None) return 2327; if (East == East::Up && North == North::Side && Power == 14 && South == South::Up && West == West::Up) return 2328; if (East == East::Up && North == North::Side && Power == 14 && South == South::Up && West == West::Side) return 2329; if (East == East::Up && North == North::Side && Power == 14 && South == South::Up && West == West::None) return 2330; if (East == East::Up && North == North::Side && Power == 14 && South == South::Side && West == West::Up) return 2331; if (East == East::Up && North == North::Side && Power == 14 && South == South::Side && West == West::Side) return 2332; if (East == East::Up && North == North::Side && Power == 14 && South == South::Side && West == West::None) return 2333; if (East == East::Up && North == North::Side && Power == 14 && South == South::None && West == West::Up) return 2334; if (East == East::Up && North == North::Side && Power == 14 && South == South::None && West == West::Side) return 2335; if (East == East::Up && North == North::Side && Power == 14 && South == South::None && West == West::None) return 2336; if (East == East::Up && North == North::Side && Power == 15 && South == South::Up && West == West::Up) return 2337; if (East == East::Up && North == North::Side && Power == 15 && South == South::Up && West == West::Side) return 2338; if (East == East::Up && North == North::Side && Power == 15 && South == South::Up && West == West::None) return 2339; if (East == East::Up && North == North::Side && Power == 15 && South == South::Side && West == West::Up) return 2340; if (East == East::Up && North == North::Side && Power == 15 && South == South::Side && West == West::Side) return 2341; if (East == East::Up && North == North::Side && Power == 15 && South == South::Side && West == West::None) return 2342; if (East == East::Up && North == North::Side && Power == 15 && South == South::None && West == West::Up) return 2343; if (East == East::Up && North == North::Side && Power == 15 && South == South::None && West == West::Side) return 2344; if (East == East::Up && North == North::Side && Power == 15 && South == South::None && West == West::None) return 2345; if (East == East::Up && North == North::None && Power == 0 && South == South::Up && West == West::Up) return 2346; if (East == East::Up && North == North::None && Power == 0 && South == South::Up && West == West::Side) return 2347; if (East == East::Up && North == North::None && Power == 0 && South == South::Up && West == West::None) return 2348; if (East == East::Up && North == North::None && Power == 0 && South == South::Side && West == West::Up) return 2349; if (East == East::Up && North == North::None && Power == 0 && South == South::Side && West == West::Side) return 2350; if (East == East::Up && North == North::None && Power == 0 && South == South::Side && West == West::None) return 2351; if (East == East::Up && North == North::None && Power == 0 && South == South::None && West == West::Up) return 2352; if (East == East::Up && North == North::None && Power == 0 && South == South::None && West == West::Side) return 2353; if (East == East::Up && North == North::None && Power == 0 && South == South::None && West == West::None) return 2354; if (East == East::Up && North == North::None && Power == 1 && South == South::Up && West == West::Up) return 2355; if (East == East::Up && North == North::None && Power == 1 && South == South::Up && West == West::Side) return 2356; if (East == East::Up && North == North::None && Power == 1 && South == South::Up && West == West::None) return 2357; if (East == East::Up && North == North::None && Power == 1 && South == South::Side && West == West::Up) return 2358; if (East == East::Up && North == North::None && Power == 1 && South == South::Side && West == West::Side) return 2359; if (East == East::Up && North == North::None && Power == 1 && South == South::Side && West == West::None) return 2360; if (East == East::Up && North == North::None && Power == 1 && South == South::None && West == West::Up) return 2361; if (East == East::Up && North == North::None && Power == 1 && South == South::None && West == West::Side) return 2362; if (East == East::Up && North == North::None && Power == 1 && South == South::None && West == West::None) return 2363; if (East == East::Up && North == North::None && Power == 2 && South == South::Up && West == West::Up) return 2364; if (East == East::Up && North == North::None && Power == 2 && South == South::Up && West == West::Side) return 2365; if (East == East::Up && North == North::None && Power == 2 && South == South::Up && West == West::None) return 2366; if (East == East::Up && North == North::None && Power == 2 && South == South::Side && West == West::Up) return 2367; if (East == East::Up && North == North::None && Power == 2 && South == South::Side && West == West::Side) return 2368; if (East == East::Up && North == North::None && Power == 2 && South == South::Side && West == West::None) return 2369; if (East == East::Up && North == North::None && Power == 2 && South == South::None && West == West::Up) return 2370; if (East == East::Up && North == North::None && Power == 2 && South == South::None && West == West::Side) return 2371; if (East == East::Up && North == North::None && Power == 2 && South == South::None && West == West::None) return 2372; if (East == East::Up && North == North::None && Power == 3 && South == South::Up && West == West::Up) return 2373; if (East == East::Up && North == North::None && Power == 3 && South == South::Up && West == West::Side) return 2374; if (East == East::Up && North == North::None && Power == 3 && South == South::Up && West == West::None) return 2375; if (East == East::Up && North == North::None && Power == 3 && South == South::Side && West == West::Up) return 2376; if (East == East::Up && North == North::None && Power == 3 && South == South::Side && West == West::Side) return 2377; if (East == East::Up && North == North::None && Power == 3 && South == South::Side && West == West::None) return 2378; if (East == East::Up && North == North::None && Power == 3 && South == South::None && West == West::Up) return 2379; if (East == East::Up && North == North::None && Power == 3 && South == South::None && West == West::Side) return 2380; if (East == East::Up && North == North::None && Power == 3 && South == South::None && West == West::None) return 2381; if (East == East::Up && North == North::None && Power == 4 && South == South::Up && West == West::Up) return 2382; if (East == East::Up && North == North::None && Power == 4 && South == South::Up && West == West::Side) return 2383; if (East == East::Up && North == North::None && Power == 4 && South == South::Up && West == West::None) return 2384; if (East == East::Up && North == North::None && Power == 4 && South == South::Side && West == West::Up) return 2385; if (East == East::Up && North == North::None && Power == 4 && South == South::Side && West == West::Side) return 2386; if (East == East::Up && North == North::None && Power == 4 && South == South::Side && West == West::None) return 2387; if (East == East::Up && North == North::None && Power == 4 && South == South::None && West == West::Up) return 2388; if (East == East::Up && North == North::None && Power == 4 && South == South::None && West == West::Side) return 2389; if (East == East::Up && North == North::None && Power == 4 && South == South::None && West == West::None) return 2390; if (East == East::Up && North == North::None && Power == 5 && South == South::Up && West == West::Up) return 2391; if (East == East::Up && North == North::None && Power == 5 && South == South::Up && West == West::Side) return 2392; if (East == East::Up && North == North::None && Power == 5 && South == South::Up && West == West::None) return 2393; if (East == East::Up && North == North::None && Power == 5 && South == South::Side && West == West::Up) return 2394; if (East == East::Up && North == North::None && Power == 5 && South == South::Side && West == West::Side) return 2395; if (East == East::Up && North == North::None && Power == 5 && South == South::Side && West == West::None) return 2396; if (East == East::Up && North == North::None && Power == 5 && South == South::None && West == West::Up) return 2397; if (East == East::Up && North == North::None && Power == 5 && South == South::None && West == West::Side) return 2398; if (East == East::Up && North == North::None && Power == 5 && South == South::None && West == West::None) return 2399; if (East == East::Up && North == North::None && Power == 6 && South == South::Up && West == West::Up) return 2400; if (East == East::Up && North == North::None && Power == 6 && South == South::Up && West == West::Side) return 2401; if (East == East::Up && North == North::None && Power == 6 && South == South::Up && West == West::None) return 2402; if (East == East::Up && North == North::None && Power == 6 && South == South::Side && West == West::Up) return 2403; if (East == East::Up && North == North::None && Power == 6 && South == South::Side && West == West::Side) return 2404; if (East == East::Up && North == North::None && Power == 6 && South == South::Side && West == West::None) return 2405; if (East == East::Up && North == North::None && Power == 6 && South == South::None && West == West::Up) return 2406; if (East == East::Up && North == North::None && Power == 6 && South == South::None && West == West::Side) return 2407; if (East == East::Up && North == North::None && Power == 6 && South == South::None && West == West::None) return 2408; if (East == East::Up && North == North::None && Power == 7 && South == South::Up && West == West::Up) return 2409; if (East == East::Up && North == North::None && Power == 7 && South == South::Up && West == West::Side) return 2410; if (East == East::Up && North == North::None && Power == 7 && South == South::Up && West == West::None) return 2411; if (East == East::Up && North == North::None && Power == 7 && South == South::Side && West == West::Up) return 2412; if (East == East::Up && North == North::None && Power == 7 && South == South::Side && West == West::Side) return 2413; if (East == East::Up && North == North::None && Power == 7 && South == South::Side && West == West::None) return 2414; if (East == East::Up && North == North::None && Power == 7 && South == South::None && West == West::Up) return 2415; if (East == East::Up && North == North::None && Power == 7 && South == South::None && West == West::Side) return 2416; if (East == East::Up && North == North::None && Power == 7 && South == South::None && West == West::None) return 2417; if (East == East::Up && North == North::None && Power == 8 && South == South::Up && West == West::Up) return 2418; if (East == East::Up && North == North::None && Power == 8 && South == South::Up && West == West::Side) return 2419; if (East == East::Up && North == North::None && Power == 8 && South == South::Up && West == West::None) return 2420; if (East == East::Up && North == North::None && Power == 8 && South == South::Side && West == West::Up) return 2421; if (East == East::Up && North == North::None && Power == 8 && South == South::Side && West == West::Side) return 2422; if (East == East::Up && North == North::None && Power == 8 && South == South::Side && West == West::None) return 2423; if (East == East::Up && North == North::None && Power == 8 && South == South::None && West == West::Up) return 2424; if (East == East::Up && North == North::None && Power == 8 && South == South::None && West == West::Side) return 2425; if (East == East::Up && North == North::None && Power == 8 && South == South::None && West == West::None) return 2426; if (East == East::Up && North == North::None && Power == 9 && South == South::Up && West == West::Up) return 2427; if (East == East::Up && North == North::None && Power == 9 && South == South::Up && West == West::Side) return 2428; if (East == East::Up && North == North::None && Power == 9 && South == South::Up && West == West::None) return 2429; if (East == East::Up && North == North::None && Power == 9 && South == South::Side && West == West::Up) return 2430; if (East == East::Up && North == North::None && Power == 9 && South == South::Side && West == West::Side) return 2431; if (East == East::Up && North == North::None && Power == 9 && South == South::Side && West == West::None) return 2432; if (East == East::Up && North == North::None && Power == 9 && South == South::None && West == West::Up) return 2433; if (East == East::Up && North == North::None && Power == 9 && South == South::None && West == West::Side) return 2434; if (East == East::Up && North == North::None && Power == 9 && South == South::None && West == West::None) return 2435; if (East == East::Up && North == North::None && Power == 10 && South == South::Up && West == West::Up) return 2436; if (East == East::Up && North == North::None && Power == 10 && South == South::Up && West == West::Side) return 2437; if (East == East::Up && North == North::None && Power == 10 && South == South::Up && West == West::None) return 2438; if (East == East::Up && North == North::None && Power == 10 && South == South::Side && West == West::Up) return 2439; if (East == East::Up && North == North::None && Power == 10 && South == South::Side && West == West::Side) return 2440; if (East == East::Up && North == North::None && Power == 10 && South == South::Side && West == West::None) return 2441; if (East == East::Up && North == North::None && Power == 10 && South == South::None && West == West::Up) return 2442; if (East == East::Up && North == North::None && Power == 10 && South == South::None && West == West::Side) return 2443; if (East == East::Up && North == North::None && Power == 10 && South == South::None && West == West::None) return 2444; if (East == East::Up && North == North::None && Power == 11 && South == South::Up && West == West::Up) return 2445; if (East == East::Up && North == North::None && Power == 11 && South == South::Up && West == West::Side) return 2446; if (East == East::Up && North == North::None && Power == 11 && South == South::Up && West == West::None) return 2447; if (East == East::Up && North == North::None && Power == 11 && South == South::Side && West == West::Up) return 2448; if (East == East::Up && North == North::None && Power == 11 && South == South::Side && West == West::Side) return 2449; if (East == East::Up && North == North::None && Power == 11 && South == South::Side && West == West::None) return 2450; if (East == East::Up && North == North::None && Power == 11 && South == South::None && West == West::Up) return 2451; if (East == East::Up && North == North::None && Power == 11 && South == South::None && West == West::Side) return 2452; if (East == East::Up && North == North::None && Power == 11 && South == South::None && West == West::None) return 2453; if (East == East::Up && North == North::None && Power == 12 && South == South::Up && West == West::Up) return 2454; if (East == East::Up && North == North::None && Power == 12 && South == South::Up && West == West::Side) return 2455; if (East == East::Up && North == North::None && Power == 12 && South == South::Up && West == West::None) return 2456; if (East == East::Up && North == North::None && Power == 12 && South == South::Side && West == West::Up) return 2457; if (East == East::Up && North == North::None && Power == 12 && South == South::Side && West == West::Side) return 2458; if (East == East::Up && North == North::None && Power == 12 && South == South::Side && West == West::None) return 2459; if (East == East::Up && North == North::None && Power == 12 && South == South::None && West == West::Up) return 2460; if (East == East::Up && North == North::None && Power == 12 && South == South::None && West == West::Side) return 2461; if (East == East::Up && North == North::None && Power == 12 && South == South::None && West == West::None) return 2462; if (East == East::Up && North == North::None && Power == 13 && South == South::Up && West == West::Up) return 2463; if (East == East::Up && North == North::None && Power == 13 && South == South::Up && West == West::Side) return 2464; if (East == East::Up && North == North::None && Power == 13 && South == South::Up && West == West::None) return 2465; if (East == East::Up && North == North::None && Power == 13 && South == South::Side && West == West::Up) return 2466; if (East == East::Up && North == North::None && Power == 13 && South == South::Side && West == West::Side) return 2467; if (East == East::Up && North == North::None && Power == 13 && South == South::Side && West == West::None) return 2468; if (East == East::Up && North == North::None && Power == 13 && South == South::None && West == West::Up) return 2469; if (East == East::Up && North == North::None && Power == 13 && South == South::None && West == West::Side) return 2470; if (East == East::Up && North == North::None && Power == 13 && South == South::None && West == West::None) return 2471; if (East == East::Up && North == North::None && Power == 14 && South == South::Up && West == West::Up) return 2472; if (East == East::Up && North == North::None && Power == 14 && South == South::Up && West == West::Side) return 2473; if (East == East::Up && North == North::None && Power == 14 && South == South::Up && West == West::None) return 2474; if (East == East::Up && North == North::None && Power == 14 && South == South::Side && West == West::Up) return 2475; if (East == East::Up && North == North::None && Power == 14 && South == South::Side && West == West::Side) return 2476; if (East == East::Up && North == North::None && Power == 14 && South == South::Side && West == West::None) return 2477; if (East == East::Up && North == North::None && Power == 14 && South == South::None && West == West::Up) return 2478; if (East == East::Up && North == North::None && Power == 14 && South == South::None && West == West::Side) return 2479; if (East == East::Up && North == North::None && Power == 14 && South == South::None && West == West::None) return 2480; if (East == East::Up && North == North::None && Power == 15 && South == South::Up && West == West::Up) return 2481; if (East == East::Up && North == North::None && Power == 15 && South == South::Up && West == West::Side) return 2482; if (East == East::Up && North == North::None && Power == 15 && South == South::Up && West == West::None) return 2483; if (East == East::Up && North == North::None && Power == 15 && South == South::Side && West == West::Up) return 2484; if (East == East::Up && North == North::None && Power == 15 && South == South::Side && West == West::Side) return 2485; if (East == East::Up && North == North::None && Power == 15 && South == South::Side && West == West::None) return 2486; if (East == East::Up && North == North::None && Power == 15 && South == South::None && West == West::Up) return 2487; if (East == East::Up && North == North::None && Power == 15 && South == South::None && West == West::Side) return 2488; if (East == East::Up && North == North::None && Power == 15 && South == South::None && West == West::None) return 2489; if (East == East::Side && North == North::Up && Power == 0 && South == South::Up && West == West::Up) return 2490; if (East == East::Side && North == North::Up && Power == 0 && South == South::Up && West == West::Side) return 2491; if (East == East::Side && North == North::Up && Power == 0 && South == South::Up && West == West::None) return 2492; if (East == East::Side && North == North::Up && Power == 0 && South == South::Side && West == West::Up) return 2493; if (East == East::Side && North == North::Up && Power == 0 && South == South::Side && West == West::Side) return 2494; if (East == East::Side && North == North::Up && Power == 0 && South == South::Side && West == West::None) return 2495; if (East == East::Side && North == North::Up && Power == 0 && South == South::None && West == West::Up) return 2496; if (East == East::Side && North == North::Up && Power == 0 && South == South::None && West == West::Side) return 2497; if (East == East::Side && North == North::Up && Power == 0 && South == South::None && West == West::None) return 2498; if (East == East::Side && North == North::Up && Power == 1 && South == South::Up && West == West::Up) return 2499; if (East == East::Side && North == North::Up && Power == 1 && South == South::Up && West == West::Side) return 2500; if (East == East::Side && North == North::Up && Power == 1 && South == South::Up && West == West::None) return 2501; if (East == East::Side && North == North::Up && Power == 1 && South == South::Side && West == West::Up) return 2502; if (East == East::Side && North == North::Up && Power == 1 && South == South::Side && West == West::Side) return 2503; if (East == East::Side && North == North::Up && Power == 1 && South == South::Side && West == West::None) return 2504; if (East == East::Side && North == North::Up && Power == 1 && South == South::None && West == West::Up) return 2505; if (East == East::Side && North == North::Up && Power == 1 && South == South::None && West == West::Side) return 2506; if (East == East::Side && North == North::Up && Power == 1 && South == South::None && West == West::None) return 2507; if (East == East::Side && North == North::Up && Power == 2 && South == South::Up && West == West::Up) return 2508; if (East == East::Side && North == North::Up && Power == 2 && South == South::Up && West == West::Side) return 2509; if (East == East::Side && North == North::Up && Power == 2 && South == South::Up && West == West::None) return 2510; if (East == East::Side && North == North::Up && Power == 2 && South == South::Side && West == West::Up) return 2511; if (East == East::Side && North == North::Up && Power == 2 && South == South::Side && West == West::Side) return 2512; if (East == East::Side && North == North::Up && Power == 2 && South == South::Side && West == West::None) return 2513; if (East == East::Side && North == North::Up && Power == 2 && South == South::None && West == West::Up) return 2514; if (East == East::Side && North == North::Up && Power == 2 && South == South::None && West == West::Side) return 2515; if (East == East::Side && North == North::Up && Power == 2 && South == South::None && West == West::None) return 2516; if (East == East::Side && North == North::Up && Power == 3 && South == South::Up && West == West::Up) return 2517; if (East == East::Side && North == North::Up && Power == 3 && South == South::Up && West == West::Side) return 2518; if (East == East::Side && North == North::Up && Power == 3 && South == South::Up && West == West::None) return 2519; if (East == East::Side && North == North::Up && Power == 3 && South == South::Side && West == West::Up) return 2520; if (East == East::Side && North == North::Up && Power == 3 && South == South::Side && West == West::Side) return 2521; if (East == East::Side && North == North::Up && Power == 3 && South == South::Side && West == West::None) return 2522; if (East == East::Side && North == North::Up && Power == 3 && South == South::None && West == West::Up) return 2523; if (East == East::Side && North == North::Up && Power == 3 && South == South::None && West == West::Side) return 2524; if (East == East::Side && North == North::Up && Power == 3 && South == South::None && West == West::None) return 2525; if (East == East::Side && North == North::Up && Power == 4 && South == South::Up && West == West::Up) return 2526; if (East == East::Side && North == North::Up && Power == 4 && South == South::Up && West == West::Side) return 2527; if (East == East::Side && North == North::Up && Power == 4 && South == South::Up && West == West::None) return 2528; if (East == East::Side && North == North::Up && Power == 4 && South == South::Side && West == West::Up) return 2529; if (East == East::Side && North == North::Up && Power == 4 && South == South::Side && West == West::Side) return 2530; if (East == East::Side && North == North::Up && Power == 4 && South == South::Side && West == West::None) return 2531; if (East == East::Side && North == North::Up && Power == 4 && South == South::None && West == West::Up) return 2532; if (East == East::Side && North == North::Up && Power == 4 && South == South::None && West == West::Side) return 2533; if (East == East::Side && North == North::Up && Power == 4 && South == South::None && West == West::None) return 2534; if (East == East::Side && North == North::Up && Power == 5 && South == South::Up && West == West::Up) return 2535; if (East == East::Side && North == North::Up && Power == 5 && South == South::Up && West == West::Side) return 2536; if (East == East::Side && North == North::Up && Power == 5 && South == South::Up && West == West::None) return 2537; if (East == East::Side && North == North::Up && Power == 5 && South == South::Side && West == West::Up) return 2538; if (East == East::Side && North == North::Up && Power == 5 && South == South::Side && West == West::Side) return 2539; if (East == East::Side && North == North::Up && Power == 5 && South == South::Side && West == West::None) return 2540; if (East == East::Side && North == North::Up && Power == 5 && South == South::None && West == West::Up) return 2541; if (East == East::Side && North == North::Up && Power == 5 && South == South::None && West == West::Side) return 2542; if (East == East::Side && North == North::Up && Power == 5 && South == South::None && West == West::None) return 2543; if (East == East::Side && North == North::Up && Power == 6 && South == South::Up && West == West::Up) return 2544; if (East == East::Side && North == North::Up && Power == 6 && South == South::Up && West == West::Side) return 2545; if (East == East::Side && North == North::Up && Power == 6 && South == South::Up && West == West::None) return 2546; if (East == East::Side && North == North::Up && Power == 6 && South == South::Side && West == West::Up) return 2547; if (East == East::Side && North == North::Up && Power == 6 && South == South::Side && West == West::Side) return 2548; if (East == East::Side && North == North::Up && Power == 6 && South == South::Side && West == West::None) return 2549; if (East == East::Side && North == North::Up && Power == 6 && South == South::None && West == West::Up) return 2550; if (East == East::Side && North == North::Up && Power == 6 && South == South::None && West == West::Side) return 2551; if (East == East::Side && North == North::Up && Power == 6 && South == South::None && West == West::None) return 2552; if (East == East::Side && North == North::Up && Power == 7 && South == South::Up && West == West::Up) return 2553; if (East == East::Side && North == North::Up && Power == 7 && South == South::Up && West == West::Side) return 2554; if (East == East::Side && North == North::Up && Power == 7 && South == South::Up && West == West::None) return 2555; if (East == East::Side && North == North::Up && Power == 7 && South == South::Side && West == West::Up) return 2556; if (East == East::Side && North == North::Up && Power == 7 && South == South::Side && West == West::Side) return 2557; if (East == East::Side && North == North::Up && Power == 7 && South == South::Side && West == West::None) return 2558; if (East == East::Side && North == North::Up && Power == 7 && South == South::None && West == West::Up) return 2559; if (East == East::Side && North == North::Up && Power == 7 && South == South::None && West == West::Side) return 2560; if (East == East::Side && North == North::Up && Power == 7 && South == South::None && West == West::None) return 2561; if (East == East::Side && North == North::Up && Power == 8 && South == South::Up && West == West::Up) return 2562; if (East == East::Side && North == North::Up && Power == 8 && South == South::Up && West == West::Side) return 2563; if (East == East::Side && North == North::Up && Power == 8 && South == South::Up && West == West::None) return 2564; if (East == East::Side && North == North::Up && Power == 8 && South == South::Side && West == West::Up) return 2565; if (East == East::Side && North == North::Up && Power == 8 && South == South::Side && West == West::Side) return 2566; if (East == East::Side && North == North::Up && Power == 8 && South == South::Side && West == West::None) return 2567; if (East == East::Side && North == North::Up && Power == 8 && South == South::None && West == West::Up) return 2568; if (East == East::Side && North == North::Up && Power == 8 && South == South::None && West == West::Side) return 2569; if (East == East::Side && North == North::Up && Power == 8 && South == South::None && West == West::None) return 2570; if (East == East::Side && North == North::Up && Power == 9 && South == South::Up && West == West::Up) return 2571; if (East == East::Side && North == North::Up && Power == 9 && South == South::Up && West == West::Side) return 2572; if (East == East::Side && North == North::Up && Power == 9 && South == South::Up && West == West::None) return 2573; if (East == East::Side && North == North::Up && Power == 9 && South == South::Side && West == West::Up) return 2574; if (East == East::Side && North == North::Up && Power == 9 && South == South::Side && West == West::Side) return 2575; if (East == East::Side && North == North::Up && Power == 9 && South == South::Side && West == West::None) return 2576; if (East == East::Side && North == North::Up && Power == 9 && South == South::None && West == West::Up) return 2577; if (East == East::Side && North == North::Up && Power == 9 && South == South::None && West == West::Side) return 2578; if (East == East::Side && North == North::Up && Power == 9 && South == South::None && West == West::None) return 2579; if (East == East::Side && North == North::Up && Power == 10 && South == South::Up && West == West::Up) return 2580; if (East == East::Side && North == North::Up && Power == 10 && South == South::Up && West == West::Side) return 2581; if (East == East::Side && North == North::Up && Power == 10 && South == South::Up && West == West::None) return 2582; if (East == East::Side && North == North::Up && Power == 10 && South == South::Side && West == West::Up) return 2583; if (East == East::Side && North == North::Up && Power == 10 && South == South::Side && West == West::Side) return 2584; if (East == East::Side && North == North::Up && Power == 10 && South == South::Side && West == West::None) return 2585; if (East == East::Side && North == North::Up && Power == 10 && South == South::None && West == West::Up) return 2586; if (East == East::Side && North == North::Up && Power == 10 && South == South::None && West == West::Side) return 2587; if (East == East::Side && North == North::Up && Power == 10 && South == South::None && West == West::None) return 2588; if (East == East::Side && North == North::Up && Power == 11 && South == South::Up && West == West::Up) return 2589; if (East == East::Side && North == North::Up && Power == 11 && South == South::Up && West == West::Side) return 2590; if (East == East::Side && North == North::Up && Power == 11 && South == South::Up && West == West::None) return 2591; if (East == East::Side && North == North::Up && Power == 11 && South == South::Side && West == West::Up) return 2592; if (East == East::Side && North == North::Up && Power == 11 && South == South::Side && West == West::Side) return 2593; if (East == East::Side && North == North::Up && Power == 11 && South == South::Side && West == West::None) return 2594; if (East == East::Side && North == North::Up && Power == 11 && South == South::None && West == West::Up) return 2595; if (East == East::Side && North == North::Up && Power == 11 && South == South::None && West == West::Side) return 2596; if (East == East::Side && North == North::Up && Power == 11 && South == South::None && West == West::None) return 2597; if (East == East::Side && North == North::Up && Power == 12 && South == South::Up && West == West::Up) return 2598; if (East == East::Side && North == North::Up && Power == 12 && South == South::Up && West == West::Side) return 2599; if (East == East::Side && North == North::Up && Power == 12 && South == South::Up && West == West::None) return 2600; if (East == East::Side && North == North::Up && Power == 12 && South == South::Side && West == West::Up) return 2601; if (East == East::Side && North == North::Up && Power == 12 && South == South::Side && West == West::Side) return 2602; if (East == East::Side && North == North::Up && Power == 12 && South == South::Side && West == West::None) return 2603; if (East == East::Side && North == North::Up && Power == 12 && South == South::None && West == West::Up) return 2604; if (East == East::Side && North == North::Up && Power == 12 && South == South::None && West == West::Side) return 2605; if (East == East::Side && North == North::Up && Power == 12 && South == South::None && West == West::None) return 2606; if (East == East::Side && North == North::Up && Power == 13 && South == South::Up && West == West::Up) return 2607; if (East == East::Side && North == North::Up && Power == 13 && South == South::Up && West == West::Side) return 2608; if (East == East::Side && North == North::Up && Power == 13 && South == South::Up && West == West::None) return 2609; if (East == East::Side && North == North::Up && Power == 13 && South == South::Side && West == West::Up) return 2610; if (East == East::Side && North == North::Up && Power == 13 && South == South::Side && West == West::Side) return 2611; if (East == East::Side && North == North::Up && Power == 13 && South == South::Side && West == West::None) return 2612; if (East == East::Side && North == North::Up && Power == 13 && South == South::None && West == West::Up) return 2613; if (East == East::Side && North == North::Up && Power == 13 && South == South::None && West == West::Side) return 2614; if (East == East::Side && North == North::Up && Power == 13 && South == South::None && West == West::None) return 2615; if (East == East::Side && North == North::Up && Power == 14 && South == South::Up && West == West::Up) return 2616; if (East == East::Side && North == North::Up && Power == 14 && South == South::Up && West == West::Side) return 2617; if (East == East::Side && North == North::Up && Power == 14 && South == South::Up && West == West::None) return 2618; if (East == East::Side && North == North::Up && Power == 14 && South == South::Side && West == West::Up) return 2619; if (East == East::Side && North == North::Up && Power == 14 && South == South::Side && West == West::Side) return 2620; if (East == East::Side && North == North::Up && Power == 14 && South == South::Side && West == West::None) return 2621; if (East == East::Side && North == North::Up && Power == 14 && South == South::None && West == West::Up) return 2622; if (East == East::Side && North == North::Up && Power == 14 && South == South::None && West == West::Side) return 2623; if (East == East::Side && North == North::Up && Power == 14 && South == South::None && West == West::None) return 2624; if (East == East::Side && North == North::Up && Power == 15 && South == South::Up && West == West::Up) return 2625; if (East == East::Side && North == North::Up && Power == 15 && South == South::Up && West == West::Side) return 2626; if (East == East::Side && North == North::Up && Power == 15 && South == South::Up && West == West::None) return 2627; if (East == East::Side && North == North::Up && Power == 15 && South == South::Side && West == West::Up) return 2628; if (East == East::Side && North == North::Up && Power == 15 && South == South::Side && West == West::Side) return 2629; if (East == East::Side && North == North::Up && Power == 15 && South == South::Side && West == West::None) return 2630; if (East == East::Side && North == North::Up && Power == 15 && South == South::None && West == West::Up) return 2631; if (East == East::Side && North == North::Up && Power == 15 && South == South::None && West == West::Side) return 2632; if (East == East::Side && North == North::Up && Power == 15 && South == South::None && West == West::None) return 2633; if (East == East::Side && North == North::Side && Power == 0 && South == South::Up && West == West::Up) return 2634; if (East == East::Side && North == North::Side && Power == 0 && South == South::Up && West == West::Side) return 2635; if (East == East::Side && North == North::Side && Power == 0 && South == South::Up && West == West::None) return 2636; if (East == East::Side && North == North::Side && Power == 0 && South == South::Side && West == West::Up) return 2637; if (East == East::Side && North == North::Side && Power == 0 && South == South::Side && West == West::Side) return 2638; if (East == East::Side && North == North::Side && Power == 0 && South == South::Side && West == West::None) return 2639; if (East == East::Side && North == North::Side && Power == 0 && South == South::None && West == West::Up) return 2640; if (East == East::Side && North == North::Side && Power == 0 && South == South::None && West == West::Side) return 2641; if (East == East::Side && North == North::Side && Power == 0 && South == South::None && West == West::None) return 2642; if (East == East::Side && North == North::Side && Power == 1 && South == South::Up && West == West::Up) return 2643; if (East == East::Side && North == North::Side && Power == 1 && South == South::Up && West == West::Side) return 2644; if (East == East::Side && North == North::Side && Power == 1 && South == South::Up && West == West::None) return 2645; if (East == East::Side && North == North::Side && Power == 1 && South == South::Side && West == West::Up) return 2646; if (East == East::Side && North == North::Side && Power == 1 && South == South::Side && West == West::Side) return 2647; if (East == East::Side && North == North::Side && Power == 1 && South == South::Side && West == West::None) return 2648; if (East == East::Side && North == North::Side && Power == 1 && South == South::None && West == West::Up) return 2649; if (East == East::Side && North == North::Side && Power == 1 && South == South::None && West == West::Side) return 2650; if (East == East::Side && North == North::Side && Power == 1 && South == South::None && West == West::None) return 2651; if (East == East::Side && North == North::Side && Power == 2 && South == South::Up && West == West::Up) return 2652; if (East == East::Side && North == North::Side && Power == 2 && South == South::Up && West == West::Side) return 2653; if (East == East::Side && North == North::Side && Power == 2 && South == South::Up && West == West::None) return 2654; if (East == East::Side && North == North::Side && Power == 2 && South == South::Side && West == West::Up) return 2655; if (East == East::Side && North == North::Side && Power == 2 && South == South::Side && West == West::Side) return 2656; if (East == East::Side && North == North::Side && Power == 2 && South == South::Side && West == West::None) return 2657; if (East == East::Side && North == North::Side && Power == 2 && South == South::None && West == West::Up) return 2658; if (East == East::Side && North == North::Side && Power == 2 && South == South::None && West == West::Side) return 2659; if (East == East::Side && North == North::Side && Power == 2 && South == South::None && West == West::None) return 2660; if (East == East::Side && North == North::Side && Power == 3 && South == South::Up && West == West::Up) return 2661; if (East == East::Side && North == North::Side && Power == 3 && South == South::Up && West == West::Side) return 2662; if (East == East::Side && North == North::Side && Power == 3 && South == South::Up && West == West::None) return 2663; if (East == East::Side && North == North::Side && Power == 3 && South == South::Side && West == West::Up) return 2664; if (East == East::Side && North == North::Side && Power == 3 && South == South::Side && West == West::Side) return 2665; if (East == East::Side && North == North::Side && Power == 3 && South == South::Side && West == West::None) return 2666; if (East == East::Side && North == North::Side && Power == 3 && South == South::None && West == West::Up) return 2667; if (East == East::Side && North == North::Side && Power == 3 && South == South::None && West == West::Side) return 2668; if (East == East::Side && North == North::Side && Power == 3 && South == South::None && West == West::None) return 2669; if (East == East::Side && North == North::Side && Power == 4 && South == South::Up && West == West::Up) return 2670; if (East == East::Side && North == North::Side && Power == 4 && South == South::Up && West == West::Side) return 2671; if (East == East::Side && North == North::Side && Power == 4 && South == South::Up && West == West::None) return 2672; if (East == East::Side && North == North::Side && Power == 4 && South == South::Side && West == West::Up) return 2673; if (East == East::Side && North == North::Side && Power == 4 && South == South::Side && West == West::Side) return 2674; if (East == East::Side && North == North::Side && Power == 4 && South == South::Side && West == West::None) return 2675; if (East == East::Side && North == North::Side && Power == 4 && South == South::None && West == West::Up) return 2676; if (East == East::Side && North == North::Side && Power == 4 && South == South::None && West == West::Side) return 2677; if (East == East::Side && North == North::Side && Power == 4 && South == South::None && West == West::None) return 2678; if (East == East::Side && North == North::Side && Power == 5 && South == South::Up && West == West::Up) return 2679; if (East == East::Side && North == North::Side && Power == 5 && South == South::Up && West == West::Side) return 2680; if (East == East::Side && North == North::Side && Power == 5 && South == South::Up && West == West::None) return 2681; if (East == East::Side && North == North::Side && Power == 5 && South == South::Side && West == West::Up) return 2682; if (East == East::Side && North == North::Side && Power == 5 && South == South::Side && West == West::Side) return 2683; if (East == East::Side && North == North::Side && Power == 5 && South == South::Side && West == West::None) return 2684; if (East == East::Side && North == North::Side && Power == 5 && South == South::None && West == West::Up) return 2685; if (East == East::Side && North == North::Side && Power == 5 && South == South::None && West == West::Side) return 2686; if (East == East::Side && North == North::Side && Power == 5 && South == South::None && West == West::None) return 2687; if (East == East::Side && North == North::Side && Power == 6 && South == South::Up && West == West::Up) return 2688; if (East == East::Side && North == North::Side && Power == 6 && South == South::Up && West == West::Side) return 2689; if (East == East::Side && North == North::Side && Power == 6 && South == South::Up && West == West::None) return 2690; if (East == East::Side && North == North::Side && Power == 6 && South == South::Side && West == West::Up) return 2691; if (East == East::Side && North == North::Side && Power == 6 && South == South::Side && West == West::Side) return 2692; if (East == East::Side && North == North::Side && Power == 6 && South == South::Side && West == West::None) return 2693; if (East == East::Side && North == North::Side && Power == 6 && South == South::None && West == West::Up) return 2694; if (East == East::Side && North == North::Side && Power == 6 && South == South::None && West == West::Side) return 2695; if (East == East::Side && North == North::Side && Power == 6 && South == South::None && West == West::None) return 2696; if (East == East::Side && North == North::Side && Power == 7 && South == South::Up && West == West::Up) return 2697; if (East == East::Side && North == North::Side && Power == 7 && South == South::Up && West == West::Side) return 2698; if (East == East::Side && North == North::Side && Power == 7 && South == South::Up && West == West::None) return 2699; if (East == East::Side && North == North::Side && Power == 7 && South == South::Side && West == West::Up) return 2700; if (East == East::Side && North == North::Side && Power == 7 && South == South::Side && West == West::Side) return 2701; if (East == East::Side && North == North::Side && Power == 7 && South == South::Side && West == West::None) return 2702; if (East == East::Side && North == North::Side && Power == 7 && South == South::None && West == West::Up) return 2703; if (East == East::Side && North == North::Side && Power == 7 && South == South::None && West == West::Side) return 2704; if (East == East::Side && North == North::Side && Power == 7 && South == South::None && West == West::None) return 2705; if (East == East::Side && North == North::Side && Power == 8 && South == South::Up && West == West::Up) return 2706; if (East == East::Side && North == North::Side && Power == 8 && South == South::Up && West == West::Side) return 2707; if (East == East::Side && North == North::Side && Power == 8 && South == South::Up && West == West::None) return 2708; if (East == East::Side && North == North::Side && Power == 8 && South == South::Side && West == West::Up) return 2709; if (East == East::Side && North == North::Side && Power == 8 && South == South::Side && West == West::Side) return 2710; if (East == East::Side && North == North::Side && Power == 8 && South == South::Side && West == West::None) return 2711; if (East == East::Side && North == North::Side && Power == 8 && South == South::None && West == West::Up) return 2712; if (East == East::Side && North == North::Side && Power == 8 && South == South::None && West == West::Side) return 2713; if (East == East::Side && North == North::Side && Power == 8 && South == South::None && West == West::None) return 2714; if (East == East::Side && North == North::Side && Power == 9 && South == South::Up && West == West::Up) return 2715; if (East == East::Side && North == North::Side && Power == 9 && South == South::Up && West == West::Side) return 2716; if (East == East::Side && North == North::Side && Power == 9 && South == South::Up && West == West::None) return 2717; if (East == East::Side && North == North::Side && Power == 9 && South == South::Side && West == West::Up) return 2718; if (East == East::Side && North == North::Side && Power == 9 && South == South::Side && West == West::Side) return 2719; if (East == East::Side && North == North::Side && Power == 9 && South == South::Side && West == West::None) return 2720; if (East == East::Side && North == North::Side && Power == 9 && South == South::None && West == West::Up) return 2721; if (East == East::Side && North == North::Side && Power == 9 && South == South::None && West == West::Side) return 2722; if (East == East::Side && North == North::Side && Power == 9 && South == South::None && West == West::None) return 2723; if (East == East::Side && North == North::Side && Power == 10 && South == South::Up && West == West::Up) return 2724; if (East == East::Side && North == North::Side && Power == 10 && South == South::Up && West == West::Side) return 2725; if (East == East::Side && North == North::Side && Power == 10 && South == South::Up && West == West::None) return 2726; if (East == East::Side && North == North::Side && Power == 10 && South == South::Side && West == West::Up) return 2727; if (East == East::Side && North == North::Side && Power == 10 && South == South::Side && West == West::Side) return 2728; if (East == East::Side && North == North::Side && Power == 10 && South == South::Side && West == West::None) return 2729; if (East == East::Side && North == North::Side && Power == 10 && South == South::None && West == West::Up) return 2730; if (East == East::Side && North == North::Side && Power == 10 && South == South::None && West == West::Side) return 2731; if (East == East::Side && North == North::Side && Power == 10 && South == South::None && West == West::None) return 2732; if (East == East::Side && North == North::Side && Power == 11 && South == South::Up && West == West::Up) return 2733; if (East == East::Side && North == North::Side && Power == 11 && South == South::Up && West == West::Side) return 2734; if (East == East::Side && North == North::Side && Power == 11 && South == South::Up && West == West::None) return 2735; if (East == East::Side && North == North::Side && Power == 11 && South == South::Side && West == West::Up) return 2736; if (East == East::Side && North == North::Side && Power == 11 && South == South::Side && West == West::Side) return 2737; if (East == East::Side && North == North::Side && Power == 11 && South == South::Side && West == West::None) return 2738; if (East == East::Side && North == North::Side && Power == 11 && South == South::None && West == West::Up) return 2739; if (East == East::Side && North == North::Side && Power == 11 && South == South::None && West == West::Side) return 2740; if (East == East::Side && North == North::Side && Power == 11 && South == South::None && West == West::None) return 2741; if (East == East::Side && North == North::Side && Power == 12 && South == South::Up && West == West::Up) return 2742; if (East == East::Side && North == North::Side && Power == 12 && South == South::Up && West == West::Side) return 2743; if (East == East::Side && North == North::Side && Power == 12 && South == South::Up && West == West::None) return 2744; if (East == East::Side && North == North::Side && Power == 12 && South == South::Side && West == West::Up) return 2745; if (East == East::Side && North == North::Side && Power == 12 && South == South::Side && West == West::Side) return 2746; if (East == East::Side && North == North::Side && Power == 12 && South == South::Side && West == West::None) return 2747; if (East == East::Side && North == North::Side && Power == 12 && South == South::None && West == West::Up) return 2748; if (East == East::Side && North == North::Side && Power == 12 && South == South::None && West == West::Side) return 2749; if (East == East::Side && North == North::Side && Power == 12 && South == South::None && West == West::None) return 2750; if (East == East::Side && North == North::Side && Power == 13 && South == South::Up && West == West::Up) return 2751; if (East == East::Side && North == North::Side && Power == 13 && South == South::Up && West == West::Side) return 2752; if (East == East::Side && North == North::Side && Power == 13 && South == South::Up && West == West::None) return 2753; if (East == East::Side && North == North::Side && Power == 13 && South == South::Side && West == West::Up) return 2754; if (East == East::Side && North == North::Side && Power == 13 && South == South::Side && West == West::Side) return 2755; if (East == East::Side && North == North::Side && Power == 13 && South == South::Side && West == West::None) return 2756; if (East == East::Side && North == North::Side && Power == 13 && South == South::None && West == West::Up) return 2757; if (East == East::Side && North == North::Side && Power == 13 && South == South::None && West == West::Side) return 2758; if (East == East::Side && North == North::Side && Power == 13 && South == South::None && West == West::None) return 2759; if (East == East::Side && North == North::Side && Power == 14 && South == South::Up && West == West::Up) return 2760; if (East == East::Side && North == North::Side && Power == 14 && South == South::Up && West == West::Side) return 2761; if (East == East::Side && North == North::Side && Power == 14 && South == South::Up && West == West::None) return 2762; if (East == East::Side && North == North::Side && Power == 14 && South == South::Side && West == West::Up) return 2763; if (East == East::Side && North == North::Side && Power == 14 && South == South::Side && West == West::Side) return 2764; if (East == East::Side && North == North::Side && Power == 14 && South == South::Side && West == West::None) return 2765; if (East == East::Side && North == North::Side && Power == 14 && South == South::None && West == West::Up) return 2766; if (East == East::Side && North == North::Side && Power == 14 && South == South::None && West == West::Side) return 2767; if (East == East::Side && North == North::Side && Power == 14 && South == South::None && West == West::None) return 2768; if (East == East::Side && North == North::Side && Power == 15 && South == South::Up && West == West::Up) return 2769; if (East == East::Side && North == North::Side && Power == 15 && South == South::Up && West == West::Side) return 2770; if (East == East::Side && North == North::Side && Power == 15 && South == South::Up && West == West::None) return 2771; if (East == East::Side && North == North::Side && Power == 15 && South == South::Side && West == West::Up) return 2772; if (East == East::Side && North == North::Side && Power == 15 && South == South::Side && West == West::Side) return 2773; if (East == East::Side && North == North::Side && Power == 15 && South == South::Side && West == West::None) return 2774; if (East == East::Side && North == North::Side && Power == 15 && South == South::None && West == West::Up) return 2775; if (East == East::Side && North == North::Side && Power == 15 && South == South::None && West == West::Side) return 2776; if (East == East::Side && North == North::Side && Power == 15 && South == South::None && West == West::None) return 2777; if (East == East::Side && North == North::None && Power == 0 && South == South::Up && West == West::Up) return 2778; if (East == East::Side && North == North::None && Power == 0 && South == South::Up && West == West::Side) return 2779; if (East == East::Side && North == North::None && Power == 0 && South == South::Up && West == West::None) return 2780; if (East == East::Side && North == North::None && Power == 0 && South == South::Side && West == West::Up) return 2781; if (East == East::Side && North == North::None && Power == 0 && South == South::Side && West == West::Side) return 2782; if (East == East::Side && North == North::None && Power == 0 && South == South::Side && West == West::None) return 2783; if (East == East::Side && North == North::None && Power == 0 && South == South::None && West == West::Up) return 2784; if (East == East::Side && North == North::None && Power == 0 && South == South::None && West == West::Side) return 2785; if (East == East::Side && North == North::None && Power == 0 && South == South::None && West == West::None) return 2786; if (East == East::Side && North == North::None && Power == 1 && South == South::Up && West == West::Up) return 2787; if (East == East::Side && North == North::None && Power == 1 && South == South::Up && West == West::Side) return 2788; if (East == East::Side && North == North::None && Power == 1 && South == South::Up && West == West::None) return 2789; if (East == East::Side && North == North::None && Power == 1 && South == South::Side && West == West::Up) return 2790; if (East == East::Side && North == North::None && Power == 1 && South == South::Side && West == West::Side) return 2791; if (East == East::Side && North == North::None && Power == 1 && South == South::Side && West == West::None) return 2792; if (East == East::Side && North == North::None && Power == 1 && South == South::None && West == West::Up) return 2793; if (East == East::Side && North == North::None && Power == 1 && South == South::None && West == West::Side) return 2794; if (East == East::Side && North == North::None && Power == 1 && South == South::None && West == West::None) return 2795; if (East == East::Side && North == North::None && Power == 2 && South == South::Up && West == West::Up) return 2796; if (East == East::Side && North == North::None && Power == 2 && South == South::Up && West == West::Side) return 2797; if (East == East::Side && North == North::None && Power == 2 && South == South::Up && West == West::None) return 2798; if (East == East::Side && North == North::None && Power == 2 && South == South::Side && West == West::Up) return 2799; if (East == East::Side && North == North::None && Power == 2 && South == South::Side && West == West::Side) return 2800; if (East == East::Side && North == North::None && Power == 2 && South == South::Side && West == West::None) return 2801; if (East == East::Side && North == North::None && Power == 2 && South == South::None && West == West::Up) return 2802; if (East == East::Side && North == North::None && Power == 2 && South == South::None && West == West::Side) return 2803; if (East == East::Side && North == North::None && Power == 2 && South == South::None && West == West::None) return 2804; if (East == East::Side && North == North::None && Power == 3 && South == South::Up && West == West::Up) return 2805; if (East == East::Side && North == North::None && Power == 3 && South == South::Up && West == West::Side) return 2806; if (East == East::Side && North == North::None && Power == 3 && South == South::Up && West == West::None) return 2807; if (East == East::Side && North == North::None && Power == 3 && South == South::Side && West == West::Up) return 2808; if (East == East::Side && North == North::None && Power == 3 && South == South::Side && West == West::Side) return 2809; if (East == East::Side && North == North::None && Power == 3 && South == South::Side && West == West::None) return 2810; if (East == East::Side && North == North::None && Power == 3 && South == South::None && West == West::Up) return 2811; if (East == East::Side && North == North::None && Power == 3 && South == South::None && West == West::Side) return 2812; if (East == East::Side && North == North::None && Power == 3 && South == South::None && West == West::None) return 2813; if (East == East::Side && North == North::None && Power == 4 && South == South::Up && West == West::Up) return 2814; if (East == East::Side && North == North::None && Power == 4 && South == South::Up && West == West::Side) return 2815; if (East == East::Side && North == North::None && Power == 4 && South == South::Up && West == West::None) return 2816; if (East == East::Side && North == North::None && Power == 4 && South == South::Side && West == West::Up) return 2817; if (East == East::Side && North == North::None && Power == 4 && South == South::Side && West == West::Side) return 2818; if (East == East::Side && North == North::None && Power == 4 && South == South::Side && West == West::None) return 2819; if (East == East::Side && North == North::None && Power == 4 && South == South::None && West == West::Up) return 2820; if (East == East::Side && North == North::None && Power == 4 && South == South::None && West == West::Side) return 2821; if (East == East::Side && North == North::None && Power == 4 && South == South::None && West == West::None) return 2822; if (East == East::Side && North == North::None && Power == 5 && South == South::Up && West == West::Up) return 2823; if (East == East::Side && North == North::None && Power == 5 && South == South::Up && West == West::Side) return 2824; if (East == East::Side && North == North::None && Power == 5 && South == South::Up && West == West::None) return 2825; if (East == East::Side && North == North::None && Power == 5 && South == South::Side && West == West::Up) return 2826; if (East == East::Side && North == North::None && Power == 5 && South == South::Side && West == West::Side) return 2827; if (East == East::Side && North == North::None && Power == 5 && South == South::Side && West == West::None) return 2828; if (East == East::Side && North == North::None && Power == 5 && South == South::None && West == West::Up) return 2829; if (East == East::Side && North == North::None && Power == 5 && South == South::None && West == West::Side) return 2830; if (East == East::Side && North == North::None && Power == 5 && South == South::None && West == West::None) return 2831; if (East == East::Side && North == North::None && Power == 6 && South == South::Up && West == West::Up) return 2832; if (East == East::Side && North == North::None && Power == 6 && South == South::Up && West == West::Side) return 2833; if (East == East::Side && North == North::None && Power == 6 && South == South::Up && West == West::None) return 2834; if (East == East::Side && North == North::None && Power == 6 && South == South::Side && West == West::Up) return 2835; if (East == East::Side && North == North::None && Power == 6 && South == South::Side && West == West::Side) return 2836; if (East == East::Side && North == North::None && Power == 6 && South == South::Side && West == West::None) return 2837; if (East == East::Side && North == North::None && Power == 6 && South == South::None && West == West::Up) return 2838; if (East == East::Side && North == North::None && Power == 6 && South == South::None && West == West::Side) return 2839; if (East == East::Side && North == North::None && Power == 6 && South == South::None && West == West::None) return 2840; if (East == East::Side && North == North::None && Power == 7 && South == South::Up && West == West::Up) return 2841; if (East == East::Side && North == North::None && Power == 7 && South == South::Up && West == West::Side) return 2842; if (East == East::Side && North == North::None && Power == 7 && South == South::Up && West == West::None) return 2843; if (East == East::Side && North == North::None && Power == 7 && South == South::Side && West == West::Up) return 2844; if (East == East::Side && North == North::None && Power == 7 && South == South::Side && West == West::Side) return 2845; if (East == East::Side && North == North::None && Power == 7 && South == South::Side && West == West::None) return 2846; if (East == East::Side && North == North::None && Power == 7 && South == South::None && West == West::Up) return 2847; if (East == East::Side && North == North::None && Power == 7 && South == South::None && West == West::Side) return 2848; if (East == East::Side && North == North::None && Power == 7 && South == South::None && West == West::None) return 2849; if (East == East::Side && North == North::None && Power == 8 && South == South::Up && West == West::Up) return 2850; if (East == East::Side && North == North::None && Power == 8 && South == South::Up && West == West::Side) return 2851; if (East == East::Side && North == North::None && Power == 8 && South == South::Up && West == West::None) return 2852; if (East == East::Side && North == North::None && Power == 8 && South == South::Side && West == West::Up) return 2853; if (East == East::Side && North == North::None && Power == 8 && South == South::Side && West == West::Side) return 2854; if (East == East::Side && North == North::None && Power == 8 && South == South::Side && West == West::None) return 2855; if (East == East::Side && North == North::None && Power == 8 && South == South::None && West == West::Up) return 2856; if (East == East::Side && North == North::None && Power == 8 && South == South::None && West == West::Side) return 2857; if (East == East::Side && North == North::None && Power == 8 && South == South::None && West == West::None) return 2858; if (East == East::Side && North == North::None && Power == 9 && South == South::Up && West == West::Up) return 2859; if (East == East::Side && North == North::None && Power == 9 && South == South::Up && West == West::Side) return 2860; if (East == East::Side && North == North::None && Power == 9 && South == South::Up && West == West::None) return 2861; if (East == East::Side && North == North::None && Power == 9 && South == South::Side && West == West::Up) return 2862; if (East == East::Side && North == North::None && Power == 9 && South == South::Side && West == West::Side) return 2863; if (East == East::Side && North == North::None && Power == 9 && South == South::Side && West == West::None) return 2864; if (East == East::Side && North == North::None && Power == 9 && South == South::None && West == West::Up) return 2865; if (East == East::Side && North == North::None && Power == 9 && South == South::None && West == West::Side) return 2866; if (East == East::Side && North == North::None && Power == 9 && South == South::None && West == West::None) return 2867; if (East == East::Side && North == North::None && Power == 10 && South == South::Up && West == West::Up) return 2868; if (East == East::Side && North == North::None && Power == 10 && South == South::Up && West == West::Side) return 2869; if (East == East::Side && North == North::None && Power == 10 && South == South::Up && West == West::None) return 2870; if (East == East::Side && North == North::None && Power == 10 && South == South::Side && West == West::Up) return 2871; if (East == East::Side && North == North::None && Power == 10 && South == South::Side && West == West::Side) return 2872; if (East == East::Side && North == North::None && Power == 10 && South == South::Side && West == West::None) return 2873; if (East == East::Side && North == North::None && Power == 10 && South == South::None && West == West::Up) return 2874; if (East == East::Side && North == North::None && Power == 10 && South == South::None && West == West::Side) return 2875; if (East == East::Side && North == North::None && Power == 10 && South == South::None && West == West::None) return 2876; if (East == East::Side && North == North::None && Power == 11 && South == South::Up && West == West::Up) return 2877; if (East == East::Side && North == North::None && Power == 11 && South == South::Up && West == West::Side) return 2878; if (East == East::Side && North == North::None && Power == 11 && South == South::Up && West == West::None) return 2879; if (East == East::Side && North == North::None && Power == 11 && South == South::Side && West == West::Up) return 2880; if (East == East::Side && North == North::None && Power == 11 && South == South::Side && West == West::Side) return 2881; if (East == East::Side && North == North::None && Power == 11 && South == South::Side && West == West::None) return 2882; if (East == East::Side && North == North::None && Power == 11 && South == South::None && West == West::Up) return 2883; if (East == East::Side && North == North::None && Power == 11 && South == South::None && West == West::Side) return 2884; if (East == East::Side && North == North::None && Power == 11 && South == South::None && West == West::None) return 2885; if (East == East::Side && North == North::None && Power == 12 && South == South::Up && West == West::Up) return 2886; if (East == East::Side && North == North::None && Power == 12 && South == South::Up && West == West::Side) return 2887; if (East == East::Side && North == North::None && Power == 12 && South == South::Up && West == West::None) return 2888; if (East == East::Side && North == North::None && Power == 12 && South == South::Side && West == West::Up) return 2889; if (East == East::Side && North == North::None && Power == 12 && South == South::Side && West == West::Side) return 2890; if (East == East::Side && North == North::None && Power == 12 && South == South::Side && West == West::None) return 2891; if (East == East::Side && North == North::None && Power == 12 && South == South::None && West == West::Up) return 2892; if (East == East::Side && North == North::None && Power == 12 && South == South::None && West == West::Side) return 2893; if (East == East::Side && North == North::None && Power == 12 && South == South::None && West == West::None) return 2894; if (East == East::Side && North == North::None && Power == 13 && South == South::Up && West == West::Up) return 2895; if (East == East::Side && North == North::None && Power == 13 && South == South::Up && West == West::Side) return 2896; if (East == East::Side && North == North::None && Power == 13 && South == South::Up && West == West::None) return 2897; if (East == East::Side && North == North::None && Power == 13 && South == South::Side && West == West::Up) return 2898; if (East == East::Side && North == North::None && Power == 13 && South == South::Side && West == West::Side) return 2899; if (East == East::Side && North == North::None && Power == 13 && South == South::Side && West == West::None) return 2900; if (East == East::Side && North == North::None && Power == 13 && South == South::None && West == West::Up) return 2901; if (East == East::Side && North == North::None && Power == 13 && South == South::None && West == West::Side) return 2902; if (East == East::Side && North == North::None && Power == 13 && South == South::None && West == West::None) return 2903; if (East == East::Side && North == North::None && Power == 14 && South == South::Up && West == West::Up) return 2904; if (East == East::Side && North == North::None && Power == 14 && South == South::Up && West == West::Side) return 2905; if (East == East::Side && North == North::None && Power == 14 && South == South::Up && West == West::None) return 2906; if (East == East::Side && North == North::None && Power == 14 && South == South::Side && West == West::Up) return 2907; if (East == East::Side && North == North::None && Power == 14 && South == South::Side && West == West::Side) return 2908; if (East == East::Side && North == North::None && Power == 14 && South == South::Side && West == West::None) return 2909; if (East == East::Side && North == North::None && Power == 14 && South == South::None && West == West::Up) return 2910; if (East == East::Side && North == North::None && Power == 14 && South == South::None && West == West::Side) return 2911; if (East == East::Side && North == North::None && Power == 14 && South == South::None && West == West::None) return 2912; if (East == East::Side && North == North::None && Power == 15 && South == South::Up && West == West::Up) return 2913; if (East == East::Side && North == North::None && Power == 15 && South == South::Up && West == West::Side) return 2914; if (East == East::Side && North == North::None && Power == 15 && South == South::Up && West == West::None) return 2915; if (East == East::Side && North == North::None && Power == 15 && South == South::Side && West == West::Up) return 2916; if (East == East::Side && North == North::None && Power == 15 && South == South::Side && West == West::Side) return 2917; if (East == East::Side && North == North::None && Power == 15 && South == South::Side && West == West::None) return 2918; if (East == East::Side && North == North::None && Power == 15 && South == South::None && West == West::Up) return 2919; if (East == East::Side && North == North::None && Power == 15 && South == South::None && West == West::Side) return 2920; if (East == East::Side && North == North::None && Power == 15 && South == South::None && West == West::None) return 2921; if (East == East::None && North == North::Up && Power == 0 && South == South::Up && West == West::Up) return 2922; if (East == East::None && North == North::Up && Power == 0 && South == South::Up && West == West::Side) return 2923; if (East == East::None && North == North::Up && Power == 0 && South == South::Up && West == West::None) return 2924; if (East == East::None && North == North::Up && Power == 0 && South == South::Side && West == West::Up) return 2925; if (East == East::None && North == North::Up && Power == 0 && South == South::Side && West == West::Side) return 2926; if (East == East::None && North == North::Up && Power == 0 && South == South::Side && West == West::None) return 2927; if (East == East::None && North == North::Up && Power == 0 && South == South::None && West == West::Up) return 2928; if (East == East::None && North == North::Up && Power == 0 && South == South::None && West == West::Side) return 2929; if (East == East::None && North == North::Up && Power == 0 && South == South::None && West == West::None) return 2930; if (East == East::None && North == North::Up && Power == 1 && South == South::Up && West == West::Up) return 2931; if (East == East::None && North == North::Up && Power == 1 && South == South::Up && West == West::Side) return 2932; if (East == East::None && North == North::Up && Power == 1 && South == South::Up && West == West::None) return 2933; if (East == East::None && North == North::Up && Power == 1 && South == South::Side && West == West::Up) return 2934; if (East == East::None && North == North::Up && Power == 1 && South == South::Side && West == West::Side) return 2935; if (East == East::None && North == North::Up && Power == 1 && South == South::Side && West == West::None) return 2936; if (East == East::None && North == North::Up && Power == 1 && South == South::None && West == West::Up) return 2937; if (East == East::None && North == North::Up && Power == 1 && South == South::None && West == West::Side) return 2938; if (East == East::None && North == North::Up && Power == 1 && South == South::None && West == West::None) return 2939; if (East == East::None && North == North::Up && Power == 2 && South == South::Up && West == West::Up) return 2940; if (East == East::None && North == North::Up && Power == 2 && South == South::Up && West == West::Side) return 2941; if (East == East::None && North == North::Up && Power == 2 && South == South::Up && West == West::None) return 2942; if (East == East::None && North == North::Up && Power == 2 && South == South::Side && West == West::Up) return 2943; if (East == East::None && North == North::Up && Power == 2 && South == South::Side && West == West::Side) return 2944; if (East == East::None && North == North::Up && Power == 2 && South == South::Side && West == West::None) return 2945; if (East == East::None && North == North::Up && Power == 2 && South == South::None && West == West::Up) return 2946; if (East == East::None && North == North::Up && Power == 2 && South == South::None && West == West::Side) return 2947; if (East == East::None && North == North::Up && Power == 2 && South == South::None && West == West::None) return 2948; if (East == East::None && North == North::Up && Power == 3 && South == South::Up && West == West::Up) return 2949; if (East == East::None && North == North::Up && Power == 3 && South == South::Up && West == West::Side) return 2950; if (East == East::None && North == North::Up && Power == 3 && South == South::Up && West == West::None) return 2951; if (East == East::None && North == North::Up && Power == 3 && South == South::Side && West == West::Up) return 2952; if (East == East::None && North == North::Up && Power == 3 && South == South::Side && West == West::Side) return 2953; if (East == East::None && North == North::Up && Power == 3 && South == South::Side && West == West::None) return 2954; if (East == East::None && North == North::Up && Power == 3 && South == South::None && West == West::Up) return 2955; if (East == East::None && North == North::Up && Power == 3 && South == South::None && West == West::Side) return 2956; if (East == East::None && North == North::Up && Power == 3 && South == South::None && West == West::None) return 2957; if (East == East::None && North == North::Up && Power == 4 && South == South::Up && West == West::Up) return 2958; if (East == East::None && North == North::Up && Power == 4 && South == South::Up && West == West::Side) return 2959; if (East == East::None && North == North::Up && Power == 4 && South == South::Up && West == West::None) return 2960; if (East == East::None && North == North::Up && Power == 4 && South == South::Side && West == West::Up) return 2961; if (East == East::None && North == North::Up && Power == 4 && South == South::Side && West == West::Side) return 2962; if (East == East::None && North == North::Up && Power == 4 && South == South::Side && West == West::None) return 2963; if (East == East::None && North == North::Up && Power == 4 && South == South::None && West == West::Up) return 2964; if (East == East::None && North == North::Up && Power == 4 && South == South::None && West == West::Side) return 2965; if (East == East::None && North == North::Up && Power == 4 && South == South::None && West == West::None) return 2966; if (East == East::None && North == North::Up && Power == 5 && South == South::Up && West == West::Up) return 2967; if (East == East::None && North == North::Up && Power == 5 && South == South::Up && West == West::Side) return 2968; if (East == East::None && North == North::Up && Power == 5 && South == South::Up && West == West::None) return 2969; if (East == East::None && North == North::Up && Power == 5 && South == South::Side && West == West::Up) return 2970; if (East == East::None && North == North::Up && Power == 5 && South == South::Side && West == West::Side) return 2971; if (East == East::None && North == North::Up && Power == 5 && South == South::Side && West == West::None) return 2972; if (East == East::None && North == North::Up && Power == 5 && South == South::None && West == West::Up) return 2973; if (East == East::None && North == North::Up && Power == 5 && South == South::None && West == West::Side) return 2974; if (East == East::None && North == North::Up && Power == 5 && South == South::None && West == West::None) return 2975; if (East == East::None && North == North::Up && Power == 6 && South == South::Up && West == West::Up) return 2976; if (East == East::None && North == North::Up && Power == 6 && South == South::Up && West == West::Side) return 2977; if (East == East::None && North == North::Up && Power == 6 && South == South::Up && West == West::None) return 2978; if (East == East::None && North == North::Up && Power == 6 && South == South::Side && West == West::Up) return 2979; if (East == East::None && North == North::Up && Power == 6 && South == South::Side && West == West::Side) return 2980; if (East == East::None && North == North::Up && Power == 6 && South == South::Side && West == West::None) return 2981; if (East == East::None && North == North::Up && Power == 6 && South == South::None && West == West::Up) return 2982; if (East == East::None && North == North::Up && Power == 6 && South == South::None && West == West::Side) return 2983; if (East == East::None && North == North::Up && Power == 6 && South == South::None && West == West::None) return 2984; if (East == East::None && North == North::Up && Power == 7 && South == South::Up && West == West::Up) return 2985; if (East == East::None && North == North::Up && Power == 7 && South == South::Up && West == West::Side) return 2986; if (East == East::None && North == North::Up && Power == 7 && South == South::Up && West == West::None) return 2987; if (East == East::None && North == North::Up && Power == 7 && South == South::Side && West == West::Up) return 2988; if (East == East::None && North == North::Up && Power == 7 && South == South::Side && West == West::Side) return 2989; if (East == East::None && North == North::Up && Power == 7 && South == South::Side && West == West::None) return 2990; if (East == East::None && North == North::Up && Power == 7 && South == South::None && West == West::Up) return 2991; if (East == East::None && North == North::Up && Power == 7 && South == South::None && West == West::Side) return 2992; if (East == East::None && North == North::Up && Power == 7 && South == South::None && West == West::None) return 2993; if (East == East::None && North == North::Up && Power == 8 && South == South::Up && West == West::Up) return 2994; if (East == East::None && North == North::Up && Power == 8 && South == South::Up && West == West::Side) return 2995; if (East == East::None && North == North::Up && Power == 8 && South == South::Up && West == West::None) return 2996; if (East == East::None && North == North::Up && Power == 8 && South == South::Side && West == West::Up) return 2997; if (East == East::None && North == North::Up && Power == 8 && South == South::Side && West == West::Side) return 2998; if (East == East::None && North == North::Up && Power == 8 && South == South::Side && West == West::None) return 2999; if (East == East::None && North == North::Up && Power == 8 && South == South::None && West == West::Up) return 3000; if (East == East::None && North == North::Up && Power == 8 && South == South::None && West == West::Side) return 3001; if (East == East::None && North == North::Up && Power == 8 && South == South::None && West == West::None) return 3002; if (East == East::None && North == North::Up && Power == 9 && South == South::Up && West == West::Up) return 3003; if (East == East::None && North == North::Up && Power == 9 && South == South::Up && West == West::Side) return 3004; if (East == East::None && North == North::Up && Power == 9 && South == South::Up && West == West::None) return 3005; if (East == East::None && North == North::Up && Power == 9 && South == South::Side && West == West::Up) return 3006; if (East == East::None && North == North::Up && Power == 9 && South == South::Side && West == West::Side) return 3007; if (East == East::None && North == North::Up && Power == 9 && South == South::Side && West == West::None) return 3008; if (East == East::None && North == North::Up && Power == 9 && South == South::None && West == West::Up) return 3009; if (East == East::None && North == North::Up && Power == 9 && South == South::None && West == West::Side) return 3010; if (East == East::None && North == North::Up && Power == 9 && South == South::None && West == West::None) return 3011; if (East == East::None && North == North::Up && Power == 10 && South == South::Up && West == West::Up) return 3012; if (East == East::None && North == North::Up && Power == 10 && South == South::Up && West == West::Side) return 3013; if (East == East::None && North == North::Up && Power == 10 && South == South::Up && West == West::None) return 3014; if (East == East::None && North == North::Up && Power == 10 && South == South::Side && West == West::Up) return 3015; if (East == East::None && North == North::Up && Power == 10 && South == South::Side && West == West::Side) return 3016; if (East == East::None && North == North::Up && Power == 10 && South == South::Side && West == West::None) return 3017; if (East == East::None && North == North::Up && Power == 10 && South == South::None && West == West::Up) return 3018; if (East == East::None && North == North::Up && Power == 10 && South == South::None && West == West::Side) return 3019; if (East == East::None && North == North::Up && Power == 10 && South == South::None && West == West::None) return 3020; if (East == East::None && North == North::Up && Power == 11 && South == South::Up && West == West::Up) return 3021; if (East == East::None && North == North::Up && Power == 11 && South == South::Up && West == West::Side) return 3022; if (East == East::None && North == North::Up && Power == 11 && South == South::Up && West == West::None) return 3023; if (East == East::None && North == North::Up && Power == 11 && South == South::Side && West == West::Up) return 3024; if (East == East::None && North == North::Up && Power == 11 && South == South::Side && West == West::Side) return 3025; if (East == East::None && North == North::Up && Power == 11 && South == South::Side && West == West::None) return 3026; if (East == East::None && North == North::Up && Power == 11 && South == South::None && West == West::Up) return 3027; if (East == East::None && North == North::Up && Power == 11 && South == South::None && West == West::Side) return 3028; if (East == East::None && North == North::Up && Power == 11 && South == South::None && West == West::None) return 3029; if (East == East::None && North == North::Up && Power == 12 && South == South::Up && West == West::Up) return 3030; if (East == East::None && North == North::Up && Power == 12 && South == South::Up && West == West::Side) return 3031; if (East == East::None && North == North::Up && Power == 12 && South == South::Up && West == West::None) return 3032; if (East == East::None && North == North::Up && Power == 12 && South == South::Side && West == West::Up) return 3033; if (East == East::None && North == North::Up && Power == 12 && South == South::Side && West == West::Side) return 3034; if (East == East::None && North == North::Up && Power == 12 && South == South::Side && West == West::None) return 3035; if (East == East::None && North == North::Up && Power == 12 && South == South::None && West == West::Up) return 3036; if (East == East::None && North == North::Up && Power == 12 && South == South::None && West == West::Side) return 3037; if (East == East::None && North == North::Up && Power == 12 && South == South::None && West == West::None) return 3038; if (East == East::None && North == North::Up && Power == 13 && South == South::Up && West == West::Up) return 3039; if (East == East::None && North == North::Up && Power == 13 && South == South::Up && West == West::Side) return 3040; if (East == East::None && North == North::Up && Power == 13 && South == South::Up && West == West::None) return 3041; if (East == East::None && North == North::Up && Power == 13 && South == South::Side && West == West::Up) return 3042; if (East == East::None && North == North::Up && Power == 13 && South == South::Side && West == West::Side) return 3043; if (East == East::None && North == North::Up && Power == 13 && South == South::Side && West == West::None) return 3044; if (East == East::None && North == North::Up && Power == 13 && South == South::None && West == West::Up) return 3045; if (East == East::None && North == North::Up && Power == 13 && South == South::None && West == West::Side) return 3046; if (East == East::None && North == North::Up && Power == 13 && South == South::None && West == West::None) return 3047; if (East == East::None && North == North::Up && Power == 14 && South == South::Up && West == West::Up) return 3048; if (East == East::None && North == North::Up && Power == 14 && South == South::Up && West == West::Side) return 3049; if (East == East::None && North == North::Up && Power == 14 && South == South::Up && West == West::None) return 3050; if (East == East::None && North == North::Up && Power == 14 && South == South::Side && West == West::Up) return 3051; if (East == East::None && North == North::Up && Power == 14 && South == South::Side && West == West::Side) return 3052; if (East == East::None && North == North::Up && Power == 14 && South == South::Side && West == West::None) return 3053; if (East == East::None && North == North::Up && Power == 14 && South == South::None && West == West::Up) return 3054; if (East == East::None && North == North::Up && Power == 14 && South == South::None && West == West::Side) return 3055; if (East == East::None && North == North::Up && Power == 14 && South == South::None && West == West::None) return 3056; if (East == East::None && North == North::Up && Power == 15 && South == South::Up && West == West::Up) return 3057; if (East == East::None && North == North::Up && Power == 15 && South == South::Up && West == West::Side) return 3058; if (East == East::None && North == North::Up && Power == 15 && South == South::Up && West == West::None) return 3059; if (East == East::None && North == North::Up && Power == 15 && South == South::Side && West == West::Up) return 3060; if (East == East::None && North == North::Up && Power == 15 && South == South::Side && West == West::Side) return 3061; if (East == East::None && North == North::Up && Power == 15 && South == South::Side && West == West::None) return 3062; if (East == East::None && North == North::Up && Power == 15 && South == South::None && West == West::Up) return 3063; if (East == East::None && North == North::Up && Power == 15 && South == South::None && West == West::Side) return 3064; if (East == East::None && North == North::Up && Power == 15 && South == South::None && West == West::None) return 3065; if (East == East::None && North == North::Side && Power == 0 && South == South::Up && West == West::Up) return 3066; if (East == East::None && North == North::Side && Power == 0 && South == South::Up && West == West::Side) return 3067; if (East == East::None && North == North::Side && Power == 0 && South == South::Up && West == West::None) return 3068; if (East == East::None && North == North::Side && Power == 0 && South == South::Side && West == West::Up) return 3069; if (East == East::None && North == North::Side && Power == 0 && South == South::Side && West == West::Side) return 3070; if (East == East::None && North == North::Side && Power == 0 && South == South::Side && West == West::None) return 3071; if (East == East::None && North == North::Side && Power == 0 && South == South::None && West == West::Up) return 3072; if (East == East::None && North == North::Side && Power == 0 && South == South::None && West == West::Side) return 3073; if (East == East::None && North == North::Side && Power == 0 && South == South::None && West == West::None) return 3074; if (East == East::None && North == North::Side && Power == 1 && South == South::Up && West == West::Up) return 3075; if (East == East::None && North == North::Side && Power == 1 && South == South::Up && West == West::Side) return 3076; if (East == East::None && North == North::Side && Power == 1 && South == South::Up && West == West::None) return 3077; if (East == East::None && North == North::Side && Power == 1 && South == South::Side && West == West::Up) return 3078; if (East == East::None && North == North::Side && Power == 1 && South == South::Side && West == West::Side) return 3079; if (East == East::None && North == North::Side && Power == 1 && South == South::Side && West == West::None) return 3080; if (East == East::None && North == North::Side && Power == 1 && South == South::None && West == West::Up) return 3081; if (East == East::None && North == North::Side && Power == 1 && South == South::None && West == West::Side) return 3082; if (East == East::None && North == North::Side && Power == 1 && South == South::None && West == West::None) return 3083; if (East == East::None && North == North::Side && Power == 2 && South == South::Up && West == West::Up) return 3084; if (East == East::None && North == North::Side && Power == 2 && South == South::Up && West == West::Side) return 3085; if (East == East::None && North == North::Side && Power == 2 && South == South::Up && West == West::None) return 3086; if (East == East::None && North == North::Side && Power == 2 && South == South::Side && West == West::Up) return 3087; if (East == East::None && North == North::Side && Power == 2 && South == South::Side && West == West::Side) return 3088; if (East == East::None && North == North::Side && Power == 2 && South == South::Side && West == West::None) return 3089; if (East == East::None && North == North::Side && Power == 2 && South == South::None && West == West::Up) return 3090; if (East == East::None && North == North::Side && Power == 2 && South == South::None && West == West::Side) return 3091; if (East == East::None && North == North::Side && Power == 2 && South == South::None && West == West::None) return 3092; if (East == East::None && North == North::Side && Power == 3 && South == South::Up && West == West::Up) return 3093; if (East == East::None && North == North::Side && Power == 3 && South == South::Up && West == West::Side) return 3094; if (East == East::None && North == North::Side && Power == 3 && South == South::Up && West == West::None) return 3095; if (East == East::None && North == North::Side && Power == 3 && South == South::Side && West == West::Up) return 3096; if (East == East::None && North == North::Side && Power == 3 && South == South::Side && West == West::Side) return 3097; if (East == East::None && North == North::Side && Power == 3 && South == South::Side && West == West::None) return 3098; if (East == East::None && North == North::Side && Power == 3 && South == South::None && West == West::Up) return 3099; if (East == East::None && North == North::Side && Power == 3 && South == South::None && West == West::Side) return 3100; if (East == East::None && North == North::Side && Power == 3 && South == South::None && West == West::None) return 3101; if (East == East::None && North == North::Side && Power == 4 && South == South::Up && West == West::Up) return 3102; if (East == East::None && North == North::Side && Power == 4 && South == South::Up && West == West::Side) return 3103; if (East == East::None && North == North::Side && Power == 4 && South == South::Up && West == West::None) return 3104; if (East == East::None && North == North::Side && Power == 4 && South == South::Side && West == West::Up) return 3105; if (East == East::None && North == North::Side && Power == 4 && South == South::Side && West == West::Side) return 3106; if (East == East::None && North == North::Side && Power == 4 && South == South::Side && West == West::None) return 3107; if (East == East::None && North == North::Side && Power == 4 && South == South::None && West == West::Up) return 3108; if (East == East::None && North == North::Side && Power == 4 && South == South::None && West == West::Side) return 3109; if (East == East::None && North == North::Side && Power == 4 && South == South::None && West == West::None) return 3110; if (East == East::None && North == North::Side && Power == 5 && South == South::Up && West == West::Up) return 3111; if (East == East::None && North == North::Side && Power == 5 && South == South::Up && West == West::Side) return 3112; if (East == East::None && North == North::Side && Power == 5 && South == South::Up && West == West::None) return 3113; if (East == East::None && North == North::Side && Power == 5 && South == South::Side && West == West::Up) return 3114; if (East == East::None && North == North::Side && Power == 5 && South == South::Side && West == West::Side) return 3115; if (East == East::None && North == North::Side && Power == 5 && South == South::Side && West == West::None) return 3116; if (East == East::None && North == North::Side && Power == 5 && South == South::None && West == West::Up) return 3117; if (East == East::None && North == North::Side && Power == 5 && South == South::None && West == West::Side) return 3118; if (East == East::None && North == North::Side && Power == 5 && South == South::None && West == West::None) return 3119; if (East == East::None && North == North::Side && Power == 6 && South == South::Up && West == West::Up) return 3120; if (East == East::None && North == North::Side && Power == 6 && South == South::Up && West == West::Side) return 3121; if (East == East::None && North == North::Side && Power == 6 && South == South::Up && West == West::None) return 3122; if (East == East::None && North == North::Side && Power == 6 && South == South::Side && West == West::Up) return 3123; if (East == East::None && North == North::Side && Power == 6 && South == South::Side && West == West::Side) return 3124; if (East == East::None && North == North::Side && Power == 6 && South == South::Side && West == West::None) return 3125; if (East == East::None && North == North::Side && Power == 6 && South == South::None && West == West::Up) return 3126; if (East == East::None && North == North::Side && Power == 6 && South == South::None && West == West::Side) return 3127; if (East == East::None && North == North::Side && Power == 6 && South == South::None && West == West::None) return 3128; if (East == East::None && North == North::Side && Power == 7 && South == South::Up && West == West::Up) return 3129; if (East == East::None && North == North::Side && Power == 7 && South == South::Up && West == West::Side) return 3130; if (East == East::None && North == North::Side && Power == 7 && South == South::Up && West == West::None) return 3131; if (East == East::None && North == North::Side && Power == 7 && South == South::Side && West == West::Up) return 3132; if (East == East::None && North == North::Side && Power == 7 && South == South::Side && West == West::Side) return 3133; if (East == East::None && North == North::Side && Power == 7 && South == South::Side && West == West::None) return 3134; if (East == East::None && North == North::Side && Power == 7 && South == South::None && West == West::Up) return 3135; if (East == East::None && North == North::Side && Power == 7 && South == South::None && West == West::Side) return 3136; if (East == East::None && North == North::Side && Power == 7 && South == South::None && West == West::None) return 3137; if (East == East::None && North == North::Side && Power == 8 && South == South::Up && West == West::Up) return 3138; if (East == East::None && North == North::Side && Power == 8 && South == South::Up && West == West::Side) return 3139; if (East == East::None && North == North::Side && Power == 8 && South == South::Up && West == West::None) return 3140; if (East == East::None && North == North::Side && Power == 8 && South == South::Side && West == West::Up) return 3141; if (East == East::None && North == North::Side && Power == 8 && South == South::Side && West == West::Side) return 3142; if (East == East::None && North == North::Side && Power == 8 && South == South::Side && West == West::None) return 3143; if (East == East::None && North == North::Side && Power == 8 && South == South::None && West == West::Up) return 3144; if (East == East::None && North == North::Side && Power == 8 && South == South::None && West == West::Side) return 3145; if (East == East::None && North == North::Side && Power == 8 && South == South::None && West == West::None) return 3146; if (East == East::None && North == North::Side && Power == 9 && South == South::Up && West == West::Up) return 3147; if (East == East::None && North == North::Side && Power == 9 && South == South::Up && West == West::Side) return 3148; if (East == East::None && North == North::Side && Power == 9 && South == South::Up && West == West::None) return 3149; if (East == East::None && North == North::Side && Power == 9 && South == South::Side && West == West::Up) return 3150; if (East == East::None && North == North::Side && Power == 9 && South == South::Side && West == West::Side) return 3151; if (East == East::None && North == North::Side && Power == 9 && South == South::Side && West == West::None) return 3152; if (East == East::None && North == North::Side && Power == 9 && South == South::None && West == West::Up) return 3153; if (East == East::None && North == North::Side && Power == 9 && South == South::None && West == West::Side) return 3154; if (East == East::None && North == North::Side && Power == 9 && South == South::None && West == West::None) return 3155; if (East == East::None && North == North::Side && Power == 10 && South == South::Up && West == West::Up) return 3156; if (East == East::None && North == North::Side && Power == 10 && South == South::Up && West == West::Side) return 3157; if (East == East::None && North == North::Side && Power == 10 && South == South::Up && West == West::None) return 3158; if (East == East::None && North == North::Side && Power == 10 && South == South::Side && West == West::Up) return 3159; if (East == East::None && North == North::Side && Power == 10 && South == South::Side && West == West::Side) return 3160; if (East == East::None && North == North::Side && Power == 10 && South == South::Side && West == West::None) return 3161; if (East == East::None && North == North::Side && Power == 10 && South == South::None && West == West::Up) return 3162; if (East == East::None && North == North::Side && Power == 10 && South == South::None && West == West::Side) return 3163; if (East == East::None && North == North::Side && Power == 10 && South == South::None && West == West::None) return 3164; if (East == East::None && North == North::Side && Power == 11 && South == South::Up && West == West::Up) return 3165; if (East == East::None && North == North::Side && Power == 11 && South == South::Up && West == West::Side) return 3166; if (East == East::None && North == North::Side && Power == 11 && South == South::Up && West == West::None) return 3167; if (East == East::None && North == North::Side && Power == 11 && South == South::Side && West == West::Up) return 3168; if (East == East::None && North == North::Side && Power == 11 && South == South::Side && West == West::Side) return 3169; if (East == East::None && North == North::Side && Power == 11 && South == South::Side && West == West::None) return 3170; if (East == East::None && North == North::Side && Power == 11 && South == South::None && West == West::Up) return 3171; if (East == East::None && North == North::Side && Power == 11 && South == South::None && West == West::Side) return 3172; if (East == East::None && North == North::Side && Power == 11 && South == South::None && West == West::None) return 3173; if (East == East::None && North == North::Side && Power == 12 && South == South::Up && West == West::Up) return 3174; if (East == East::None && North == North::Side && Power == 12 && South == South::Up && West == West::Side) return 3175; if (East == East::None && North == North::Side && Power == 12 && South == South::Up && West == West::None) return 3176; if (East == East::None && North == North::Side && Power == 12 && South == South::Side && West == West::Up) return 3177; if (East == East::None && North == North::Side && Power == 12 && South == South::Side && West == West::Side) return 3178; if (East == East::None && North == North::Side && Power == 12 && South == South::Side && West == West::None) return 3179; if (East == East::None && North == North::Side && Power == 12 && South == South::None && West == West::Up) return 3180; if (East == East::None && North == North::Side && Power == 12 && South == South::None && West == West::Side) return 3181; if (East == East::None && North == North::Side && Power == 12 && South == South::None && West == West::None) return 3182; if (East == East::None && North == North::Side && Power == 13 && South == South::Up && West == West::Up) return 3183; if (East == East::None && North == North::Side && Power == 13 && South == South::Up && West == West::Side) return 3184; if (East == East::None && North == North::Side && Power == 13 && South == South::Up && West == West::None) return 3185; if (East == East::None && North == North::Side && Power == 13 && South == South::Side && West == West::Up) return 3186; if (East == East::None && North == North::Side && Power == 13 && South == South::Side && West == West::Side) return 3187; if (East == East::None && North == North::Side && Power == 13 && South == South::Side && West == West::None) return 3188; if (East == East::None && North == North::Side && Power == 13 && South == South::None && West == West::Up) return 3189; if (East == East::None && North == North::Side && Power == 13 && South == South::None && West == West::Side) return 3190; if (East == East::None && North == North::Side && Power == 13 && South == South::None && West == West::None) return 3191; if (East == East::None && North == North::Side && Power == 14 && South == South::Up && West == West::Up) return 3192; if (East == East::None && North == North::Side && Power == 14 && South == South::Up && West == West::Side) return 3193; if (East == East::None && North == North::Side && Power == 14 && South == South::Up && West == West::None) return 3194; if (East == East::None && North == North::Side && Power == 14 && South == South::Side && West == West::Up) return 3195; if (East == East::None && North == North::Side && Power == 14 && South == South::Side && West == West::Side) return 3196; if (East == East::None && North == North::Side && Power == 14 && South == South::Side && West == West::None) return 3197; if (East == East::None && North == North::Side && Power == 14 && South == South::None && West == West::Up) return 3198; if (East == East::None && North == North::Side && Power == 14 && South == South::None && West == West::Side) return 3199; if (East == East::None && North == North::Side && Power == 14 && South == South::None && West == West::None) return 3200; if (East == East::None && North == North::Side && Power == 15 && South == South::Up && West == West::Up) return 3201; if (East == East::None && North == North::Side && Power == 15 && South == South::Up && West == West::Side) return 3202; if (East == East::None && North == North::Side && Power == 15 && South == South::Up && West == West::None) return 3203; if (East == East::None && North == North::Side && Power == 15 && South == South::Side && West == West::Up) return 3204; if (East == East::None && North == North::Side && Power == 15 && South == South::Side && West == West::Side) return 3205; if (East == East::None && North == North::Side && Power == 15 && South == South::Side && West == West::None) return 3206; if (East == East::None && North == North::Side && Power == 15 && South == South::None && West == West::Up) return 3207; if (East == East::None && North == North::Side && Power == 15 && South == South::None && West == West::Side) return 3208; if (East == East::None && North == North::Side && Power == 15 && South == South::None && West == West::None) return 3209; if (East == East::None && North == North::None && Power == 0 && South == South::Up && West == West::Up) return 3210; if (East == East::None && North == North::None && Power == 0 && South == South::Up && West == West::Side) return 3211; if (East == East::None && North == North::None && Power == 0 && South == South::Up && West == West::None) return 3212; if (East == East::None && North == North::None && Power == 0 && South == South::Side && West == West::Up) return 3213; if (East == East::None && North == North::None && Power == 0 && South == South::Side && West == West::Side) return 3214; if (East == East::None && North == North::None && Power == 0 && South == South::Side && West == West::None) return 3215; if (East == East::None && North == North::None && Power == 0 && South == South::None && West == West::Up) return 3216; if (East == East::None && North == North::None && Power == 0 && South == South::None && West == West::Side) return 3217; if (East == East::None && North == North::None && Power == 0 && South == South::None && West == West::None) return 3218; if (East == East::None && North == North::None && Power == 1 && South == South::Up && West == West::Up) return 3219; if (East == East::None && North == North::None && Power == 1 && South == South::Up && West == West::Side) return 3220; if (East == East::None && North == North::None && Power == 1 && South == South::Up && West == West::None) return 3221; if (East == East::None && North == North::None && Power == 1 && South == South::Side && West == West::Up) return 3222; if (East == East::None && North == North::None && Power == 1 && South == South::Side && West == West::Side) return 3223; if (East == East::None && North == North::None && Power == 1 && South == South::Side && West == West::None) return 3224; if (East == East::None && North == North::None && Power == 1 && South == South::None && West == West::Up) return 3225; if (East == East::None && North == North::None && Power == 1 && South == South::None && West == West::Side) return 3226; if (East == East::None && North == North::None && Power == 1 && South == South::None && West == West::None) return 3227; if (East == East::None && North == North::None && Power == 2 && South == South::Up && West == West::Up) return 3228; if (East == East::None && North == North::None && Power == 2 && South == South::Up && West == West::Side) return 3229; if (East == East::None && North == North::None && Power == 2 && South == South::Up && West == West::None) return 3230; if (East == East::None && North == North::None && Power == 2 && South == South::Side && West == West::Up) return 3231; if (East == East::None && North == North::None && Power == 2 && South == South::Side && West == West::Side) return 3232; if (East == East::None && North == North::None && Power == 2 && South == South::Side && West == West::None) return 3233; if (East == East::None && North == North::None && Power == 2 && South == South::None && West == West::Up) return 3234; if (East == East::None && North == North::None && Power == 2 && South == South::None && West == West::Side) return 3235; if (East == East::None && North == North::None && Power == 2 && South == South::None && West == West::None) return 3236; if (East == East::None && North == North::None && Power == 3 && South == South::Up && West == West::Up) return 3237; if (East == East::None && North == North::None && Power == 3 && South == South::Up && West == West::Side) return 3238; if (East == East::None && North == North::None && Power == 3 && South == South::Up && West == West::None) return 3239; if (East == East::None && North == North::None && Power == 3 && South == South::Side && West == West::Up) return 3240; if (East == East::None && North == North::None && Power == 3 && South == South::Side && West == West::Side) return 3241; if (East == East::None && North == North::None && Power == 3 && South == South::Side && West == West::None) return 3242; if (East == East::None && North == North::None && Power == 3 && South == South::None && West == West::Up) return 3243; if (East == East::None && North == North::None && Power == 3 && South == South::None && West == West::Side) return 3244; if (East == East::None && North == North::None && Power == 3 && South == South::None && West == West::None) return 3245; if (East == East::None && North == North::None && Power == 4 && South == South::Up && West == West::Up) return 3246; if (East == East::None && North == North::None && Power == 4 && South == South::Up && West == West::Side) return 3247; if (East == East::None && North == North::None && Power == 4 && South == South::Up && West == West::None) return 3248; if (East == East::None && North == North::None && Power == 4 && South == South::Side && West == West::Up) return 3249; if (East == East::None && North == North::None && Power == 4 && South == South::Side && West == West::Side) return 3250; if (East == East::None && North == North::None && Power == 4 && South == South::Side && West == West::None) return 3251; if (East == East::None && North == North::None && Power == 4 && South == South::None && West == West::Up) return 3252; if (East == East::None && North == North::None && Power == 4 && South == South::None && West == West::Side) return 3253; if (East == East::None && North == North::None && Power == 4 && South == South::None && West == West::None) return 3254; if (East == East::None && North == North::None && Power == 5 && South == South::Up && West == West::Up) return 3255; if (East == East::None && North == North::None && Power == 5 && South == South::Up && West == West::Side) return 3256; if (East == East::None && North == North::None && Power == 5 && South == South::Up && West == West::None) return 3257; if (East == East::None && North == North::None && Power == 5 && South == South::Side && West == West::Up) return 3258; if (East == East::None && North == North::None && Power == 5 && South == South::Side && West == West::Side) return 3259; if (East == East::None && North == North::None && Power == 5 && South == South::Side && West == West::None) return 3260; if (East == East::None && North == North::None && Power == 5 && South == South::None && West == West::Up) return 3261; if (East == East::None && North == North::None && Power == 5 && South == South::None && West == West::Side) return 3262; if (East == East::None && North == North::None && Power == 5 && South == South::None && West == West::None) return 3263; if (East == East::None && North == North::None && Power == 6 && South == South::Up && West == West::Up) return 3264; if (East == East::None && North == North::None && Power == 6 && South == South::Up && West == West::Side) return 3265; if (East == East::None && North == North::None && Power == 6 && South == South::Up && West == West::None) return 3266; if (East == East::None && North == North::None && Power == 6 && South == South::Side && West == West::Up) return 3267; if (East == East::None && North == North::None && Power == 6 && South == South::Side && West == West::Side) return 3268; if (East == East::None && North == North::None && Power == 6 && South == South::Side && West == West::None) return 3269; if (East == East::None && North == North::None && Power == 6 && South == South::None && West == West::Up) return 3270; if (East == East::None && North == North::None && Power == 6 && South == South::None && West == West::Side) return 3271; if (East == East::None && North == North::None && Power == 6 && South == South::None && West == West::None) return 3272; if (East == East::None && North == North::None && Power == 7 && South == South::Up && West == West::Up) return 3273; if (East == East::None && North == North::None && Power == 7 && South == South::Up && West == West::Side) return 3274; if (East == East::None && North == North::None && Power == 7 && South == South::Up && West == West::None) return 3275; if (East == East::None && North == North::None && Power == 7 && South == South::Side && West == West::Up) return 3276; if (East == East::None && North == North::None && Power == 7 && South == South::Side && West == West::Side) return 3277; if (East == East::None && North == North::None && Power == 7 && South == South::Side && West == West::None) return 3278; if (East == East::None && North == North::None && Power == 7 && South == South::None && West == West::Up) return 3279; if (East == East::None && North == North::None && Power == 7 && South == South::None && West == West::Side) return 3280; if (East == East::None && North == North::None && Power == 7 && South == South::None && West == West::None) return 3281; if (East == East::None && North == North::None && Power == 8 && South == South::Up && West == West::Up) return 3282; if (East == East::None && North == North::None && Power == 8 && South == South::Up && West == West::Side) return 3283; if (East == East::None && North == North::None && Power == 8 && South == South::Up && West == West::None) return 3284; if (East == East::None && North == North::None && Power == 8 && South == South::Side && West == West::Up) return 3285; if (East == East::None && North == North::None && Power == 8 && South == South::Side && West == West::Side) return 3286; if (East == East::None && North == North::None && Power == 8 && South == South::Side && West == West::None) return 3287; if (East == East::None && North == North::None && Power == 8 && South == South::None && West == West::Up) return 3288; if (East == East::None && North == North::None && Power == 8 && South == South::None && West == West::Side) return 3289; if (East == East::None && North == North::None && Power == 8 && South == South::None && West == West::None) return 3290; if (East == East::None && North == North::None && Power == 9 && South == South::Up && West == West::Up) return 3291; if (East == East::None && North == North::None && Power == 9 && South == South::Up && West == West::Side) return 3292; if (East == East::None && North == North::None && Power == 9 && South == South::Up && West == West::None) return 3293; if (East == East::None && North == North::None && Power == 9 && South == South::Side && West == West::Up) return 3294; if (East == East::None && North == North::None && Power == 9 && South == South::Side && West == West::Side) return 3295; if (East == East::None && North == North::None && Power == 9 && South == South::Side && West == West::None) return 3296; if (East == East::None && North == North::None && Power == 9 && South == South::None && West == West::Up) return 3297; if (East == East::None && North == North::None && Power == 9 && South == South::None && West == West::Side) return 3298; if (East == East::None && North == North::None && Power == 9 && South == South::None && West == West::None) return 3299; if (East == East::None && North == North::None && Power == 10 && South == South::Up && West == West::Up) return 3300; if (East == East::None && North == North::None && Power == 10 && South == South::Up && West == West::Side) return 3301; if (East == East::None && North == North::None && Power == 10 && South == South::Up && West == West::None) return 3302; if (East == East::None && North == North::None && Power == 10 && South == South::Side && West == West::Up) return 3303; if (East == East::None && North == North::None && Power == 10 && South == South::Side && West == West::Side) return 3304; if (East == East::None && North == North::None && Power == 10 && South == South::Side && West == West::None) return 3305; if (East == East::None && North == North::None && Power == 10 && South == South::None && West == West::Up) return 3306; if (East == East::None && North == North::None && Power == 10 && South == South::None && West == West::Side) return 3307; if (East == East::None && North == North::None && Power == 10 && South == South::None && West == West::None) return 3308; if (East == East::None && North == North::None && Power == 11 && South == South::Up && West == West::Up) return 3309; if (East == East::None && North == North::None && Power == 11 && South == South::Up && West == West::Side) return 3310; if (East == East::None && North == North::None && Power == 11 && South == South::Up && West == West::None) return 3311; if (East == East::None && North == North::None && Power == 11 && South == South::Side && West == West::Up) return 3312; if (East == East::None && North == North::None && Power == 11 && South == South::Side && West == West::Side) return 3313; if (East == East::None && North == North::None && Power == 11 && South == South::Side && West == West::None) return 3314; if (East == East::None && North == North::None && Power == 11 && South == South::None && West == West::Up) return 3315; if (East == East::None && North == North::None && Power == 11 && South == South::None && West == West::Side) return 3316; if (East == East::None && North == North::None && Power == 11 && South == South::None && West == West::None) return 3317; if (East == East::None && North == North::None && Power == 12 && South == South::Up && West == West::Up) return 3318; if (East == East::None && North == North::None && Power == 12 && South == South::Up && West == West::Side) return 3319; if (East == East::None && North == North::None && Power == 12 && South == South::Up && West == West::None) return 3320; if (East == East::None && North == North::None && Power == 12 && South == South::Side && West == West::Up) return 3321; if (East == East::None && North == North::None && Power == 12 && South == South::Side && West == West::Side) return 3322; if (East == East::None && North == North::None && Power == 12 && South == South::Side && West == West::None) return 3323; if (East == East::None && North == North::None && Power == 12 && South == South::None && West == West::Up) return 3324; if (East == East::None && North == North::None && Power == 12 && South == South::None && West == West::Side) return 3325; if (East == East::None && North == North::None && Power == 12 && South == South::None && West == West::None) return 3326; if (East == East::None && North == North::None && Power == 13 && South == South::Up && West == West::Up) return 3327; if (East == East::None && North == North::None && Power == 13 && South == South::Up && West == West::Side) return 3328; if (East == East::None && North == North::None && Power == 13 && South == South::Up && West == West::None) return 3329; if (East == East::None && North == North::None && Power == 13 && South == South::Side && West == West::Up) return 3330; if (East == East::None && North == North::None && Power == 13 && South == South::Side && West == West::Side) return 3331; if (East == East::None && North == North::None && Power == 13 && South == South::Side && West == West::None) return 3332; if (East == East::None && North == North::None && Power == 13 && South == South::None && West == West::Up) return 3333; if (East == East::None && North == North::None && Power == 13 && South == South::None && West == West::Side) return 3334; if (East == East::None && North == North::None && Power == 13 && South == South::None && West == West::None) return 3335; if (East == East::None && North == North::None && Power == 14 && South == South::Up && West == West::Up) return 3336; if (East == East::None && North == North::None && Power == 14 && South == South::Up && West == West::Side) return 3337; if (East == East::None && North == North::None && Power == 14 && South == South::Up && West == West::None) return 3338; if (East == East::None && North == North::None && Power == 14 && South == South::Side && West == West::Up) return 3339; if (East == East::None && North == North::None && Power == 14 && South == South::Side && West == West::Side) return 3340; if (East == East::None && North == North::None && Power == 14 && South == South::Side && West == West::None) return 3341; if (East == East::None && North == North::None && Power == 14 && South == South::None && West == West::Up) return 3342; if (East == East::None && North == North::None && Power == 14 && South == South::None && West == West::Side) return 3343; if (East == East::None && North == North::None && Power == 14 && South == South::None && West == West::None) return 3344; if (East == East::None && North == North::None && Power == 15 && South == South::Up && West == West::Up) return 3345; if (East == East::None && North == North::None && Power == 15 && South == South::Up && West == West::Side) return 3346; if (East == East::None && North == North::None && Power == 15 && South == South::Up && West == West::None) return 3347; if (East == East::None && North == North::None && Power == 15 && South == South::Side && West == West::Up) return 3348; if (East == East::None && North == North::None && Power == 15 && South == South::Side && West == West::Side) return 3349; if (East == East::None && North == North::None && Power == 15 && South == South::Side && West == West::None) return 3350; if (East == East::None && North == North::None && Power == 15 && South == South::None && West == West::Up) return 3351; if (East == East::None && North == North::None && Power == 15 && South == South::None && West == West::Side) return 3352; return 3353; } 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 (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZM && Locked && Powered) return 4031; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZM && Locked && !Powered) return 4032; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZM && !Locked && Powered) return 4033; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZM && !Locked && !Powered) return 4034; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZP && Locked && Powered) return 4035; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZP && Locked && !Powered) return 4036; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZP && !Locked && Powered) return 4037; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_ZP && !Locked && !Powered) return 4038; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XM && Locked && Powered) return 4039; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XM && Locked && !Powered) return 4040; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XM && !Locked && Powered) return 4041; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XM && !Locked && !Powered) return 4042; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XP && Locked && Powered) return 4043; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XP && Locked && !Powered) return 4044; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XP && !Locked && Powered) return 4045; if (Delay == 1 && Facing == eBlockFace::BLOCK_FACE_XP && !Locked && !Powered) return 4046; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZM && Locked && Powered) return 4047; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZM && Locked && !Powered) return 4048; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZM && !Locked && Powered) return 4049; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZM && !Locked && !Powered) return 4050; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZP && Locked && Powered) return 4051; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZP && Locked && !Powered) return 4052; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZP && !Locked && Powered) return 4053; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_ZP && !Locked && !Powered) return 4054; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XM && Locked && Powered) return 4055; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XM && Locked && !Powered) return 4056; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XM && !Locked && Powered) return 4057; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XM && !Locked && !Powered) return 4058; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XP && Locked && Powered) return 4059; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XP && Locked && !Powered) return 4060; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XP && !Locked && Powered) return 4061; if (Delay == 2 && Facing == eBlockFace::BLOCK_FACE_XP && !Locked && !Powered) return 4062; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZM && Locked && Powered) return 4063; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZM && Locked && !Powered) return 4064; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZM && !Locked && Powered) return 4065; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZM && !Locked && !Powered) return 4066; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZP && Locked && Powered) return 4067; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZP && Locked && !Powered) return 4068; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZP && !Locked && Powered) return 4069; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_ZP && !Locked && !Powered) return 4070; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XM && Locked && Powered) return 4071; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XM && Locked && !Powered) return 4072; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XM && !Locked && Powered) return 4073; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XM && !Locked && !Powered) return 4074; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XP && Locked && Powered) return 4075; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XP && Locked && !Powered) return 4076; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XP && !Locked && Powered) return 4077; if (Delay == 3 && Facing == eBlockFace::BLOCK_FACE_XP && !Locked && !Powered) return 4078; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZM && Locked && Powered) return 4079; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZM && Locked && !Powered) return 4080; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZM && !Locked && Powered) return 4081; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZM && !Locked && !Powered) return 4082; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZP && Locked && Powered) return 4083; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZP && Locked && !Powered) return 4084; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZP && !Locked && Powered) return 4085; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_ZP && !Locked && !Powered) return 4086; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XM && Locked && Powered) return 4087; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XM && Locked && !Powered) return 4088; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XM && !Locked && Powered) return 4089; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XM && !Locked && !Powered) return 4090; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XP && Locked && Powered) return 4091; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XP && Locked && !Powered) return 4092; if (Delay == 4 && Facing == eBlockFace::BLOCK_FACE_XP && !Locked && Powered) return 4093; 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_XP) return 9226; if (Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 9227; if (Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 9228; if (Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 9229; if (Conditional && Facing == eBlockFace::BLOCK_FACE_YM) return 9230; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZM) return 9231; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XP) return 9232; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_ZP) return 9233; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_XM) return 9234; if (!Conditional && Facing == eBlockFace::BLOCK_FACE_YP) return 9235; 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 == 1) return 15830; if (Charges == 2) return 15831; if (Charges == 3) return 15832; return 15833; } 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::Top) return 8349; if (Type == Type::Bottom) return 8351; return 8353; } short SandstoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 5171; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 5173; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 5175; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 5177; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 5179; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 5181; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5183; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5185; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5187; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5189; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 5191; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 5193; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 5195; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 5197; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 5199; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 5201; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5203; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5205; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5207; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 5209; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 5211; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 5213; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 5215; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 5217; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 5219; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 5221; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5223; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5225; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5227; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5229; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 5231; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 5233; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 5235; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 5237; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 5239; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 5241; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5243; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5245; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5247; return 5249; } short SandstoneStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 13786; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 13787; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 13788; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 13792; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 13793; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 13794; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 13798; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 13799; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 13800; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 13804; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 13805; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 13806; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 13810; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 13811; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 13812; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 13816; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 13817; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 13818; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 13822; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 13823; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 13824; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 13828; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 13829; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 13830; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 13834; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 13835; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 13836; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 13840; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 13841; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 13842; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 13846; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 13847; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 13848; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 13852; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 13853; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 13854; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 13858; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 13859; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 13860; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 13864; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 13865; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13866; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 13870; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 13871; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13872; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 13876; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13877; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13878; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 13882; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13883; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13884; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13888; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13889; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 13890; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 13894; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 13895; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 13896; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 13900; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 13901; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 13902; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 13906; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 13907; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 13908; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 13912; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 13913; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 13914; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 13918; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 13919; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 13920; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 13924; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 13925; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 13926; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 13930; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 13931; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 13932; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 13936; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 13937; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 13938; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 13942; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 13943; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 13944; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 13948; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 13949; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 13950; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 13954; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 13955; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 13956; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 13960; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 13961; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 13962; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 13966; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 13967; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 13968; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 13972; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 13973; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 13974; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 13978; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 13979; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 13980; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 13984; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 13985; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 13986; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 13990; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 13991; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 13992; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 13996; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 13997; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 13998; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 14002; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 14003; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 14004; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 14008; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 14009; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 14010; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 14014; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 14015; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 14016; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 14020; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 14021; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 14022; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 14026; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 14027; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 14028; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 14032; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 14033; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 14034; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 14038; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 14039; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 14040; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 14044; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 14045; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 14046; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 14050; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 14051; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 14052; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 14056; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 14057; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 14058; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 14062; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 14063; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 14064; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 14068; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 14069; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 14070; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 14074; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 14075; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 14076; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 14080; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 14081; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 14082; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 14086; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 14087; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 14088; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 14092; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 14093; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 14094; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 14098; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 14099; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 14100; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 14104; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 14105; return 14106; } short SandstoneWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(short ID); enum West West(short ID); } namespace Scaffolding { constexpr short Scaffolding(bool Bottom, unsigned char Distance) { if (Bottom && Distance == 0) return 14756; if (Bottom && Distance == 1) return 14758; if (Bottom && Distance == 2) return 14760; if (Bottom && Distance == 3) return 14762; if (Bottom && Distance == 4) return 14764; if (Bottom && Distance == 5) return 14766; if (Bottom && Distance == 6) return 14768; if (Bottom && Distance == 7) return 14770; if (!Bottom && Distance == 0) return 14772; if (!Bottom && Distance == 1) return 14774; if (!Bottom && Distance == 2) return 14776; if (!Bottom && Distance == 3) return 14778; if (!Bottom && Distance == 4) return 14780; if (!Bottom && Distance == 5) return 14782; if (!Bottom && Distance == 6) return 14784; return 14786; } short Scaffolding(); bool Bottom(short ID); unsigned char Distance(short ID); } namespace SeaLantern { constexpr short SeaLantern() { return 7862; } } namespace SeaPickle { constexpr short SeaPickle(unsigned char Pickles) { if (Pickles == 1) return 9641; if (Pickles == 2) return 9643; if (Pickles == 3) return 9645; return 9647; } short SeaPickle(); unsigned char Pickles(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_ZM) return 9272; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9273; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9274; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9275; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9276; return 9277; } short ShulkerBox(); eBlockFace Facing(short ID); } namespace SkeletonSkull { constexpr short SkeletonSkull(unsigned char Rotation) { 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; 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; return 6505; } short SkeletonSkull(); unsigned char Rotation(short ID); } namespace SkeletonWallSkull { constexpr short SkeletonWallSkull(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6506; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6507; if (Facing == eBlockFace::BLOCK_FACE_XM) return 6508; 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_ZM && Lit) return 14803; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit) return 14804; if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit) return 14805; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit) return 14806; if (Facing == eBlockFace::BLOCK_FACE_XM && Lit) return 14807; if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit) return 14808; if (Facing == eBlockFace::BLOCK_FACE_XP && Lit) return 14809; 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) return 10832; if (Type == Type::Bottom) return 10834; return 10836; } short SmoothQuartzSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 10310; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 10312; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 10314; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 10316; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 10318; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10320; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10322; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10324; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10326; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10328; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10330; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10332; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10334; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10336; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10338; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10340; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10342; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10344; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10346; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10348; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10350; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10352; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10354; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10356; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10358; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10360; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10362; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10364; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10366; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10368; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10370; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10372; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10374; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10376; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10378; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10380; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10382; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10384; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10386; return 10388; } short SmoothQuartzStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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) return 10796; if (Type == Type::Bottom) return 10798; return 10800; } short SmoothRedSandstoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 9750; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 9752; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 9754; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 9756; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 9758; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 9760; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9762; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9764; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9766; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9768; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 9770; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 9772; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 9774; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 9776; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 9778; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 9780; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9782; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9784; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9786; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 9788; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 9790; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 9792; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 9794; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 9796; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 9798; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 9800; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9802; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 9804; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9806; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 9808; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 9810; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 9812; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 9814; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 9816; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 9818; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 9820; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 9822; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 9824; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 9826; return 9828; } short SmoothRedSandstoneStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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::Top) return 10826; if (Type == Type::Bottom) return 10828; return 10830; } short SmoothSandstoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 10230; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 10232; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 10234; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 10236; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 10238; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10240; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10242; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10244; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10246; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10248; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10250; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10252; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10254; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10256; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10258; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10260; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10262; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10264; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10266; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10268; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10270; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10272; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10274; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10276; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10278; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10280; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10282; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10284; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10286; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10288; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10290; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10292; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10294; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10296; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10298; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10300; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10302; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10304; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10306; return 10308; } short SmoothSandstoneStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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::Top) return 8343; if (Type == Type::Bottom) return 8345; return 8347; } short SmoothStoneSlab(); enum Type Type(short ID); } namespace Snow { constexpr short Snow(unsigned char Layers) { if (Layers == 1) return 3921; if (Layers == 2) return 3922; if (Layers == 3) return 3923; if (Layers == 4) return 3924; if (Layers == 5) return 3925; if (Layers == 6) return 3926; if (Layers == 7) return 3927; 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_ZM && Lit && SignalFire) return 14923; if (Facing == eBlockFace::BLOCK_FACE_ZM && Lit && !SignalFire) return 14925; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit && SignalFire) return 14927; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Lit && !SignalFire) return 14929; if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit && SignalFire) return 14931; if (Facing == eBlockFace::BLOCK_FACE_ZP && Lit && !SignalFire) return 14933; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit && SignalFire) return 14935; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Lit && !SignalFire) return 14937; if (Facing == eBlockFace::BLOCK_FACE_XM && Lit && SignalFire) return 14939; if (Facing == eBlockFace::BLOCK_FACE_XM && Lit && !SignalFire) return 14941; if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit && SignalFire) return 14943; if (Facing == eBlockFace::BLOCK_FACE_XM && !Lit && !SignalFire) return 14945; if (Facing == eBlockFace::BLOCK_FACE_XP && Lit && SignalFire) return 14947; if (Facing == eBlockFace::BLOCK_FACE_XP && Lit && !SignalFire) return 14949; if (Facing == eBlockFace::BLOCK_FACE_XP && !Lit && SignalFire) return 14951; return 14953; } short SoulCampfire(); eBlockFace Facing(short ID); bool Lit(short ID); bool SignalFire(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_ZP) return 4010; if (Facing == eBlockFace::BLOCK_FACE_XM) return 4011; 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 && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6370; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6371; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6372; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6373; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6374; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6375; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6376; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6377; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6378; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6379; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6380; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6381; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6382; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6383; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6384; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 6385; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 6386; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 6387; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 6388; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 6389; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 6390; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 6391; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 6392; return 6393; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8738; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8739; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8740; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8741; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8742; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8743; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8744; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8745; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8746; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8747; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8748; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8749; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8750; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8751; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8752; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8753; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8754; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8755; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8756; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8757; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8758; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8759; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8760; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8761; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8762; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8763; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8764; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8765; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8766; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8767; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8768; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8769; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8770; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8771; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8772; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8773; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8774; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8775; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8776; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8777; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8778; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8779; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8780; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8781; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8782; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8783; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8784; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 8785; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 8786; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 8787; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 8788; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 8789; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 8790; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 8791; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 8792; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 8793; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 8794; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 8795; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 8796; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 8797; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 8798; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 8799; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 8800; 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 (East && North && South && West) return 8580; if (East && North && South && !West) return 8581; if (East && North && !South && West) return 8584; if (East && North && !South && !West) return 8585; if (East && !North && South && West) return 8588; if (East && !North && South && !West) return 8589; if (East && !North && !South && West) return 8592; if (East && !North && !South && !West) return 8593; if (!East && North && South && West) return 8596; if (!East && North && South && !West) return 8597; if (!East && North && !South && West) return 8600; if (!East && North && !South && !West) return 8601; if (!East && !North && South && West) return 8604; if (!East && !North && South && !West) return 8605; if (!East && !North && !South && West) return 8608; return 8609; } short SpruceFence(); bool East(short ID); bool North(short ID); bool South(short ID); bool West(short ID); } namespace SpruceFenceGate { constexpr short SpruceFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && Powered) return 8418; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && !Powered) return 8419; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && Powered) return 8420; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && !Powered) return 8421; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && Powered) return 8422; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && !Powered) return 8423; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && Powered) return 8424; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && !Powered) return 8425; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && Powered) return 8426; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && !Powered) return 8427; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && Powered) return 8428; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && !Powered) return 8429; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && Powered) return 8430; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && !Powered) return 8431; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && Powered) return 8432; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && !Powered) return 8433; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && Powered) return 8434; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && !Powered) return 8435; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && Powered) return 8436; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && !Powered) return 8437; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && Powered) return 8438; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && !Powered) return 8439; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && Powered) return 8440; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && !Powered) return 8441; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && Powered) return 8442; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && !Powered) return 8443; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && Powered) return 8444; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && !Powered) return 8445; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && Powered) return 8446; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && !Powered) return 8447; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && !Open && Powered) return 8448; 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 (Distance == 1 && Persistent) return 159; if (Distance == 1 && !Persistent) return 160; if (Distance == 2 && Persistent) return 161; if (Distance == 2 && !Persistent) return 162; if (Distance == 3 && Persistent) return 163; if (Distance == 3 && !Persistent) return 164; if (Distance == 4 && Persistent) return 165; if (Distance == 4 && !Persistent) return 166; if (Distance == 5 && Persistent) return 167; if (Distance == 5 && !Persistent) return 168; if (Distance == 6 && Persistent) return 169; if (Distance == 6 && !Persistent) return 170; if (Distance == 7 && Persistent) return 171; return 172; } 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 == 0) return 3414; if (Rotation == 1) return 3416; if (Rotation == 2) return 3418; if (Rotation == 3) return 3420; if (Rotation == 4) return 3422; if (Rotation == 5) return 3424; if (Rotation == 6) return 3426; if (Rotation == 7) return 3428; if (Rotation == 8) return 3430; if (Rotation == 9) return 3432; if (Rotation == 10) return 3434; if (Rotation == 11) return 3436; if (Rotation == 12) return 3438; if (Rotation == 13) return 3440; if (Rotation == 14) return 3442; return 3444; } short SpruceSign(); unsigned char Rotation(short ID); } namespace SpruceSlab { enum class Type { Top, Bottom, Double }; constexpr short SpruceSlab(enum Type Type) { if (Type == Type::Top) return 8307; if (Type == Type::Bottom) return 8309; return 8311; } short SpruceSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 5405; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 5407; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 5409; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 5411; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 5413; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 5415; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5417; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5419; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5421; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5423; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 5425; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 5427; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 5429; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 5431; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 5433; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 5435; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5437; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5439; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5441; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 5443; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 5445; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 5447; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 5449; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 5451; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 5453; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 5455; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5457; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 5459; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5461; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 5463; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 5465; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 5467; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 5469; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 5471; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 5473; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 5475; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5477; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5479; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5481; return 5483; } short SpruceStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace SpruceTrapdoor { enum class Half { Top, Bottom }; constexpr short SpruceTrapdoor(eBlockFace Facing, enum Half Half, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && Powered) return 4176; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && !Powered) return 4178; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && Powered) return 4180; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && !Powered) return 4182; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && Powered) return 4184; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && !Powered) return 4186; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && Powered) return 4188; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && !Powered) return 4190; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && Powered) return 4192; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && !Powered) return 4194; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && Powered) return 4196; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && !Powered) return 4198; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && Powered) return 4200; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && !Powered) return 4202; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && Powered) return 4204; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && !Powered) return 4206; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && Powered) return 4208; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && !Powered) return 4210; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && Powered) return 4212; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && !Powered) return 4214; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && Powered) return 4216; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && !Powered) return 4218; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && Powered) return 4220; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && !Powered) return 4222; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && Powered) return 4224; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && !Powered) return 4226; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && Powered) return 4228; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && !Powered) return 4230; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && Powered) return 4232; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && !Powered) return 4234; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && !Open && Powered) return 4236; return 4238; } short SpruceTrapdoor(); eBlockFace Facing(short ID); enum Half Half(short ID); bool Open(short ID); bool Powered(short ID); } namespace SpruceWallSign { constexpr short SpruceWallSign(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3744; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3746; if (Facing == eBlockFace::BLOCK_FACE_XM) return 3748; return 3750; } short SpruceWallSign(); eBlockFace Facing(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_ZM) return 1329; if (Extended && Facing == eBlockFace::BLOCK_FACE_XP) return 1330; if (Extended && Facing == eBlockFace::BLOCK_FACE_ZP) return 1331; if (Extended && Facing == eBlockFace::BLOCK_FACE_XM) return 1332; if (Extended && Facing == eBlockFace::BLOCK_FACE_YP) return 1333; if (Extended && Facing == eBlockFace::BLOCK_FACE_YM) return 1334; if (!Extended && Facing == eBlockFace::BLOCK_FACE_ZM) return 1335; if (!Extended && Facing == eBlockFace::BLOCK_FACE_XP) return 1336; if (!Extended && Facing == eBlockFace::BLOCK_FACE_ZP) return 1337; if (!Extended && Facing == eBlockFace::BLOCK_FACE_XM) return 1338; if (!Extended && Facing == eBlockFace::BLOCK_FACE_YP) return 1339; return 1340; } 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::Top) return 8379; if (Type == Type::Bottom) return 8381; return 8383; } short StoneBrickSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 4933; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 4935; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 4937; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 4939; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 4941; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 4943; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 4945; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 4947; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 4949; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 4951; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 4953; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 4955; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 4957; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 4959; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 4961; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 4963; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 4965; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 4967; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 4969; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 4971; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 4973; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 4975; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 4977; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 4979; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 4981; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 4983; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 4985; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 4987; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 4989; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 4991; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 4993; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 4995; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 4997; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 4999; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 5001; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 5003; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 5005; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 5007; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 5009; return 5011; } short StoneBrickStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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 (East == East::None && North == North::None && South == South::None && Up && West == West::None) return 12490; if (East == East::None && North == North::None && South == South::None && Up && West == West::Low) return 12491; if (East == East::None && North == North::None && South == South::None && Up && West == West::Tall) return 12492; if (East == East::None && North == North::None && South == South::None && !Up && West == West::None) return 12496; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Low) return 12497; if (East == East::None && North == North::None && South == South::None && !Up && West == West::Tall) return 12498; if (East == East::None && North == North::None && South == South::Low && Up && West == West::None) return 12502; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Low) return 12503; if (East == East::None && North == North::None && South == South::Low && Up && West == West::Tall) return 12504; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::None) return 12508; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Low) return 12509; if (East == East::None && North == North::None && South == South::Low && !Up && West == West::Tall) return 12510; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::None) return 12514; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Low) return 12515; if (East == East::None && North == North::None && South == South::Tall && Up && West == West::Tall) return 12516; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::None) return 12520; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Low) return 12521; if (East == East::None && North == North::None && South == South::Tall && !Up && West == West::Tall) return 12522; if (East == East::None && North == North::Low && South == South::None && Up && West == West::None) return 12526; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Low) return 12527; if (East == East::None && North == North::Low && South == South::None && Up && West == West::Tall) return 12528; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::None) return 12532; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Low) return 12533; if (East == East::None && North == North::Low && South == South::None && !Up && West == West::Tall) return 12534; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::None) return 12538; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Low) return 12539; if (East == East::None && North == North::Low && South == South::Low && Up && West == West::Tall) return 12540; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::None) return 12544; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Low) return 12545; if (East == East::None && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12546; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::None) return 12550; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Low) return 12551; if (East == East::None && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12552; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::None) return 12556; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12557; if (East == East::None && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12558; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::None) return 12562; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Low) return 12563; if (East == East::None && North == North::Tall && South == South::None && Up && West == West::Tall) return 12564; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::None) return 12568; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Low) return 12569; if (East == East::None && North == North::Tall && South == South::None && !Up && West == West::Tall) return 12570; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::None) return 12574; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Low) return 12575; if (East == East::None && North == North::Tall && South == South::Low && Up && West == West::Tall) return 12576; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::None) return 12580; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Low) return 12581; if (East == East::None && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 12582; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::None) return 12586; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Low) return 12587; if (East == East::None && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 12588; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::None) return 12592; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 12593; if (East == East::None && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 12594; if (East == East::Low && North == North::None && South == South::None && Up && West == West::None) return 12598; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Low) return 12599; if (East == East::Low && North == North::None && South == South::None && Up && West == West::Tall) return 12600; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::None) return 12604; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Low) return 12605; if (East == East::Low && North == North::None && South == South::None && !Up && West == West::Tall) return 12606; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::None) return 12610; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Low) return 12611; if (East == East::Low && North == North::None && South == South::Low && Up && West == West::Tall) return 12612; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::None) return 12616; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Low) return 12617; if (East == East::Low && North == North::None && South == South::Low && !Up && West == West::Tall) return 12618; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::None) return 12622; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Low) return 12623; if (East == East::Low && North == North::None && South == South::Tall && Up && West == West::Tall) return 12624; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::None) return 12628; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Low) return 12629; if (East == East::Low && North == North::None && South == South::Tall && !Up && West == West::Tall) return 12630; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::None) return 12634; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Low) return 12635; if (East == East::Low && North == North::Low && South == South::None && Up && West == West::Tall) return 12636; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::None) return 12640; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Low) return 12641; if (East == East::Low && North == North::Low && South == South::None && !Up && West == West::Tall) return 12642; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::None) return 12646; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Low) return 12647; if (East == East::Low && North == North::Low && South == South::Low && Up && West == West::Tall) return 12648; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::None) return 12652; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Low) return 12653; if (East == East::Low && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12654; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::None) return 12658; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Low) return 12659; if (East == East::Low && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12660; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::None) return 12664; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12665; if (East == East::Low && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12666; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::None) return 12670; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Low) return 12671; if (East == East::Low && North == North::Tall && South == South::None && Up && West == West::Tall) return 12672; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::None) return 12676; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Low) return 12677; if (East == East::Low && North == North::Tall && South == South::None && !Up && West == West::Tall) return 12678; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::None) return 12682; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Low) return 12683; if (East == East::Low && North == North::Tall && South == South::Low && Up && West == West::Tall) return 12684; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::None) return 12688; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Low) return 12689; if (East == East::Low && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 12690; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::None) return 12694; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Low) return 12695; if (East == East::Low && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 12696; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::None) return 12700; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 12701; if (East == East::Low && North == North::Tall && South == South::Tall && !Up && West == West::Tall) return 12702; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::None) return 12706; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Low) return 12707; if (East == East::Tall && North == North::None && South == South::None && Up && West == West::Tall) return 12708; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::None) return 12712; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Low) return 12713; if (East == East::Tall && North == North::None && South == South::None && !Up && West == West::Tall) return 12714; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::None) return 12718; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Low) return 12719; if (East == East::Tall && North == North::None && South == South::Low && Up && West == West::Tall) return 12720; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::None) return 12724; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Low) return 12725; if (East == East::Tall && North == North::None && South == South::Low && !Up && West == West::Tall) return 12726; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::None) return 12730; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Low) return 12731; if (East == East::Tall && North == North::None && South == South::Tall && Up && West == West::Tall) return 12732; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::None) return 12736; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Low) return 12737; if (East == East::Tall && North == North::None && South == South::Tall && !Up && West == West::Tall) return 12738; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::None) return 12742; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Low) return 12743; if (East == East::Tall && North == North::Low && South == South::None && Up && West == West::Tall) return 12744; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::None) return 12748; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Low) return 12749; if (East == East::Tall && North == North::Low && South == South::None && !Up && West == West::Tall) return 12750; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::None) return 12754; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Low) return 12755; if (East == East::Tall && North == North::Low && South == South::Low && Up && West == West::Tall) return 12756; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::None) return 12760; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Low) return 12761; if (East == East::Tall && North == North::Low && South == South::Low && !Up && West == West::Tall) return 12762; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::None) return 12766; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Low) return 12767; if (East == East::Tall && North == North::Low && South == South::Tall && Up && West == West::Tall) return 12768; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::None) return 12772; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Low) return 12773; if (East == East::Tall && North == North::Low && South == South::Tall && !Up && West == West::Tall) return 12774; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::None) return 12778; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Low) return 12779; if (East == East::Tall && North == North::Tall && South == South::None && Up && West == West::Tall) return 12780; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::None) return 12784; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Low) return 12785; if (East == East::Tall && North == North::Tall && South == South::None && !Up && West == West::Tall) return 12786; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::None) return 12790; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Low) return 12791; if (East == East::Tall && North == North::Tall && South == South::Low && Up && West == West::Tall) return 12792; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::None) return 12796; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Low) return 12797; if (East == East::Tall && North == North::Tall && South == South::Low && !Up && West == West::Tall) return 12798; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::None) return 12802; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Low) return 12803; if (East == East::Tall && North == North::Tall && South == South::Tall && Up && West == West::Tall) return 12804; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::None) return 12808; if (East == East::Tall && North == North::Tall && South == South::Tall && !Up && West == West::Low) return 12809; return 12810; } short StoneBrickWall(); enum East East(short ID); enum North North(short ID); enum South South(short ID); bool Up(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::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 3897; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 3898; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 3899; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 3900; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 3901; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 3902; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 3903; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 3904; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 3905; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 3906; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 3907; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 3908; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 3909; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 3910; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 3911; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 3912; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 3913; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 3914; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 3915; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 3916; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 3917; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 3918; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 3919; return 3920; } 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::Top) return 8337; if (Type == Type::Bottom) return 8339; return 8341; } short StoneSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 10150; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 10152; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 10154; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 10156; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 10158; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 10160; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10162; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10164; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10166; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10168; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 10170; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 10172; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 10174; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 10176; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 10178; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 10180; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10182; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10184; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10186; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 10188; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 10190; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 10192; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 10194; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 10196; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 10198; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 10200; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10202; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 10204; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10206; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 10208; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 10210; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 10212; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 10214; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 10216; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 10218; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 10220; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 10222; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 10224; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 10226; return 10228; } short StoneStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(short ID); } namespace Stonecutter { constexpr short Stonecutter(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14850; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14851; if (Facing == eBlockFace::BLOCK_FACE_XM) return 14852; 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::X) return 139; if (Axis == Axis::Y) return 140; return 141; } 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::X) return 133; if (Axis == Axis::Y) return 134; return 135; } short StrippedBirchWood(); enum Axis Axis(short ID); } namespace StrippedCrimsonHyphae { enum class Axis { X, Y, Z }; constexpr short StrippedCrimsonHyphae(enum Axis Axis) { if (Axis == Axis::X) return 14984; if (Axis == Axis::Y) return 14985; 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::X) return 14978; if (Axis == Axis::Y) return 14979; 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::X) return 142; if (Axis == Axis::Y) return 143; return 144; } 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::X) return 136; if (Axis == Axis::Y) return 137; return 138; } 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::X) return 130; if (Axis == Axis::Y) return 131; return 132; } 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::Y) return 14968; return 14969; } 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::Y) return 14962; return 14963; } 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::Load) return 15736; if (Mode == Mode::Corner) return 15737; 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 == 0) return 3948; if (Age == 1) return 3949; if (Age == 2) return 3950; if (Age == 3) return 3951; if (Age == 4) return 3952; if (Age == 5) return 3953; if (Age == 6) return 3954; if (Age == 7) return 3955; if (Age == 8) return 3956; if (Age == 9) return 3957; if (Age == 10) return 3958; if (Age == 11) return 3959; if (Age == 12) return 3960; if (Age == 13) return 3961; if (Age == 14) return 3962; 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 == 0) return 14954; if (Age == 1) return 14955; if (Age == 2) return 14956; return 14957; } short SweetBerryBush(); unsigned char Age(short ID); } namespace TNT { constexpr short TNT(bool Unstable) { if (Unstable) return 1430; return 1431; } short TNT(); bool Unstable(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 == 0) return 15760; if (Power == 1) return 15761; if (Power == 2) return 15762; if (Power == 3) return 15763; if (Power == 4) return 15764; if (Power == 5) return 15765; if (Power == 6) return 15766; if (Power == 7) return 15767; if (Power == 8) return 15768; if (Power == 9) return 15769; if (Power == 10) return 15770; if (Power == 11) return 15771; if (Power == 12) return 15772; if (Power == 13) return 15773; if (Power == 14) return 15774; return 15775; } short Target(); unsigned char Power(short ID); } namespace Terracotta { constexpr short Terracotta() { return 7882; } } namespace Torch { constexpr short Torch() { return 1435; } } namespace TrappedChest { enum class Type { Single, Left, Right }; constexpr short TrappedChest(eBlockFace Facing, enum Type Type) { if (Facing == eBlockFace::BLOCK_FACE_ZM && Type == Type::Single) return 6623; if (Facing == eBlockFace::BLOCK_FACE_ZM && Type == Type::Left) return 6625; if (Facing == eBlockFace::BLOCK_FACE_ZM && Type == Type::Right) return 6627; if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Single) return 6629; if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Left) return 6631; if (Facing == eBlockFace::BLOCK_FACE_ZP && Type == Type::Right) return 6633; if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Single) return 6635; if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Left) return 6637; if (Facing == eBlockFace::BLOCK_FACE_XM && Type == Type::Right) return 6639; if (Facing == eBlockFace::BLOCK_FACE_XP && Type == Type::Single) return 6641; if (Facing == eBlockFace::BLOCK_FACE_XP && Type == Type::Left) return 6643; return 6645; } short TrappedChest(); eBlockFace Facing(short ID); enum Type Type(short ID); } namespace Tripwire { constexpr short Tripwire(bool Attached, bool Disarmed, bool East, bool North, bool Powered, bool South, bool West) { if (Attached && Disarmed && East && North && Powered && South && West) return 5275; if (Attached && Disarmed && East && North && Powered && South && !West) return 5276; if (Attached && Disarmed && East && North && Powered && !South && West) return 5277; if (Attached && Disarmed && East && North && Powered && !South && !West) return 5278; if (Attached && Disarmed && East && North && !Powered && South && West) return 5279; if (Attached && Disarmed && East && North && !Powered && South && !West) return 5280; if (Attached && Disarmed && East && North && !Powered && !South && West) return 5281; if (Attached && Disarmed && East && North && !Powered && !South && !West) return 5282; if (Attached && Disarmed && East && !North && Powered && South && West) return 5283; if (Attached && Disarmed && East && !North && Powered && South && !West) return 5284; if (Attached && Disarmed && East && !North && Powered && !South && West) return 5285; if (Attached && Disarmed && East && !North && Powered && !South && !West) return 5286; if (Attached && Disarmed && East && !North && !Powered && South && West) return 5287; if (Attached && Disarmed && East && !North && !Powered && South && !West) return 5288; if (Attached && Disarmed && East && !North && !Powered && !South && West) return 5289; if (Attached && Disarmed && East && !North && !Powered && !South && !West) return 5290; if (Attached && Disarmed && !East && North && Powered && South && West) return 5291; if (Attached && Disarmed && !East && North && Powered && South && !West) return 5292; if (Attached && Disarmed && !East && North && Powered && !South && West) return 5293; if (Attached && Disarmed && !East && North && Powered && !South && !West) return 5294; if (Attached && Disarmed && !East && North && !Powered && South && West) return 5295; if (Attached && Disarmed && !East && North && !Powered && South && !West) return 5296; if (Attached && Disarmed && !East && North && !Powered && !South && West) return 5297; if (Attached && Disarmed && !East && North && !Powered && !South && !West) return 5298; if (Attached && Disarmed && !East && !North && Powered && South && West) return 5299; if (Attached && Disarmed && !East && !North && Powered && South && !West) return 5300; if (Attached && Disarmed && !East && !North && Powered && !South && West) return 5301; if (Attached && Disarmed && !East && !North && Powered && !South && !West) return 5302; if (Attached && Disarmed && !East && !North && !Powered && South && West) return 5303; if (Attached && Disarmed && !East && !North && !Powered && South && !West) return 5304; if (Attached && Disarmed && !East && !North && !Powered && !South && West) return 5305; if (Attached && Disarmed && !East && !North && !Powered && !South && !West) return 5306; if (Attached && !Disarmed && East && North && Powered && South && West) return 5307; if (Attached && !Disarmed && East && North && Powered && South && !West) return 5308; if (Attached && !Disarmed && East && North && Powered && !South && West) return 5309; if (Attached && !Disarmed && East && North && Powered && !South && !West) return 5310; if (Attached && !Disarmed && East && North && !Powered && South && West) return 5311; if (Attached && !Disarmed && East && North && !Powered && South && !West) return 5312; if (Attached && !Disarmed && East && North && !Powered && !South && West) return 5313; if (Attached && !Disarmed && East && North && !Powered && !South && !West) return 5314; if (Attached && !Disarmed && East && !North && Powered && South && West) return 5315; if (Attached && !Disarmed && East && !North && Powered && South && !West) return 5316; if (Attached && !Disarmed && East && !North && Powered && !South && West) return 5317; if (Attached && !Disarmed && East && !North && Powered && !South && !West) return 5318; if (Attached && !Disarmed && East && !North && !Powered && South && West) return 5319; if (Attached && !Disarmed && East && !North && !Powered && South && !West) return 5320; if (Attached && !Disarmed && East && !North && !Powered && !South && West) return 5321; if (Attached && !Disarmed && East && !North && !Powered && !South && !West) return 5322; if (Attached && !Disarmed && !East && North && Powered && South && West) return 5323; if (Attached && !Disarmed && !East && North && Powered && South && !West) return 5324; if (Attached && !Disarmed && !East && North && Powered && !South && West) return 5325; if (Attached && !Disarmed && !East && North && Powered && !South && !West) return 5326; if (Attached && !Disarmed && !East && North && !Powered && South && West) return 5327; if (Attached && !Disarmed && !East && North && !Powered && South && !West) return 5328; if (Attached && !Disarmed && !East && North && !Powered && !South && West) return 5329; if (Attached && !Disarmed && !East && North && !Powered && !South && !West) return 5330; if (Attached && !Disarmed && !East && !North && Powered && South && West) return 5331; if (Attached && !Disarmed && !East && !North && Powered && South && !West) return 5332; if (Attached && !Disarmed && !East && !North && Powered && !South && West) return 5333; if (Attached && !Disarmed && !East && !North && Powered && !South && !West) return 5334; if (Attached && !Disarmed && !East && !North && !Powered && South && West) return 5335; if (Attached && !Disarmed && !East && !North && !Powered && South && !West) return 5336; if (Attached && !Disarmed && !East && !North && !Powered && !South && West) return 5337; if (Attached && !Disarmed && !East && !North && !Powered && !South && !West) return 5338; if (!Attached && Disarmed && East && North && Powered && South && West) return 5339; if (!Attached && Disarmed && East && North && Powered && South && !West) return 5340; if (!Attached && Disarmed && East && North && Powered && !South && West) return 5341; if (!Attached && Disarmed && East && North && Powered && !South && !West) return 5342; if (!Attached && Disarmed && East && North && !Powered && South && West) return 5343; if (!Attached && Disarmed && East && North && !Powered && South && !West) return 5344; if (!Attached && Disarmed && East && North && !Powered && !South && West) return 5345; if (!Attached && Disarmed && East && North && !Powered && !South && !West) return 5346; if (!Attached && Disarmed && East && !North && Powered && South && West) return 5347; if (!Attached && Disarmed && East && !North && Powered && South && !West) return 5348; if (!Attached && Disarmed && East && !North && Powered && !South && West) return 5349; if (!Attached && Disarmed && East && !North && Powered && !South && !West) return 5350; if (!Attached && Disarmed && East && !North && !Powered && South && West) return 5351; if (!Attached && Disarmed && East && !North && !Powered && South && !West) return 5352; if (!Attached && Disarmed && East && !North && !Powered && !South && West) return 5353; if (!Attached && Disarmed && East && !North && !Powered && !South && !West) return 5354; if (!Attached && Disarmed && !East && North && Powered && South && West) return 5355; if (!Attached && Disarmed && !East && North && Powered && South && !West) return 5356; if (!Attached && Disarmed && !East && North && Powered && !South && West) return 5357; if (!Attached && Disarmed && !East && North && Powered && !South && !West) return 5358; if (!Attached && Disarmed && !East && North && !Powered && South && West) return 5359; if (!Attached && Disarmed && !East && North && !Powered && South && !West) return 5360; if (!Attached && Disarmed && !East && North && !Powered && !South && West) return 5361; if (!Attached && Disarmed && !East && North && !Powered && !South && !West) return 5362; if (!Attached && Disarmed && !East && !North && Powered && South && West) return 5363; if (!Attached && Disarmed && !East && !North && Powered && South && !West) return 5364; if (!Attached && Disarmed && !East && !North && Powered && !South && West) return 5365; if (!Attached && Disarmed && !East && !North && Powered && !South && !West) return 5366; if (!Attached && Disarmed && !East && !North && !Powered && South && West) return 5367; if (!Attached && Disarmed && !East && !North && !Powered && South && !West) return 5368; if (!Attached && Disarmed && !East && !North && !Powered && !South && West) return 5369; if (!Attached && Disarmed && !East && !North && !Powered && !South && !West) return 5370; if (!Attached && !Disarmed && East && North && Powered && South && West) return 5371; if (!Attached && !Disarmed && East && North && Powered && South && !West) return 5372; if (!Attached && !Disarmed && East && North && Powered && !South && West) return 5373; if (!Attached && !Disarmed && East && North && Powered && !South && !West) return 5374; if (!Attached && !Disarmed && East && North && !Powered && South && West) return 5375; if (!Attached && !Disarmed && East && North && !Powered && South && !West) return 5376; if (!Attached && !Disarmed && East && North && !Powered && !South && West) return 5377; if (!Attached && !Disarmed && East && North && !Powered && !South && !West) return 5378; if (!Attached && !Disarmed && East && !North && Powered && South && West) return 5379; if (!Attached && !Disarmed && East && !North && Powered && South && !West) return 5380; if (!Attached && !Disarmed && East && !North && Powered && !South && West) return 5381; if (!Attached && !Disarmed && East && !North && Powered && !South && !West) return 5382; if (!Attached && !Disarmed && East && !North && !Powered && South && West) return 5383; if (!Attached && !Disarmed && East && !North && !Powered && South && !West) return 5384; if (!Attached && !Disarmed && East && !North && !Powered && !South && West) return 5385; if (!Attached && !Disarmed && East && !North && !Powered && !South && !West) return 5386; if (!Attached && !Disarmed && !East && North && Powered && South && West) return 5387; if (!Attached && !Disarmed && !East && North && Powered && South && !West) return 5388; if (!Attached && !Disarmed && !East && North && Powered && !South && West) return 5389; if (!Attached && !Disarmed && !East && North && Powered && !South && !West) return 5390; if (!Attached && !Disarmed && !East && North && !Powered && South && West) return 5391; if (!Attached && !Disarmed && !East && North && !Powered && South && !West) return 5392; if (!Attached && !Disarmed && !East && North && !Powered && !South && West) return 5393; if (!Attached && !Disarmed && !East && North && !Powered && !South && !West) return 5394; if (!Attached && !Disarmed && !East && !North && Powered && South && West) return 5395; if (!Attached && !Disarmed && !East && !North && Powered && South && !West) return 5396; if (!Attached && !Disarmed && !East && !North && Powered && !South && West) return 5397; if (!Attached && !Disarmed && !East && !North && Powered && !South && !West) return 5398; if (!Attached && !Disarmed && !East && !North && !Powered && South && West) return 5399; if (!Attached && !Disarmed && !East && !North && !Powered && South && !West) return 5400; if (!Attached && !Disarmed && !East && !North && !Powered && !South && West) return 5401; 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 (Attached && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 5259; if (Attached && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 5260; if (Attached && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 5261; if (Attached && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 5262; if (Attached && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 5263; if (Attached && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 5264; if (Attached && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 5265; if (Attached && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 5266; if (!Attached && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 5267; if (!Attached && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 5268; if (!Attached && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 5269; if (!Attached && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 5270; if (!Attached && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 5271; if (!Attached && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 5272; if (!Attached && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 5273; return 5274; } short TripwireHook(); bool Attached(short ID); eBlockFace Facing(short ID); bool Powered(short ID); } namespace TubeCoral { constexpr short TubeCoral() { return 9531; } } namespace TubeCoralBlock { constexpr short TubeCoralBlock() { return 9515; } } namespace TubeCoralFan { constexpr short TubeCoralFan() { return 9551; } } namespace TubeCoralWallFan { constexpr short TubeCoralWallFan(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9601; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9603; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9605; return 9607; } short TubeCoralWallFan(); eBlockFace Facing(short ID); } namespace TurtleEgg { constexpr short TurtleEgg(unsigned char Eggs, unsigned char Hatch) { if (Eggs == 1 && Hatch == 0) return 9498; if (Eggs == 1 && Hatch == 1) return 9499; if (Eggs == 1 && Hatch == 2) return 9500; if (Eggs == 2 && Hatch == 0) return 9501; if (Eggs == 2 && Hatch == 1) return 9502; if (Eggs == 2 && Hatch == 2) return 9503; if (Eggs == 3 && Hatch == 0) return 9504; if (Eggs == 3 && Hatch == 1) return 9505; if (Eggs == 3 && Hatch == 2) return 9506; if (Eggs == 4 && Hatch == 0) return 9507; if (Eggs == 4 && Hatch == 1) return 9508; return 9509; } short TurtleEgg(); unsigned char Eggs(short ID); unsigned char Hatch(short ID); } namespace TwistingVines { constexpr short TwistingVines(unsigned char Age) { if (Age == 0) return 15017; if (Age == 1) return 15018; if (Age == 2) return 15019; if (Age == 3) return 15020; if (Age == 4) return 15021; if (Age == 5) return 15022; if (Age == 6) return 15023; if (Age == 7) return 15024; if (Age == 8) return 15025; if (Age == 9) return 15026; if (Age == 10) return 15027; if (Age == 11) return 15028; if (Age == 12) return 15029; if (Age == 13) return 15030; if (Age == 14) return 15031; if (Age == 15) return 15032; if (Age == 16) return 15033; if (Age == 17) return 15034; if (Age == 18) return 15035; if (Age == 19) return 15036; if (Age == 20) return 15037; if (Age == 21) return 15038; if (Age == 22) return 15039; if (Age == 23) return 15040; if (Age == 24) return 15041; return 15042; } 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 (East && North && South && Up && West) return 4788; if (East && North && South && Up && !West) return 4789; if (East && North && South && !Up && West) return 4790; if (East && North && South && !Up && !West) return 4791; if (East && North && !South && Up && West) return 4792; if (East && North && !South && Up && !West) return 4793; if (East && North && !South && !Up && West) return 4794; if (East && North && !South && !Up && !West) return 4795; if (East && !North && South && Up && West) return 4796; if (East && !North && South && Up && !West) return 4797; if (East && !North && South && !Up && West) return 4798; if (East && !North && South && !Up && !West) return 4799; if (East && !North && !South && Up && West) return 4800; if (East && !North && !South && Up && !West) return 4801; if (East && !North && !South && !Up && West) return 4802; if (East && !North && !South && !Up && !West) return 4803; if (!East && North && South && Up && West) return 4804; if (!East && North && South && Up && !West) return 4805; if (!East && North && South && !Up && West) return 4806; if (!East && North && South && !Up && !West) return 4807; if (!East && North && !South && Up && West) return 4808; if (!East && North && !South && Up && !West) return 4809; if (!East && North && !South && !Up && West) return 4810; if (!East && North && !South && !Up && !West) return 4811; if (!East && !North && South && Up && West) return 4812; if (!East && !North && South && Up && !West) return 4813; if (!East && !North && South && !Up && West) return 4814; if (!East && !North && South && !Up && !West) return 4815; if (!East && !North && !South && Up && West) return 4816; if (!East && !North && !South && Up && !West) return 4817; if (!East && !North && !South && !Up && West) return 4818; 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_ZM) return 1436; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1437; if (Facing == eBlockFace::BLOCK_FACE_XM) return 1438; 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 && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 15503; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 15504; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 15505; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 15506; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 15507; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 15508; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 15509; if (Face == Face::Floor && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 15510; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 15511; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 15512; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 15513; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 15514; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 15515; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 15516; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 15517; if (Face == Face::Wall && Facing == eBlockFace::BLOCK_FACE_XP && !Powered) return 15518; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && Powered) return 15519; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZM && !Powered) return 15520; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && Powered) return 15521; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_ZP && !Powered) return 15522; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && Powered) return 15523; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XM && !Powered) return 15524; if (Face == Face::Ceiling && Facing == eBlockFace::BLOCK_FACE_XP && Powered) return 15525; return 15526; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 15591; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 15592; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 15593; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 15594; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 15595; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 15596; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 15597; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 15598; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 15599; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 15600; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 15601; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 15602; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 15603; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 15604; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 15605; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 15606; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 15607; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 15608; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 15609; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 15610; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 15611; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 15612; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 15613; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 15614; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 15615; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 15616; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 15617; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 15618; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 15619; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 15620; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 15621; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 15622; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 15623; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 15624; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 15625; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 15626; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 15627; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 15628; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 15629; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 15630; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 15631; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 15632; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 15633; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 15634; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 15635; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 15636; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 15637; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Lower && Hinge == Hinge::Right && !Open && !Powered) return 15638; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && Powered) return 15639; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && Open && !Powered) return 15640; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && Powered) return 15641; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Left && !Open && !Powered) return 15642; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && Powered) return 15643; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && Open && !Powered) return 15644; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && Powered) return 15645; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Upper && Hinge == Hinge::Right && !Open && !Powered) return 15646; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && Powered) return 15647; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && Open && !Powered) return 15648; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && Powered) return 15649; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Left && !Open && !Powered) return 15650; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && Powered) return 15651; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && Open && !Powered) return 15652; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Lower && Hinge == Hinge::Right && !Open && Powered) return 15653; 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 (East && North && South && West) return 15097; if (East && North && South && !West) return 15098; if (East && North && !South && West) return 15101; if (East && North && !South && !West) return 15102; if (East && !North && South && West) return 15105; if (East && !North && South && !West) return 15106; if (East && !North && !South && West) return 15109; if (East && !North && !South && !West) return 15110; if (!East && North && South && West) return 15113; if (!East && North && South && !West) return 15114; if (!East && North && !South && West) return 15117; if (!East && North && !South && !West) return 15118; if (!East && !North && South && West) return 15121; if (!East && !North && South && !West) return 15122; if (!East && !North && !South && West) return 15125; return 15126; } short WarpedFence(); bool East(short ID); bool North(short ID); bool South(short ID); bool West(short ID); } namespace WarpedFenceGate { constexpr short WarpedFenceGate(eBlockFace Facing, bool InWall, bool Open, bool Powered) { if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && Powered) return 15287; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && Open && !Powered) return 15288; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && Powered) return 15289; if (Facing == eBlockFace::BLOCK_FACE_ZM && InWall && !Open && !Powered) return 15290; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && Powered) return 15291; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && Open && !Powered) return 15292; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && Powered) return 15293; if (Facing == eBlockFace::BLOCK_FACE_ZM && !InWall && !Open && !Powered) return 15294; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && Powered) return 15295; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && Open && !Powered) return 15296; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && Powered) return 15297; if (Facing == eBlockFace::BLOCK_FACE_ZP && InWall && !Open && !Powered) return 15298; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && Powered) return 15299; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && Open && !Powered) return 15300; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && Powered) return 15301; if (Facing == eBlockFace::BLOCK_FACE_ZP && !InWall && !Open && !Powered) return 15302; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && Powered) return 15303; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && Open && !Powered) return 15304; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && Powered) return 15305; if (Facing == eBlockFace::BLOCK_FACE_XM && InWall && !Open && !Powered) return 15306; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && Powered) return 15307; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && Open && !Powered) return 15308; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && Powered) return 15309; if (Facing == eBlockFace::BLOCK_FACE_XM && !InWall && !Open && !Powered) return 15310; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && Powered) return 15311; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && Open && !Powered) return 15312; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && Powered) return 15313; if (Facing == eBlockFace::BLOCK_FACE_XP && InWall && !Open && !Powered) return 15314; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && Powered) return 15315; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && Open && !Powered) return 15316; if (Facing == eBlockFace::BLOCK_FACE_XP && !InWall && !Open && Powered) return 15317; 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::Y) return 14965; return 14966; } 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 == 0) return 15688; if (Rotation == 1) return 15690; if (Rotation == 2) return 15692; if (Rotation == 3) return 15694; if (Rotation == 4) return 15696; if (Rotation == 5) return 15698; if (Rotation == 6) return 15700; if (Rotation == 7) return 15702; if (Rotation == 8) return 15704; if (Rotation == 9) return 15706; if (Rotation == 10) return 15708; if (Rotation == 11) return 15710; if (Rotation == 12) return 15712; if (Rotation == 13) return 15714; if (Rotation == 14) return 15716; return 15718; } short WarpedSign(); unsigned char Rotation(short ID); } namespace WarpedSlab { enum class Type { Top, Bottom, Double }; constexpr short WarpedSlab(enum Type Type) { if (Type == Type::Top) return 15054; if (Type == Type::Bottom) return 15056; return 15058; } short WarpedSlab(); enum Type Type(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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::Straight) return 15400; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerLeft) return 15402; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::InnerRight) return 15404; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterLeft) return 15406; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Shape == Shape::OuterRight) return 15408; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::Straight) return 15410; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15412; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::InnerRight) return 15414; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15416; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Shape == Shape::OuterRight) return 15418; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::Straight) return 15420; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerLeft) return 15422; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::InnerRight) return 15424; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterLeft) return 15426; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Shape == Shape::OuterRight) return 15428; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::Straight) return 15430; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15432; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::InnerRight) return 15434; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15436; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Shape == Shape::OuterRight) return 15438; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::Straight) return 15440; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerLeft) return 15442; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::InnerRight) return 15444; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterLeft) return 15446; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Shape == Shape::OuterRight) return 15448; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::Straight) return 15450; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15452; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::InnerRight) return 15454; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15456; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Shape == Shape::OuterRight) return 15458; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::Straight) return 15460; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerLeft) return 15462; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::InnerRight) return 15464; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterLeft) return 15466; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Shape == Shape::OuterRight) return 15468; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::Straight) return 15470; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerLeft) return 15472; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::InnerRight) return 15474; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Shape == Shape::OuterLeft) return 15476; return 15478; } short WarpedStairs(); eBlockFace Facing(short ID); enum Half Half(short ID); enum Shape Shape(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::Y) return 14959; return 14960; } 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && Powered) return 15192; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && Open && !Powered) return 15194; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && Powered) return 15196; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Top && !Open && !Powered) return 15198; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && Powered) return 15200; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && Open && !Powered) return 15202; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && Powered) return 15204; if (Facing == eBlockFace::BLOCK_FACE_ZM && Half == Half::Bottom && !Open && !Powered) return 15206; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && Powered) return 15208; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && Open && !Powered) return 15210; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && Powered) return 15212; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Top && !Open && !Powered) return 15214; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && Powered) return 15216; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && Open && !Powered) return 15218; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && Powered) return 15220; if (Facing == eBlockFace::BLOCK_FACE_ZP && Half == Half::Bottom && !Open && !Powered) return 15222; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && Powered) return 15224; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && Open && !Powered) return 15226; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && Powered) return 15228; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Top && !Open && !Powered) return 15230; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && Powered) return 15232; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && Open && !Powered) return 15234; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && Powered) return 15236; if (Facing == eBlockFace::BLOCK_FACE_XM && Half == Half::Bottom && !Open && !Powered) return 15238; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && Powered) return 15240; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && Open && !Powered) return 15242; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && Powered) return 15244; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Top && !Open && !Powered) return 15246; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && Powered) return 15248; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && Open && !Powered) return 15250; if (Facing == eBlockFace::BLOCK_FACE_XP && Half == Half::Bottom && !Open && Powered) return 15252; return 15254; } short WarpedTrapdoor(); eBlockFace Facing(short ID); enum Half Half(short ID); bool Open(short ID); bool Powered(short ID); } namespace WarpedWallSign { constexpr short WarpedWallSign(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 15728; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 15730; if (Facing == eBlockFace::BLOCK_FACE_XM) return 15732; return 15734; } short WarpedWallSign(); eBlockFace Facing(short ID); } namespace WarpedWartBlock { constexpr short WarpedWartBlock() { return 14972; } } namespace Water { constexpr short Water(unsigned char Level) { if (Level == 0) return 34; if (Level == 1) return 35; if (Level == 2) return 36; if (Level == 3) return 37; if (Level == 4) return 38; if (Level == 5) return 39; if (Level == 6) return 40; if (Level == 7) return 41; if (Level == 8) return 42; if (Level == 9) return 43; if (Level == 10) return 44; if (Level == 11) return 45; if (Level == 12) return 46; if (Level == 13) return 47; if (Level == 14) return 48; return 49; } short Water(); unsigned char Level(short ID); } namespace WeepingVines { constexpr short WeepingVines(unsigned char Age) { if (Age == 0) return 14990; if (Age == 1) return 14991; if (Age == 2) return 14992; if (Age == 3) return 14993; if (Age == 4) return 14994; if (Age == 5) return 14995; if (Age == 6) return 14996; if (Age == 7) return 14997; if (Age == 8) return 14998; if (Age == 9) return 14999; if (Age == 10) return 15000; if (Age == 11) return 15001; if (Age == 12) return 15002; if (Age == 13) return 15003; if (Age == 14) return 15004; if (Age == 15) return 15005; if (Age == 16) return 15006; if (Age == 17) return 15007; if (Age == 18) return 15008; if (Age == 19) return 15009; if (Age == 20) return 15010; if (Age == 21) return 15011; if (Age == 22) return 15012; if (Age == 23) return 15013; if (Age == 24) return 15014; return 15015; } 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 == 0) return 3357; 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; return 3364; } short Wheat(); unsigned char Age(short ID); } namespace WhiteBanner { constexpr short WhiteBanner(unsigned char Rotation) { 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; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1049; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1050; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1051; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1052; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1053; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1054; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1055; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1056; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1057; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1058; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1059; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1060; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1061; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1062; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1063; 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_ZM) return 9374; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9375; 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_ZM) return 9278; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9279; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9280; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9281; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9282; return 9283; } 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 (East && North && South && West) return 6865; if (East && North && South && !West) return 6866; if (East && North && !South && West) return 6869; if (East && North && !South && !West) return 6870; if (East && !North && South && West) return 6873; if (East && !North && South && !West) return 6874; if (East && !North && !South && West) return 6877; if (East && !North && !South && !West) return 6878; if (!East && North && South && West) return 6881; if (!East && North && South && !West) return 6882; if (!East && North && !South && West) return 6885; if (!East && North && !South && !West) return 6886; if (!East && !North && South && West) return 6889; if (!East && !North && South && !West) return 6890; if (!East && !North && !South && West) return 6893; return 6894; } short WhiteStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8153; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8154; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8155; 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 == 0) return 6510; 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; 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 == 0) return 7961; if (Rotation == 1) return 7962; if (Rotation == 2) return 7963; if (Rotation == 3) return 7964; if (Rotation == 4) return 7965; 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; 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 (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Head) return 1113; if (Facing == eBlockFace::BLOCK_FACE_ZM && Occupied && Part == Part::Foot) return 1114; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Head) return 1115; if (Facing == eBlockFace::BLOCK_FACE_ZM && !Occupied && Part == Part::Foot) return 1116; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Head) return 1117; if (Facing == eBlockFace::BLOCK_FACE_ZP && Occupied && Part == Part::Foot) return 1118; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Head) return 1119; if (Facing == eBlockFace::BLOCK_FACE_ZP && !Occupied && Part == Part::Foot) return 1120; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Head) return 1121; if (Facing == eBlockFace::BLOCK_FACE_XM && Occupied && Part == Part::Foot) return 1122; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Head) return 1123; if (Facing == eBlockFace::BLOCK_FACE_XM && !Occupied && Part == Part::Foot) return 1124; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Head) return 1125; if (Facing == eBlockFace::BLOCK_FACE_XP && Occupied && Part == Part::Foot) return 1126; if (Facing == eBlockFace::BLOCK_FACE_XP && !Occupied && Part == Part::Head) return 1127; 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_ZP) return 9391; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9392; return 9393; } short YellowGlazedTerracotta(); eBlockFace Facing(short ID); } namespace YellowShulkerBox { constexpr short YellowShulkerBox(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9302; if (Facing == eBlockFace::BLOCK_FACE_XP) return 9303; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9304; if (Facing == eBlockFace::BLOCK_FACE_XM) return 9305; if (Facing == eBlockFace::BLOCK_FACE_YP) return 9306; return 9307; } 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 (East && North && South && West) return 6993; if (East && North && South && !West) return 6994; if (East && North && !South && West) return 6997; if (East && North && !South && !West) return 6998; if (East && !North && South && West) return 7001; if (East && !North && South && !West) return 7002; if (East && !North && !South && West) return 7005; if (East && !North && !South && !West) return 7006; if (!East && North && South && West) return 7009; if (!East && North && South && !West) return 7010; if (!East && North && !South && West) return 7013; if (!East && North && !South && !West) return 7014; if (!East && !North && South && West) return 7017; if (!East && !North && South && !West) return 7018; if (!East && !North && !South && West) return 7021; return 7022; } short YellowStainedGlassPane(); bool East(short ID); bool North(short ID); bool South(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_ZM) return 8169; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8170; if (Facing == eBlockFace::BLOCK_FACE_XM) return 8171; 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 == 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; if (Rotation == 11) return 6541; if (Rotation == 12) return 6542; if (Rotation == 13) return 6543; if (Rotation == 14) return 6544; return 6545; } short ZombieHead(); unsigned char Rotation(short ID); } namespace ZombieWallHead { constexpr short ZombieWallHead(eBlockFace Facing) { if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6546; if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6547; if (Facing == eBlockFace::BLOCK_FACE_XM) return 6548; return 6549; } short ZombieWallHead(); eBlockFace Facing(short ID); } }