diff options
author | Tiger Wang <ziwei.tiger@outlook.com> | 2020-07-18 15:22:14 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@outlook.com> | 2020-07-18 20:23:10 +0200 |
commit | 7425305154fb0005fde9f077cd30100c53d511a4 (patch) | |
tree | 0aeba36b1443daae94c38fe1a45075d1d31bd221 /src/Protocol/Palettes/Upgrade.cpp | |
parent | Move IsValidSocket out of global namespace (diff) | |
download | cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.gz cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.bz2 cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.lz cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.xz cuberite-7425305154fb0005fde9f077cd30100c53d511a4.tar.zst cuberite-7425305154fb0005fde9f077cd30100c53d511a4.zip |
Diffstat (limited to 'src/Protocol/Palettes/Upgrade.cpp')
-rw-r--r-- | src/Protocol/Palettes/Upgrade.cpp | 3207 |
1 files changed, 3207 insertions, 0 deletions
diff --git a/src/Protocol/Palettes/Upgrade.cpp b/src/Protocol/Palettes/Upgrade.cpp new file mode 100644 index 000000000..23e7681a3 --- /dev/null +++ b/src/Protocol/Palettes/Upgrade.cpp @@ -0,0 +1,3207 @@ +#include "Globals.h" + +#include "Upgrade.h" +#include "../../Registries/Blocks.h" + +namespace PaletteUpgrade +{ + short FromBlock(BLOCKTYPE Block, NIBBLETYPE Meta) + { + using namespace Block; + + switch ((Block << 4) | Meta) + { + case (0 << 4) | 0: return Air::Air(); + case (1 << 4) | 0: return Stone::Stone(); + case (1 << 4) | 1: return Granite::Granite(); + case (1 << 4) | 2: return PolishedGranite::PolishedGranite(); + case (1 << 4) | 3: return Diorite::Diorite(); + case (1 << 4) | 4: return PolishedDiorite::PolishedDiorite(); + case (1 << 4) | 5: return Andesite::Andesite(); + case (1 << 4) | 6: return PolishedAndesite::PolishedAndesite(); + case (2 << 4) | 0: return GrassBlock::GrassBlock(false); + case (3 << 4) | 0: return Dirt::Dirt(); + case (3 << 4) | 1: return CoarseDirt::CoarseDirt(); + case (3 << 4) | 2: return Podzol::Podzol(false); + case (4 << 4) | 0: return Cobblestone::Cobblestone(); + case (5 << 4) | 0: return OakPlanks::OakPlanks(); + case (5 << 4) | 1: return SprucePlanks::SprucePlanks(); + case (5 << 4) | 2: return BirchPlanks::BirchPlanks(); + case (5 << 4) | 3: return JunglePlanks::JunglePlanks(); + case (5 << 4) | 4: return AcaciaPlanks::AcaciaPlanks(); + case (5 << 4) | 5: return DarkOakPlanks::DarkOakPlanks(); + case (6 << 4) | 0: return OakSapling::OakSapling(0); + case (6 << 4) | 1: return SpruceSapling::SpruceSapling(0); + case (6 << 4) | 2: return BirchSapling::BirchSapling(0); + case (6 << 4) | 3: return JungleSapling::JungleSapling(0); + case (6 << 4) | 4: return AcaciaSapling::AcaciaSapling(0); + case (6 << 4) | 5: return DarkOakSapling::DarkOakSapling(0); + case (6 << 4) | 8: return OakSapling::OakSapling(1); + case (6 << 4) | 9: return SpruceSapling::SpruceSapling(1); + case (6 << 4) | 10: return BirchSapling::BirchSapling(1); + case (6 << 4) | 11: return JungleSapling::JungleSapling(1); + case (6 << 4) | 12: return AcaciaSapling::AcaciaSapling(1); + case (6 << 4) | 13: return DarkOakSapling::DarkOakSapling(1); + case (7 << 4) | 0: return Bedrock::Bedrock(); + case (8 << 4) | 0: return Water::Water(0); + case (8 << 4) | 1: return Water::Water(1); + case (8 << 4) | 2: return Water::Water(2); + case (8 << 4) | 3: return Water::Water(3); + case (8 << 4) | 4: return Water::Water(4); + case (8 << 4) | 5: return Water::Water(5); + case (8 << 4) | 6: return Water::Water(6); + case (8 << 4) | 7: return Water::Water(7); + case (8 << 4) | 8: return Water::Water(8); + case (8 << 4) | 9: return Water::Water(9); + case (8 << 4) | 10: return Water::Water(10); + case (8 << 4) | 11: return Water::Water(11); + case (8 << 4) | 12: return Water::Water(12); + case (8 << 4) | 13: return Water::Water(13); + case (8 << 4) | 14: return Water::Water(14); + case (8 << 4) | 15: return Water::Water(15); + case (9 << 4) | 0: return Water::Water(0); + case (9 << 4) | 1: return Water::Water(1); + case (9 << 4) | 2: return Water::Water(2); + case (9 << 4) | 3: return Water::Water(3); + case (9 << 4) | 4: return Water::Water(4); + case (9 << 4) | 5: return Water::Water(5); + case (9 << 4) | 6: return Water::Water(6); + case (9 << 4) | 7: return Water::Water(7); + case (9 << 4) | 8: return Water::Water(8); + case (9 << 4) | 9: return Water::Water(9); + case (9 << 4) | 10: return Water::Water(10); + case (9 << 4) | 11: return Water::Water(11); + case (9 << 4) | 12: return Water::Water(12); + case (9 << 4) | 13: return Water::Water(13); + case (9 << 4) | 14: return Water::Water(14); + case (9 << 4) | 15: return Water::Water(15); + case (10 << 4) | 0: return Lava::Lava(0); + case (10 << 4) | 1: return Lava::Lava(1); + case (10 << 4) | 2: return Lava::Lava(2); + case (10 << 4) | 3: return Lava::Lava(3); + case (10 << 4) | 4: return Lava::Lava(4); + case (10 << 4) | 5: return Lava::Lava(5); + case (10 << 4) | 6: return Lava::Lava(6); + case (10 << 4) | 7: return Lava::Lava(7); + case (10 << 4) | 8: return Lava::Lava(8); + case (10 << 4) | 9: return Lava::Lava(9); + case (10 << 4) | 10: return Lava::Lava(10); + case (10 << 4) | 11: return Lava::Lava(11); + case (10 << 4) | 12: return Lava::Lava(12); + case (10 << 4) | 13: return Lava::Lava(13); + case (10 << 4) | 14: return Lava::Lava(14); + case (10 << 4) | 15: return Lava::Lava(15); + case (11 << 4) | 0: return Lava::Lava(0); + case (11 << 4) | 1: return Lava::Lava(1); + case (11 << 4) | 2: return Lava::Lava(2); + case (11 << 4) | 3: return Lava::Lava(3); + case (11 << 4) | 4: return Lava::Lava(4); + case (11 << 4) | 5: return Lava::Lava(5); + case (11 << 4) | 6: return Lava::Lava(6); + case (11 << 4) | 7: return Lava::Lava(7); + case (11 << 4) | 8: return Lava::Lava(8); + case (11 << 4) | 9: return Lava::Lava(9); + case (11 << 4) | 10: return Lava::Lava(10); + case (11 << 4) | 11: return Lava::Lava(11); + case (11 << 4) | 12: return Lava::Lava(12); + case (11 << 4) | 13: return Lava::Lava(13); + case (11 << 4) | 14: return Lava::Lava(14); + case (11 << 4) | 15: return Lava::Lava(15); + case (12 << 4) | 0: return Sand::Sand(); + case (12 << 4) | 1: return RedSand::RedSand(); + case (13 << 4) | 0: return Gravel::Gravel(); + case (14 << 4) | 0: return GoldOre::GoldOre(); + case (15 << 4) | 0: return IronOre::IronOre(); + case (16 << 4) | 0: return CoalOre::CoalOre(); + case (17 << 4) | 0: return OakLog::OakLog(OakLog::Axis::Y); + case (17 << 4) | 1: return SpruceLog::SpruceLog(SpruceLog::Axis::Y); + case (17 << 4) | 2: return BirchLog::BirchLog(BirchLog::Axis::Y); + case (17 << 4) | 3: return JungleLog::JungleLog(JungleLog::Axis::Y); + case (17 << 4) | 4: return OakLog::OakLog(OakLog::Axis::X); + case (17 << 4) | 5: return SpruceLog::SpruceLog(SpruceLog::Axis::X); + case (17 << 4) | 6: return BirchLog::BirchLog(BirchLog::Axis::X); + case (17 << 4) | 7: return JungleLog::JungleLog(JungleLog::Axis::X); + case (17 << 4) | 8: return OakLog::OakLog(OakLog::Axis::Z); + case (17 << 4) | 9: return SpruceLog::SpruceLog(SpruceLog::Axis::Z); + case (17 << 4) | 10: return BirchLog::BirchLog(BirchLog::Axis::Z); + case (17 << 4) | 11: return JungleLog::JungleLog(JungleLog::Axis::Z); + case (17 << 4) | 12: return OakWood::OakWood(); + case (17 << 4) | 13: return SpruceWood::SpruceWood(); + case (17 << 4) | 14: return BirchWood::BirchWood(); + case (17 << 4) | 15: return JungleWood::JungleWood(); + case (18 << 4) | 0: return OakLeaves::OakLeaves(false, true); + case (18 << 4) | 1: return SpruceLeaves::SpruceLeaves(false, true); + case (18 << 4) | 2: return BirchLeaves::BirchLeaves(false, true); + case (18 << 4) | 3: return JungleLeaves::JungleLeaves(false, true); + case (18 << 4) | 4: return OakLeaves::OakLeaves(false, false); + case (18 << 4) | 5: return SpruceLeaves::SpruceLeaves(false, false); + case (18 << 4) | 6: return BirchLeaves::BirchLeaves(false, false); + case (18 << 4) | 7: return JungleLeaves::JungleLeaves(false, false); + case (18 << 4) | 8: return OakLeaves::OakLeaves(true, true); + case (18 << 4) | 9: return SpruceLeaves::SpruceLeaves(true, true); + case (18 << 4) | 10: return BirchLeaves::BirchLeaves(true, true); + case (18 << 4) | 11: return JungleLeaves::JungleLeaves(true, true); + case (18 << 4) | 12: return OakLeaves::OakLeaves(true, false); + case (18 << 4) | 13: return SpruceLeaves::SpruceLeaves(true, false); + case (18 << 4) | 14: return BirchLeaves::BirchLeaves(true, false); + case (18 << 4) | 15: return JungleLeaves::JungleLeaves(true, false); + case (19 << 4) | 0: return Sponge::Sponge(); + case (19 << 4) | 1: return WetSponge::WetSponge(); + case (20 << 4) | 0: return Glass::Glass(); + case (21 << 4) | 0: return LapisOre::LapisOre(); + case (22 << 4) | 0: return LapisBlock::LapisBlock(); + case (23 << 4) | 0: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, false); + case (23 << 4) | 1: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, false); + case (23 << 4) | 2: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, false); + case (23 << 4) | 3: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, false); + case (23 << 4) | 4: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, false); + case (23 << 4) | 5: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, false); + case (23 << 4) | 8: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YM, true); + case (23 << 4) | 9: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_YP, true); + case (23 << 4) | 10: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZM, true); + case (23 << 4) | 11: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_ZP, true); + case (23 << 4) | 12: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XM, true); + case (23 << 4) | 13: return Dispenser::Dispenser(eBlockFace::BLOCK_FACE_XP, true); + case (24 << 4) | 0: return Sandstone::Sandstone(); + case (24 << 4) | 1: return ChiseledSandstone::ChiseledSandstone(); + case (24 << 4) | 2: return CutSandstone::CutSandstone(); + case (25 << 4) | 0: return NoteBlock::NoteBlock(); + case (26 << 4) | 0: return RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Foot); + case (26 << 4) | 1: return RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Foot); + case (26 << 4) | 2: return RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Foot); + case (26 << 4) | 3: return RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Foot); + case (26 << 4) | 8: return RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, false, RedBed::Part::Head); + case (26 << 4) | 9: return RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, false, RedBed::Part::Head); + case (26 << 4) | 10: return RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, false, RedBed::Part::Head); + case (26 << 4) | 11: return RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, false, RedBed::Part::Head); + case (26 << 4) | 12: return RedBed::RedBed(eBlockFace::BLOCK_FACE_ZP, true, RedBed::Part::Head); + case (26 << 4) | 13: return RedBed::RedBed(eBlockFace::BLOCK_FACE_XM, true, RedBed::Part::Head); + case (26 << 4) | 14: return RedBed::RedBed(eBlockFace::BLOCK_FACE_ZM, true, RedBed::Part::Head); + case (26 << 4) | 15: return RedBed::RedBed(eBlockFace::BLOCK_FACE_XP, true, RedBed::Part::Head); + case (27 << 4) | 0: return PoweredRail::PoweredRail(false, PoweredRail::Shape::NorthSouth); + case (27 << 4) | 1: return PoweredRail::PoweredRail(false, PoweredRail::Shape::EastWest); + case (27 << 4) | 2: return PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingEast); + case (27 << 4) | 3: return PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingWest); + case (27 << 4) | 4: return PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingNorth); + case (27 << 4) | 5: return PoweredRail::PoweredRail(false, PoweredRail::Shape::AscendingSouth); + case (27 << 4) | 8: return PoweredRail::PoweredRail(true, PoweredRail::Shape::NorthSouth); + case (27 << 4) | 9: return PoweredRail::PoweredRail(true, PoweredRail::Shape::EastWest); + case (27 << 4) | 10: return PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingEast); + case (27 << 4) | 11: return PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingWest); + case (27 << 4) | 12: return PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingNorth); + case (27 << 4) | 13: return PoweredRail::PoweredRail(true, PoweredRail::Shape::AscendingSouth); + case (28 << 4) | 0: return DetectorRail::DetectorRail(false, DetectorRail::Shape::NorthSouth); + case (28 << 4) | 1: return DetectorRail::DetectorRail(false, DetectorRail::Shape::EastWest); + case (28 << 4) | 2: return DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingEast); + case (28 << 4) | 3: return DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingWest); + case (28 << 4) | 4: return DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingNorth); + case (28 << 4) | 5: return DetectorRail::DetectorRail(false, DetectorRail::Shape::AscendingSouth); + case (28 << 4) | 8: return DetectorRail::DetectorRail(true, DetectorRail::Shape::NorthSouth); + case (28 << 4) | 9: return DetectorRail::DetectorRail(true, DetectorRail::Shape::EastWest); + case (28 << 4) | 10: return DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingEast); + case (28 << 4) | 11: return DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingWest); + case (28 << 4) | 12: return DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingNorth); + case (28 << 4) | 13: return DetectorRail::DetectorRail(true, DetectorRail::Shape::AscendingSouth); + case (29 << 4) | 0: return StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YM); + case (29 << 4) | 1: return StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_YP); + case (29 << 4) | 2: return StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZM); + case (29 << 4) | 3: return StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_ZP); + case (29 << 4) | 4: return StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XM); + case (29 << 4) | 5: return StickyPiston::StickyPiston(false, eBlockFace::BLOCK_FACE_XP); + case (29 << 4) | 8: return StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YM); + case (29 << 4) | 9: return StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_YP); + case (29 << 4) | 10: return StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZM); + case (29 << 4) | 11: return StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_ZP); + case (29 << 4) | 12: return StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XM); + case (29 << 4) | 13: return StickyPiston::StickyPiston(true, eBlockFace::BLOCK_FACE_XP); + case (30 << 4) | 0: return Cobweb::Cobweb(); + case (31 << 4) | 0: return DeadBush::DeadBush(); + case (31 << 4) | 1: return Grass::Grass(); + case (31 << 4) | 2: return Fern::Fern(); + case (32 << 4) | 0: return DeadBush::DeadBush(); + case (33 << 4) | 0: return Piston::Piston(false, eBlockFace::BLOCK_FACE_YM); + case (33 << 4) | 1: return Piston::Piston(false, eBlockFace::BLOCK_FACE_YP); + case (33 << 4) | 2: return Piston::Piston(false, eBlockFace::BLOCK_FACE_ZM); + case (33 << 4) | 3: return Piston::Piston(false, eBlockFace::BLOCK_FACE_ZP); + case (33 << 4) | 4: return Piston::Piston(false, eBlockFace::BLOCK_FACE_XM); + case (33 << 4) | 5: return Piston::Piston(false, eBlockFace::BLOCK_FACE_XP); + case (33 << 4) | 8: return Piston::Piston(true, eBlockFace::BLOCK_FACE_YM); + case (33 << 4) | 9: return Piston::Piston(true, eBlockFace::BLOCK_FACE_YP); + case (33 << 4) | 10: return Piston::Piston(true, eBlockFace::BLOCK_FACE_ZM); + case (33 << 4) | 11: return Piston::Piston(true, eBlockFace::BLOCK_FACE_ZP); + case (33 << 4) | 12: return Piston::Piston(true, eBlockFace::BLOCK_FACE_XM); + case (33 << 4) | 13: return Piston::Piston(true, eBlockFace::BLOCK_FACE_XP); + case (34 << 4) | 0: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Normal); + case (34 << 4) | 1: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Normal); + case (34 << 4) | 2: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Normal); + case (34 << 4) | 3: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Normal); + case (34 << 4) | 4: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Normal); + case (34 << 4) | 5: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Normal); + case (34 << 4) | 8: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YM, false, PistonHead::Type::Sticky); + case (34 << 4) | 9: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_YP, false, PistonHead::Type::Sticky); + case (34 << 4) | 10: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZM, false, PistonHead::Type::Sticky); + case (34 << 4) | 11: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_ZP, false, PistonHead::Type::Sticky); + case (34 << 4) | 12: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XM, false, PistonHead::Type::Sticky); + case (34 << 4) | 13: return PistonHead::PistonHead(eBlockFace::BLOCK_FACE_XP, false, PistonHead::Type::Sticky); + case (35 << 4) | 0: return WhiteWool::WhiteWool(); + case (35 << 4) | 1: return OrangeWool::OrangeWool(); + case (35 << 4) | 2: return MagentaWool::MagentaWool(); + case (35 << 4) | 3: return LightBlueWool::LightBlueWool(); + case (35 << 4) | 4: return YellowWool::YellowWool(); + case (35 << 4) | 5: return LimeWool::LimeWool(); + case (35 << 4) | 6: return PinkWool::PinkWool(); + case (35 << 4) | 7: return GrayWool::GrayWool(); + case (35 << 4) | 8: return LightGrayWool::LightGrayWool(); + case (35 << 4) | 9: return CyanWool::CyanWool(); + case (35 << 4) | 10: return PurpleWool::PurpleWool(); + case (35 << 4) | 11: return BlueWool::BlueWool(); + case (35 << 4) | 12: return BrownWool::BrownWool(); + case (35 << 4) | 13: return GreenWool::GreenWool(); + case (35 << 4) | 14: return RedWool::RedWool(); + case (35 << 4) | 15: return BlackWool::BlackWool(); + case (36 << 4) | 0: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Normal); + case (36 << 4) | 1: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Normal); + case (36 << 4) | 2: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Normal); + case (36 << 4) | 3: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Normal); + case (36 << 4) | 4: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Normal); + case (36 << 4) | 5: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Normal); + case (36 << 4) | 8: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YM, MovingPiston::Type::Sticky); + case (36 << 4) | 9: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_YP, MovingPiston::Type::Sticky); + case (36 << 4) | 10: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZM, MovingPiston::Type::Sticky); + case (36 << 4) | 11: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_ZP, MovingPiston::Type::Sticky); + case (36 << 4) | 12: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XM, MovingPiston::Type::Sticky); + case (36 << 4) | 13: return MovingPiston::MovingPiston(eBlockFace::BLOCK_FACE_XP, MovingPiston::Type::Sticky); + case (37 << 4) | 0: return Dandelion::Dandelion(); + case (38 << 4) | 0: return Poppy::Poppy(); + case (38 << 4) | 1: return BlueOrchid::BlueOrchid(); + case (38 << 4) | 2: return Allium::Allium(); + case (38 << 4) | 3: return AzureBluet::AzureBluet(); + case (38 << 4) | 4: return RedTulip::RedTulip(); + case (38 << 4) | 5: return OrangeTulip::OrangeTulip(); + case (38 << 4) | 6: return WhiteTulip::WhiteTulip(); + case (38 << 4) | 7: return PinkTulip::PinkTulip(); + case (38 << 4) | 8: return OxeyeDaisy::OxeyeDaisy(); + case (39 << 4) | 0: return BrownMushroom::BrownMushroom(); + case (40 << 4) | 0: return RedMushroom::RedMushroom(); + case (41 << 4) | 0: return GoldBlock::GoldBlock(); + case (42 << 4) | 0: return IronBlock::IronBlock(); + case (43 << 4) | 0: return StoneSlab::StoneSlab(StoneSlab::Type::Double); + case (43 << 4) | 1: return SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Double); + case (43 << 4) | 2: return PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double); + case (43 << 4) | 3: return CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double); + case (43 << 4) | 4: return BrickSlab::BrickSlab(BrickSlab::Type::Double); + case (43 << 4) | 5: return StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double); + case (43 << 4) | 6: return NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double); + case (43 << 4) | 7: return QuartzSlab::QuartzSlab(QuartzSlab::Type::Double); + case (43 << 4) | 8: return SmoothStone::SmoothStone(); + case (43 << 4) | 9: return SmoothSandstone::SmoothSandstone(); + case (43 << 4) | 10: return PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Double); + case (43 << 4) | 11: return CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Double); + case (43 << 4) | 12: return BrickSlab::BrickSlab(BrickSlab::Type::Double); + case (43 << 4) | 13: return StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Double); + case (43 << 4) | 14: return NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Double); + case (43 << 4) | 15: return SmoothQuartz::SmoothQuartz(); + case (44 << 4) | 0: return StoneSlab::StoneSlab(StoneSlab::Type::Bottom); + case (44 << 4) | 1: return SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Bottom); + case (44 << 4) | 2: return PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Bottom); + case (44 << 4) | 3: return CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Bottom); + case (44 << 4) | 4: return BrickSlab::BrickSlab(BrickSlab::Type::Bottom); + case (44 << 4) | 5: return StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Bottom); + case (44 << 4) | 6: return NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Bottom); + case (44 << 4) | 7: return QuartzSlab::QuartzSlab(QuartzSlab::Type::Bottom); + case (44 << 4) | 8: return StoneSlab::StoneSlab(StoneSlab::Type::Top); + case (44 << 4) | 9: return SandstoneSlab::SandstoneSlab(SandstoneSlab::Type::Top); + case (44 << 4) | 10: return PetrifiedOakSlab::PetrifiedOakSlab(PetrifiedOakSlab::Type::Top); + case (44 << 4) | 11: return CobblestoneSlab::CobblestoneSlab(CobblestoneSlab::Type::Top); + case (44 << 4) | 12: return BrickSlab::BrickSlab(BrickSlab::Type::Top); + case (44 << 4) | 13: return StoneBrickSlab::StoneBrickSlab(StoneBrickSlab::Type::Top); + case (44 << 4) | 14: return NetherBrickSlab::NetherBrickSlab(NetherBrickSlab::Type::Top); + case (44 << 4) | 15: return QuartzSlab::QuartzSlab(QuartzSlab::Type::Top); + case (45 << 4) | 0: return Bricks::Bricks(); + case (46 << 4) | 0: return TNT::TNT(false); + case (46 << 4) | 1: return TNT::TNT(true); + case (47 << 4) | 0: return Bookshelf::Bookshelf(); + case (48 << 4) | 0: return MossyCobblestone::MossyCobblestone(); + case (49 << 4) | 0: return Obsidian::Obsidian(); + case (50 << 4) | 1: return WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XP); + case (50 << 4) | 2: return WallTorch::WallTorch(eBlockFace::BLOCK_FACE_XM); + case (50 << 4) | 3: return WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZP); + case (50 << 4) | 4: return WallTorch::WallTorch(eBlockFace::BLOCK_FACE_ZM); + case (50 << 4) | 5: return Torch::Torch(); + case (51 << 4) | 0: return Fire::Fire(0, false, false, false, false, false); + case (51 << 4) | 1: return Fire::Fire(1, false, false, false, false, false); + case (51 << 4) | 2: return Fire::Fire(2, false, false, false, false, false); + case (51 << 4) | 3: return Fire::Fire(3, false, false, false, false, false); + case (51 << 4) | 4: return Fire::Fire(4, false, false, false, false, false); + case (51 << 4) | 5: return Fire::Fire(5, false, false, false, false, false); + case (51 << 4) | 6: return Fire::Fire(6, false, false, false, false, false); + case (51 << 4) | 7: return Fire::Fire(7, false, false, false, false, false); + case (51 << 4) | 8: return Fire::Fire(8, false, false, false, false, false); + case (51 << 4) | 9: return Fire::Fire(9, false, false, false, false, false); + case (51 << 4) | 10: return Fire::Fire(10, false, false, false, false, false); + case (51 << 4) | 11: return Fire::Fire(11, false, false, false, false, false); + case (51 << 4) | 12: return Fire::Fire(12, false, false, false, false, false); + case (51 << 4) | 13: return Fire::Fire(13, false, false, false, false, false); + case (51 << 4) | 14: return Fire::Fire(14, false, false, false, false, false); + case (51 << 4) | 15: return Fire::Fire(15, false, false, false, false, false); + case (52 << 4) | 0: return Spawner::Spawner(); + case (53 << 4) | 0: return OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Bottom, OakStairs::Shape::Straight); + case (53 << 4) | 1: return OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Bottom, OakStairs::Shape::Straight); + case (53 << 4) | 2: return OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Bottom, OakStairs::Shape::Straight); + case (53 << 4) | 3: return OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Bottom, OakStairs::Shape::Straight); + case (53 << 4) | 4: return OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XP, OakStairs::Half::Top, OakStairs::Shape::Straight); + case (53 << 4) | 5: return OakStairs::OakStairs(eBlockFace::BLOCK_FACE_XM, OakStairs::Half::Top, OakStairs::Shape::Straight); + case (53 << 4) | 6: return OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZP, OakStairs::Half::Top, OakStairs::Shape::Straight); + case (53 << 4) | 7: return OakStairs::OakStairs(eBlockFace::BLOCK_FACE_ZM, OakStairs::Half::Top, OakStairs::Shape::Straight); + case (54 << 4) | 2: return Chest::Chest(eBlockFace::BLOCK_FACE_ZM, Chest::Type::Single); + case (54 << 4) | 3: return Chest::Chest(eBlockFace::BLOCK_FACE_ZP, Chest::Type::Single); + case (54 << 4) | 4: return Chest::Chest(eBlockFace::BLOCK_FACE_XM, Chest::Type::Single); + case (54 << 4) | 5: return Chest::Chest(eBlockFace::BLOCK_FACE_XP, Chest::Type::Single); + case (55 << 4) | 0: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 0, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 1: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 1, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 2: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 2, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 3: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 3, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 4: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 4, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 5: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 5, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 6: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 6, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 7: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 7, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 8: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 8, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 9: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 9, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 10: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 10, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 11: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 11, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 12: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 12, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 13: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 13, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 14: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 14, RedstoneWire::South::None, RedstoneWire::West::None); + case (55 << 4) | 15: return RedstoneWire::RedstoneWire(RedstoneWire::East::None, RedstoneWire::North::None, 15, RedstoneWire::South::None, RedstoneWire::West::None); + case (56 << 4) | 0: return DiamondOre::DiamondOre(); + case (57 << 4) | 0: return DiamondBlock::DiamondBlock(); + case (58 << 4) | 0: return CraftingTable::CraftingTable(); + case (59 << 4) | 0: return Wheat::Wheat(0); + case (59 << 4) | 1: return Wheat::Wheat(1); + case (59 << 4) | 2: return Wheat::Wheat(2); + case (59 << 4) | 3: return Wheat::Wheat(3); + case (59 << 4) | 4: return Wheat::Wheat(4); + case (59 << 4) | 5: return Wheat::Wheat(5); + case (59 << 4) | 6: return Wheat::Wheat(6); + case (59 << 4) | 7: return Wheat::Wheat(7); + case (60 << 4) | 0: return Farmland::Farmland(0); + case (60 << 4) | 1: return Farmland::Farmland(1); + case (60 << 4) | 2: return Farmland::Farmland(2); + case (60 << 4) | 3: return Farmland::Farmland(3); + case (60 << 4) | 4: return Farmland::Farmland(4); + case (60 << 4) | 5: return Farmland::Farmland(5); + case (60 << 4) | 6: return Farmland::Farmland(6); + case (60 << 4) | 7: return Farmland::Farmland(7); + case (61 << 4) | 2: return Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, false); + case (61 << 4) | 3: return Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, false); + case (61 << 4) | 4: return Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, false); + case (61 << 4) | 5: return Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, false); + case (62 << 4) | 2: return Furnace::Furnace(eBlockFace::BLOCK_FACE_ZM, true); + case (62 << 4) | 3: return Furnace::Furnace(eBlockFace::BLOCK_FACE_ZP, true); + case (62 << 4) | 4: return Furnace::Furnace(eBlockFace::BLOCK_FACE_XM, true); + case (62 << 4) | 5: return Furnace::Furnace(eBlockFace::BLOCK_FACE_XP, true); + case (63 << 4) | 0: return OakSign::OakSign(0); + case (63 << 4) | 1: return OakSign::OakSign(1); + case (63 << 4) | 2: return OakSign::OakSign(2); + case (63 << 4) | 3: return OakSign::OakSign(3); + case (63 << 4) | 4: return OakSign::OakSign(4); + case (63 << 4) | 5: return OakSign::OakSign(5); + case (63 << 4) | 6: return OakSign::OakSign(6); + case (63 << 4) | 7: return OakSign::OakSign(7); + case (63 << 4) | 8: return OakSign::OakSign(8); + case (63 << 4) | 9: return OakSign::OakSign(9); + case (63 << 4) | 10: return OakSign::OakSign(10); + case (63 << 4) | 11: return OakSign::OakSign(11); + case (63 << 4) | 12: return OakSign::OakSign(12); + case (63 << 4) | 13: return OakSign::OakSign(13); + case (63 << 4) | 14: return OakSign::OakSign(14); + case (63 << 4) | 15: return OakSign::OakSign(15); + case (64 << 4) | 0: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false); + case (64 << 4) | 1: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false); + case (64 << 4) | 2: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false); + case (64 << 4) | 3: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, false, false); + case (64 << 4) | 4: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false); + case (64 << 4) | 5: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false); + case (64 << 4) | 6: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false); + case (64 << 4) | 7: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Lower, OakDoor::Hinge::Right, true, false); + case (64 << 4) | 8: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, false); + case (64 << 4) | 9: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, false); + case (64 << 4) | 10: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, false, true); + case (64 << 4) | 11: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Right, false, true); + case (64 << 4) | 12: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false); + case (64 << 4) | 13: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZP, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false); + case (64 << 4) | 14: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_XM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false); + case (64 << 4) | 15: return OakDoor::OakDoor(eBlockFace::BLOCK_FACE_ZM, OakDoor::Half::Upper, OakDoor::Hinge::Left, true, false); + case (65 << 4) | 2: return Ladder::Ladder(eBlockFace::BLOCK_FACE_ZM); + case (65 << 4) | 3: return Ladder::Ladder(eBlockFace::BLOCK_FACE_ZP); + case (65 << 4) | 4: return Ladder::Ladder(eBlockFace::BLOCK_FACE_XM); + case (65 << 4) | 5: return Ladder::Ladder(eBlockFace::BLOCK_FACE_XP); + case (66 << 4) | 0: return Rail::Rail(Rail::Shape::NorthSouth); + case (66 << 4) | 1: return Rail::Rail(Rail::Shape::EastWest); + case (66 << 4) | 2: return Rail::Rail(Rail::Shape::AscendingEast); + case (66 << 4) | 3: return Rail::Rail(Rail::Shape::AscendingWest); + case (66 << 4) | 4: return Rail::Rail(Rail::Shape::AscendingNorth); + case (66 << 4) | 5: return Rail::Rail(Rail::Shape::AscendingSouth); + case (66 << 4) | 6: return Rail::Rail(Rail::Shape::SouthEast); + case (66 << 4) | 7: return Rail::Rail(Rail::Shape::SouthWest); + case (66 << 4) | 8: return Rail::Rail(Rail::Shape::NorthWest); + case (66 << 4) | 9: return Rail::Rail(Rail::Shape::NorthEast); + case (67 << 4) | 0: return CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight); + case (67 << 4) | 1: return CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight); + case (67 << 4) | 2: return CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight); + case (67 << 4) | 3: return CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Bottom, CobblestoneStairs::Shape::Straight); + case (67 << 4) | 4: return CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight); + case (67 << 4) | 5: return CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_XM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight); + case (67 << 4) | 6: return CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZP, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight); + case (67 << 4) | 7: return CobblestoneStairs::CobblestoneStairs(eBlockFace::BLOCK_FACE_ZM, CobblestoneStairs::Half::Top, CobblestoneStairs::Shape::Straight); + case (68 << 4) | 2: return OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZM); + case (68 << 4) | 3: return OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_ZP); + case (68 << 4) | 4: return OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XM); + case (68 << 4) | 5: return OakWallSign::OakWallSign(eBlockFace::BLOCK_FACE_XP); + case (69 << 4) | 0: return Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, false); + case (69 << 4) | 1: return Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, false); + case (69 << 4) | 2: return Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, false); + case (69 << 4) | 3: return Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false); + case (69 << 4) | 4: return Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false); + case (69 << 4) | 5: return Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false); + case (69 << 4) | 6: return Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, false); + case (69 << 4) | 7: return Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false); + case (69 << 4) | 8: return Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_XM, true); + case (69 << 4) | 9: return Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XP, true); + case (69 << 4) | 10: return Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_XM, true); + case (69 << 4) | 11: return Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true); + case (69 << 4) | 12: return Lever::Lever(Lever::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true); + case (69 << 4) | 13: return Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true); + case (69 << 4) | 14: return Lever::Lever(Lever::Face::Floor, eBlockFace::BLOCK_FACE_XM, true); + case (69 << 4) | 15: return Lever::Lever(Lever::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true); + case (70 << 4) | 0: return StonePressurePlate::StonePressurePlate(false); + case (70 << 4) | 1: return StonePressurePlate::StonePressurePlate(true); + case (71 << 4) | 0: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false); + case (71 << 4) | 1: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false); + case (71 << 4) | 2: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false); + case (71 << 4) | 3: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, false, false); + case (71 << 4) | 4: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false); + case (71 << 4) | 5: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false); + case (71 << 4) | 6: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false); + case (71 << 4) | 7: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Lower, IronDoor::Hinge::Right, true, false); + case (71 << 4) | 8: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, false); + case (71 << 4) | 9: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, false); + case (71 << 4) | 10: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, false, true); + case (71 << 4) | 11: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Right, false, true); + case (71 << 4) | 12: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false); + case (71 << 4) | 13: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZP, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false); + case (71 << 4) | 14: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_XM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false); + case (71 << 4) | 15: return IronDoor::IronDoor(eBlockFace::BLOCK_FACE_ZM, IronDoor::Half::Upper, IronDoor::Hinge::Left, true, false); + case (72 << 4) | 0: return OakPressurePlate::OakPressurePlate(false); + case (72 << 4) | 1: return OakPressurePlate::OakPressurePlate(true); + case (73 << 4) | 0: return RedstoneOre::RedstoneOre(false); + case (74 << 4) | 0: return RedstoneOre::RedstoneOre(true); + case (75 << 4) | 1: return RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, false); + case (75 << 4) | 2: return RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, false); + case (75 << 4) | 3: return RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, false); + case (75 << 4) | 4: return RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, false); + case (75 << 4) | 5: return RedstoneTorch::RedstoneTorch(false); + case (76 << 4) | 1: return RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XP, true); + case (76 << 4) | 2: return RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_XM, true); + case (76 << 4) | 3: return RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZP, true); + case (76 << 4) | 4: return RedstoneWallTorch::RedstoneWallTorch(eBlockFace::BLOCK_FACE_ZM, true); + case (76 << 4) | 5: return RedstoneTorch::RedstoneTorch(true); + case (77 << 4) | 0: return StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false); + case (77 << 4) | 1: return StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false); + case (77 << 4) | 2: return StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false); + case (77 << 4) | 3: return StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false); + case (77 << 4) | 4: return StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false); + case (77 << 4) | 5: return StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false); + case (77 << 4) | 8: return StoneButton::StoneButton(StoneButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true); + case (77 << 4) | 9: return StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true); + case (77 << 4) | 10: return StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true); + case (77 << 4) | 11: return StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true); + case (77 << 4) | 12: return StoneButton::StoneButton(StoneButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true); + case (77 << 4) | 13: return StoneButton::StoneButton(StoneButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true); + case (78 << 4) | 0: return Snow::Snow(1); + case (78 << 4) | 1: return Snow::Snow(2); + case (78 << 4) | 2: return Snow::Snow(3); + case (78 << 4) | 3: return Snow::Snow(4); + case (78 << 4) | 4: return Snow::Snow(5); + case (78 << 4) | 5: return Snow::Snow(6); + case (78 << 4) | 6: return Snow::Snow(7); + case (78 << 4) | 7: return Snow::Snow(8); + case (79 << 4) | 0: return Ice::Ice(); + case (80 << 4) | 0: return SnowBlock::SnowBlock(); + case (81 << 4) | 0: return Cactus::Cactus(0); + case (81 << 4) | 1: return Cactus::Cactus(1); + case (81 << 4) | 2: return Cactus::Cactus(2); + case (81 << 4) | 3: return Cactus::Cactus(3); + case (81 << 4) | 4: return Cactus::Cactus(4); + case (81 << 4) | 5: return Cactus::Cactus(5); + case (81 << 4) | 6: return Cactus::Cactus(6); + case (81 << 4) | 7: return Cactus::Cactus(7); + case (81 << 4) | 8: return Cactus::Cactus(8); + case (81 << 4) | 9: return Cactus::Cactus(9); + case (81 << 4) | 10: return Cactus::Cactus(10); + case (81 << 4) | 11: return Cactus::Cactus(11); + case (81 << 4) | 12: return Cactus::Cactus(12); + case (81 << 4) | 13: return Cactus::Cactus(13); + case (81 << 4) | 14: return Cactus::Cactus(14); + case (81 << 4) | 15: return Cactus::Cactus(15); + case (82 << 4) | 0: return Clay::Clay(); + case (83 << 4) | 0: return SugarCane::SugarCane(0); + case (83 << 4) | 1: return SugarCane::SugarCane(1); + case (83 << 4) | 2: return SugarCane::SugarCane(2); + case (83 << 4) | 3: return SugarCane::SugarCane(3); + case (83 << 4) | 4: return SugarCane::SugarCane(4); + case (83 << 4) | 5: return SugarCane::SugarCane(5); + case (83 << 4) | 6: return SugarCane::SugarCane(6); + case (83 << 4) | 7: return SugarCane::SugarCane(7); + case (83 << 4) | 8: return SugarCane::SugarCane(8); + case (83 << 4) | 9: return SugarCane::SugarCane(9); + case (83 << 4) | 10: return SugarCane::SugarCane(10); + case (83 << 4) | 11: return SugarCane::SugarCane(11); + case (83 << 4) | 12: return SugarCane::SugarCane(12); + case (83 << 4) | 13: return SugarCane::SugarCane(13); + case (83 << 4) | 14: return SugarCane::SugarCane(14); + case (83 << 4) | 15: return SugarCane::SugarCane(15); + case (84 << 4) | 0: return Jukebox::Jukebox(false); + case (84 << 4) | 1: return Jukebox::Jukebox(true); + case (85 << 4) | 0: return OakFence::OakFence(false, false, false, false); + case (86 << 4) | 0: return CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZP); + case (86 << 4) | 1: return CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XM); + case (86 << 4) | 2: return CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_ZM); + case (86 << 4) | 3: return CarvedPumpkin::CarvedPumpkin(eBlockFace::BLOCK_FACE_XP); + case (87 << 4) | 0: return Netherrack::Netherrack(); + case (88 << 4) | 0: return SoulSand::SoulSand(); + case (89 << 4) | 0: return Glowstone::Glowstone(); + case (90 << 4) | 1: return NetherPortal::NetherPortal(NetherPortal::Axis::X); + case (90 << 4) | 2: return NetherPortal::NetherPortal(NetherPortal::Axis::Z); + case (91 << 4) | 0: return JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZP); + case (91 << 4) | 1: return JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XM); + case (91 << 4) | 2: return JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_ZM); + case (91 << 4) | 3: return JackOLantern::JackOLantern(eBlockFace::BLOCK_FACE_XP); + case (92 << 4) | 0: return Cake::Cake(0); + case (92 << 4) | 1: return Cake::Cake(1); + case (92 << 4) | 2: return Cake::Cake(2); + case (92 << 4) | 3: return Cake::Cake(3); + case (92 << 4) | 4: return Cake::Cake(4); + case (92 << 4) | 5: return Cake::Cake(5); + case (92 << 4) | 6: return Cake::Cake(6); + case (93 << 4) | 0: return Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, false); + case (93 << 4) | 1: return Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, false); + case (93 << 4) | 2: return Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, false); + case (93 << 4) | 3: return Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, false); + case (93 << 4) | 4: return Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, false); + case (93 << 4) | 5: return Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, false); + case (93 << 4) | 6: return Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, false); + case (93 << 4) | 7: return Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, false); + case (93 << 4) | 8: return Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, false); + case (93 << 4) | 9: return Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, false); + case (93 << 4) | 10: return Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, false); + case (93 << 4) | 11: return Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, false); + case (93 << 4) | 12: return Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, false); + case (93 << 4) | 13: return Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, false); + case (93 << 4) | 14: return Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, false); + case (93 << 4) | 15: return Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, false); + case (94 << 4) | 0: return Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZP, false, true); + case (94 << 4) | 1: return Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XM, false, true); + case (94 << 4) | 2: return Repeater::Repeater(1, eBlockFace::BLOCK_FACE_ZM, false, true); + case (94 << 4) | 3: return Repeater::Repeater(1, eBlockFace::BLOCK_FACE_XP, false, true); + case (94 << 4) | 4: return Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZP, false, true); + case (94 << 4) | 5: return Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XM, false, true); + case (94 << 4) | 6: return Repeater::Repeater(2, eBlockFace::BLOCK_FACE_ZM, false, true); + case (94 << 4) | 7: return Repeater::Repeater(2, eBlockFace::BLOCK_FACE_XP, false, true); + case (94 << 4) | 8: return Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZP, false, true); + case (94 << 4) | 9: return Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XM, false, true); + case (94 << 4) | 10: return Repeater::Repeater(3, eBlockFace::BLOCK_FACE_ZM, false, true); + case (94 << 4) | 11: return Repeater::Repeater(3, eBlockFace::BLOCK_FACE_XP, false, true); + case (94 << 4) | 12: return Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZP, false, true); + case (94 << 4) | 13: return Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XM, false, true); + case (94 << 4) | 14: return Repeater::Repeater(4, eBlockFace::BLOCK_FACE_ZM, false, true); + case (94 << 4) | 15: return Repeater::Repeater(4, eBlockFace::BLOCK_FACE_XP, false, true); + case (95 << 4) | 0: return WhiteStainedGlass::WhiteStainedGlass(); + case (95 << 4) | 1: return OrangeStainedGlass::OrangeStainedGlass(); + case (95 << 4) | 2: return MagentaStainedGlass::MagentaStainedGlass(); + case (95 << 4) | 3: return LightBlueStainedGlass::LightBlueStainedGlass(); + case (95 << 4) | 4: return YellowStainedGlass::YellowStainedGlass(); + case (95 << 4) | 5: return LimeStainedGlass::LimeStainedGlass(); + case (95 << 4) | 6: return PinkStainedGlass::PinkStainedGlass(); + case (95 << 4) | 7: return GrayStainedGlass::GrayStainedGlass(); + case (95 << 4) | 8: return LightGrayStainedGlass::LightGrayStainedGlass(); + case (95 << 4) | 9: return CyanStainedGlass::CyanStainedGlass(); + case (95 << 4) | 10: return PurpleStainedGlass::PurpleStainedGlass(); + case (95 << 4) | 11: return BlueStainedGlass::BlueStainedGlass(); + case (95 << 4) | 12: return BrownStainedGlass::BrownStainedGlass(); + case (95 << 4) | 13: return GreenStainedGlass::GreenStainedGlass(); + case (95 << 4) | 14: return RedStainedGlass::RedStainedGlass(); + case (95 << 4) | 15: return BlackStainedGlass::BlackStainedGlass(); + case (96 << 4) | 0: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, false, false); + case (96 << 4) | 1: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, false, false); + case (96 << 4) | 2: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, false, false); + case (96 << 4) | 3: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, false, false); + case (96 << 4) | 4: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Bottom, true, false); + case (96 << 4) | 5: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Bottom, true, false); + case (96 << 4) | 6: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Bottom, true, false); + case (96 << 4) | 7: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Bottom, true, false); + case (96 << 4) | 8: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, false, false); + case (96 << 4) | 9: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, false, false); + case (96 << 4) | 10: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, false, false); + case (96 << 4) | 11: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, false, false); + case (96 << 4) | 12: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZM, OakTrapdoor::Half::Top, true, false); + case (96 << 4) | 13: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_ZP, OakTrapdoor::Half::Top, true, false); + case (96 << 4) | 14: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XM, OakTrapdoor::Half::Top, true, false); + case (96 << 4) | 15: return OakTrapdoor::OakTrapdoor(eBlockFace::BLOCK_FACE_XP, OakTrapdoor::Half::Top, true, false); + case (97 << 4) | 0: return InfestedStone::InfestedStone(); + case (97 << 4) | 1: return InfestedCobblestone::InfestedCobblestone(); + case (97 << 4) | 2: return InfestedStoneBricks::InfestedStoneBricks(); + case (97 << 4) | 3: return InfestedMossyStoneBricks::InfestedMossyStoneBricks(); + case (97 << 4) | 4: return InfestedCrackedStoneBricks::InfestedCrackedStoneBricks(); + case (97 << 4) | 5: return InfestedChiseledStoneBricks::InfestedChiseledStoneBricks(); + case (98 << 4) | 0: return StoneBricks::StoneBricks(); + case (98 << 4) | 1: return MossyStoneBricks::MossyStoneBricks(); + case (98 << 4) | 2: return CrackedStoneBricks::CrackedStoneBricks(); + case (98 << 4) | 3: return ChiseledStoneBricks::ChiseledStoneBricks(); + case (99 << 4) | 0: return BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false); + case (99 << 4) | 1: return BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, true); + case (99 << 4) | 2: return BrownMushroomBlock::BrownMushroomBlock(false, false, true, false, true, false); + case (99 << 4) | 3: return BrownMushroomBlock::BrownMushroomBlock(false, true, true, false, true, false); + case (99 << 4) | 4: return BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, true); + case (99 << 4) | 5: return BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, true, false); + case (99 << 4) | 6: return BrownMushroomBlock::BrownMushroomBlock(false, true, false, false, true, false); + case (99 << 4) | 7: return BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, true); + case (99 << 4) | 8: return BrownMushroomBlock::BrownMushroomBlock(false, false, false, true, true, false); + case (99 << 4) | 9: return BrownMushroomBlock::BrownMushroomBlock(false, true, false, true, true, false); + case (99 << 4) | 10: return MushroomStem::MushroomStem(false, true, true, true, false, true); + case (99 << 4) | 11: return BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false); + case (99 << 4) | 12: return BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false); + case (99 << 4) | 13: return BrownMushroomBlock::BrownMushroomBlock(false, false, false, false, false, false); + case (99 << 4) | 14: return BrownMushroomBlock::BrownMushroomBlock(true, true, true, true, true, true); + case (99 << 4) | 15: return MushroomStem::MushroomStem(true, true, true, true, true, true); + case (100 << 4) | 0: return RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false); + case (100 << 4) | 1: return RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, true); + case (100 << 4) | 2: return RedMushroomBlock::RedMushroomBlock(false, false, true, false, true, false); + case (100 << 4) | 3: return RedMushroomBlock::RedMushroomBlock(false, true, true, false, true, false); + case (100 << 4) | 4: return RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, true); + case (100 << 4) | 5: return RedMushroomBlock::RedMushroomBlock(false, false, false, false, true, false); + case (100 << 4) | 6: return RedMushroomBlock::RedMushroomBlock(false, true, false, false, true, false); + case (100 << 4) | 7: return RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, true); + case (100 << 4) | 8: return RedMushroomBlock::RedMushroomBlock(false, false, false, true, true, false); + case (100 << 4) | 9: return RedMushroomBlock::RedMushroomBlock(false, true, false, true, true, false); + case (100 << 4) | 10: return MushroomStem::MushroomStem(false, true, true, true, false, true); + case (100 << 4) | 11: return RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false); + case (100 << 4) | 12: return RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false); + case (100 << 4) | 13: return RedMushroomBlock::RedMushroomBlock(false, false, false, false, false, false); + case (100 << 4) | 14: return RedMushroomBlock::RedMushroomBlock(true, true, true, true, true, true); + case (100 << 4) | 15: return MushroomStem::MushroomStem(true, true, true, true, true, true); + case (101 << 4) | 0: return IronBars::IronBars(false, false, false, false); + case (102 << 4) | 0: return GlassPane::GlassPane(false, false, false, false); + case (103 << 4) | 0: return Melon::Melon(); + case (104 << 4) | 0: return PumpkinStem::PumpkinStem(0); + case (104 << 4) | 1: return PumpkinStem::PumpkinStem(1); + case (104 << 4) | 2: return PumpkinStem::PumpkinStem(2); + case (104 << 4) | 3: return PumpkinStem::PumpkinStem(3); + case (104 << 4) | 4: return PumpkinStem::PumpkinStem(4); + case (104 << 4) | 5: return PumpkinStem::PumpkinStem(5); + case (104 << 4) | 6: return PumpkinStem::PumpkinStem(6); + case (104 << 4) | 7: return PumpkinStem::PumpkinStem(7); + case (105 << 4) | 0: return MelonStem::MelonStem(0); + case (105 << 4) | 1: return MelonStem::MelonStem(1); + case (105 << 4) | 2: return MelonStem::MelonStem(2); + case (105 << 4) | 3: return MelonStem::MelonStem(3); + case (105 << 4) | 4: return MelonStem::MelonStem(4); + case (105 << 4) | 5: return MelonStem::MelonStem(5); + case (105 << 4) | 6: return MelonStem::MelonStem(6); + case (105 << 4) | 7: return MelonStem::MelonStem(7); + case (106 << 4) | 0: return Vine::Vine(false, false, false, true, false); + case (106 << 4) | 1: return Vine::Vine(false, false, true, true, false); + case (106 << 4) | 2: return Vine::Vine(false, false, false, true, true); + case (106 << 4) | 3: return Vine::Vine(false, false, true, true, true); + case (106 << 4) | 4: return Vine::Vine(false, true, false, true, false); + case (106 << 4) | 5: return Vine::Vine(false, true, true, true, false); + case (106 << 4) | 6: return Vine::Vine(false, true, false, true, true); + case (106 << 4) | 7: return Vine::Vine(false, true, true, true, true); + case (106 << 4) | 8: return Vine::Vine(true, false, false, true, false); + case (106 << 4) | 9: return Vine::Vine(true, false, true, true, false); + case (106 << 4) | 10: return Vine::Vine(true, false, false, true, true); + case (106 << 4) | 11: return Vine::Vine(true, false, true, true, true); + case (106 << 4) | 12: return Vine::Vine(true, true, false, true, false); + case (106 << 4) | 13: return Vine::Vine(true, true, true, true, false); + case (106 << 4) | 14: return Vine::Vine(true, true, false, true, true); + case (106 << 4) | 15: return Vine::Vine(true, true, true, true, true); + case (107 << 4) | 0: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false); + case (107 << 4) | 1: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false); + case (107 << 4) | 2: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false); + case (107 << 4) | 3: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false); + case (107 << 4) | 4: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false); + case (107 << 4) | 5: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false); + case (107 << 4) | 6: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false); + case (107 << 4) | 7: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false); + case (107 << 4) | 8: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true); + case (107 << 4) | 9: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true); + case (107 << 4) | 10: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true); + case (107 << 4) | 11: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true); + case (107 << 4) | 12: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true); + case (107 << 4) | 13: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true); + case (107 << 4) | 14: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true); + case (107 << 4) | 15: return OakFenceGate::OakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true); + case (108 << 4) | 0: return BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight); + case (108 << 4) | 1: return BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight); + case (108 << 4) | 2: return BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight); + case (108 << 4) | 3: return BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Bottom, BrickStairs::Shape::Straight); + case (108 << 4) | 4: return BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XP, BrickStairs::Half::Top, BrickStairs::Shape::Straight); + case (108 << 4) | 5: return BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_XM, BrickStairs::Half::Top, BrickStairs::Shape::Straight); + case (108 << 4) | 6: return BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZP, BrickStairs::Half::Top, BrickStairs::Shape::Straight); + case (108 << 4) | 7: return BrickStairs::BrickStairs(eBlockFace::BLOCK_FACE_ZM, BrickStairs::Half::Top, BrickStairs::Shape::Straight); + case (109 << 4) | 0: return StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight); + case (109 << 4) | 1: return StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight); + case (109 << 4) | 2: return StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight); + case (109 << 4) | 3: return StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Bottom, StoneBrickStairs::Shape::Straight); + case (109 << 4) | 4: return StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight); + case (109 << 4) | 5: return StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_XM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight); + case (109 << 4) | 6: return StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZP, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight); + case (109 << 4) | 7: return StoneBrickStairs::StoneBrickStairs(eBlockFace::BLOCK_FACE_ZM, StoneBrickStairs::Half::Top, StoneBrickStairs::Shape::Straight); + case (110 << 4) | 0: return Mycelium::Mycelium(false); + case (111 << 4) | 0: return LilyPad::LilyPad(); + case (112 << 4) | 0: return NetherBricks::NetherBricks(); + case (113 << 4) | 0: return NetherBrickFence::NetherBrickFence(false, false, false, false); + case (114 << 4) | 0: return NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight); + case (114 << 4) | 1: return NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight); + case (114 << 4) | 2: return NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight); + case (114 << 4) | 3: return NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Bottom, NetherBrickStairs::Shape::Straight); + case (114 << 4) | 4: return NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight); + case (114 << 4) | 5: return NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_XM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight); + case (114 << 4) | 6: return NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZP, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight); + case (114 << 4) | 7: return NetherBrickStairs::NetherBrickStairs(eBlockFace::BLOCK_FACE_ZM, NetherBrickStairs::Half::Top, NetherBrickStairs::Shape::Straight); + case (115 << 4) | 0: return NetherWart::NetherWart(0); + case (115 << 4) | 1: return NetherWart::NetherWart(1); + case (115 << 4) | 2: return NetherWart::NetherWart(2); + case (115 << 4) | 3: return NetherWart::NetherWart(3); + case (116 << 4) | 0: return EnchantingTable::EnchantingTable(); + case (117 << 4) | 0: return BrewingStand::BrewingStand(false, false, false); + case (117 << 4) | 1: return BrewingStand::BrewingStand(true, false, false); + case (117 << 4) | 2: return BrewingStand::BrewingStand(false, true, false); + case (117 << 4) | 3: return BrewingStand::BrewingStand(true, true, false); + case (117 << 4) | 4: return BrewingStand::BrewingStand(false, false, true); + case (117 << 4) | 5: return BrewingStand::BrewingStand(true, false, true); + case (117 << 4) | 6: return BrewingStand::BrewingStand(false, true, true); + case (117 << 4) | 7: return BrewingStand::BrewingStand(true, true, true); + case (118 << 4) | 0: return Cauldron::Cauldron(0); + case (118 << 4) | 1: return Cauldron::Cauldron(1); + case (118 << 4) | 2: return Cauldron::Cauldron(2); + case (118 << 4) | 3: return Cauldron::Cauldron(3); + case (119 << 4) | 0: return EndPortal::EndPortal(); + case (120 << 4) | 0: return EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZP); + case (120 << 4) | 1: return EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XM); + case (120 << 4) | 2: return EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_ZM); + case (120 << 4) | 3: return EndPortalFrame::EndPortalFrame(false, eBlockFace::BLOCK_FACE_XP); + case (120 << 4) | 4: return EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZP); + case (120 << 4) | 5: return EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XM); + case (120 << 4) | 6: return EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_ZM); + case (120 << 4) | 7: return EndPortalFrame::EndPortalFrame(true, eBlockFace::BLOCK_FACE_XP); + case (121 << 4) | 0: return EndStone::EndStone(); + case (122 << 4) | 0: return DragonEgg::DragonEgg(); + case (123 << 4) | 0: return RedstoneLamp::RedstoneLamp(false); + case (124 << 4) | 0: return RedstoneLamp::RedstoneLamp(true); + case (125 << 4) | 0: return OakSlab::OakSlab(OakSlab::Type::Double); + case (125 << 4) | 1: return SpruceSlab::SpruceSlab(SpruceSlab::Type::Double); + case (125 << 4) | 2: return BirchSlab::BirchSlab(BirchSlab::Type::Double); + case (125 << 4) | 3: return JungleSlab::JungleSlab(JungleSlab::Type::Double); + case (125 << 4) | 4: return AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Double); + case (125 << 4) | 5: return DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Double); + case (126 << 4) | 0: return OakSlab::OakSlab(OakSlab::Type::Bottom); + case (126 << 4) | 1: return SpruceSlab::SpruceSlab(SpruceSlab::Type::Bottom); + case (126 << 4) | 2: return BirchSlab::BirchSlab(BirchSlab::Type::Bottom); + case (126 << 4) | 3: return JungleSlab::JungleSlab(JungleSlab::Type::Bottom); + case (126 << 4) | 4: return AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Bottom); + case (126 << 4) | 5: return DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Bottom); + case (126 << 4) | 8: return OakSlab::OakSlab(OakSlab::Type::Top); + case (126 << 4) | 9: return SpruceSlab::SpruceSlab(SpruceSlab::Type::Top); + case (126 << 4) | 10: return BirchSlab::BirchSlab(BirchSlab::Type::Top); + case (126 << 4) | 11: return JungleSlab::JungleSlab(JungleSlab::Type::Top); + case (126 << 4) | 12: return AcaciaSlab::AcaciaSlab(AcaciaSlab::Type::Top); + case (126 << 4) | 13: return DarkOakSlab::DarkOakSlab(DarkOakSlab::Type::Top); + case (127 << 4) | 0: return Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZP); + case (127 << 4) | 1: return Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XM); + case (127 << 4) | 2: return Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_ZM); + case (127 << 4) | 3: return Cocoa::Cocoa(0, eBlockFace::BLOCK_FACE_XP); + case (127 << 4) | 4: return Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZP); + case (127 << 4) | 5: return Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XM); + case (127 << 4) | 6: return Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_ZM); + case (127 << 4) | 7: return Cocoa::Cocoa(1, eBlockFace::BLOCK_FACE_XP); + case (127 << 4) | 8: return Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZP); + case (127 << 4) | 9: return Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XM); + case (127 << 4) | 10: return Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_ZM); + case (127 << 4) | 11: return Cocoa::Cocoa(2, eBlockFace::BLOCK_FACE_XP); + case (128 << 4) | 0: return SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight); + case (128 << 4) | 1: return SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight); + case (128 << 4) | 2: return SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight); + case (128 << 4) | 3: return SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Bottom, SandstoneStairs::Shape::Straight); + case (128 << 4) | 4: return SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight); + case (128 << 4) | 5: return SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_XM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight); + case (128 << 4) | 6: return SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZP, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight); + case (128 << 4) | 7: return SandstoneStairs::SandstoneStairs(eBlockFace::BLOCK_FACE_ZM, SandstoneStairs::Half::Top, SandstoneStairs::Shape::Straight); + case (129 << 4) | 0: return EmeraldOre::EmeraldOre(); + case (130 << 4) | 2: return EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZM); + case (130 << 4) | 3: return EnderChest::EnderChest(eBlockFace::BLOCK_FACE_ZP); + case (130 << 4) | 4: return EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XM); + case (130 << 4) | 5: return EnderChest::EnderChest(eBlockFace::BLOCK_FACE_XP); + case (131 << 4) | 0: return TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, false); + case (131 << 4) | 1: return TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, false); + case (131 << 4) | 2: return TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, false); + case (131 << 4) | 3: return TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, false); + case (131 << 4) | 4: return TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, false); + case (131 << 4) | 5: return TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, false); + case (131 << 4) | 6: return TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, false); + case (131 << 4) | 7: return TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, false); + case (131 << 4) | 8: return TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZP, true); + case (131 << 4) | 9: return TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XM, true); + case (131 << 4) | 10: return TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_ZM, true); + case (131 << 4) | 11: return TripwireHook::TripwireHook(false, eBlockFace::BLOCK_FACE_XP, true); + case (131 << 4) | 12: return TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZP, true); + case (131 << 4) | 13: return TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XM, true); + case (131 << 4) | 14: return TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_ZM, true); + case (131 << 4) | 15: return TripwireHook::TripwireHook(true, eBlockFace::BLOCK_FACE_XP, true); + case (132 << 4) | 0: return Tripwire::Tripwire(false, false, false, false, false, false, false); + case (132 << 4) | 1: return Tripwire::Tripwire(false, false, false, false, true, false, false); + case (132 << 4) | 2: return Tripwire::Tripwire(false, false, false, false, false, false, false); + case (132 << 4) | 3: return Tripwire::Tripwire(false, false, false, false, true, false, false); + case (132 << 4) | 4: return Tripwire::Tripwire(true, false, false, false, false, false, false); + case (132 << 4) | 5: return Tripwire::Tripwire(true, false, false, false, true, false, false); + case (132 << 4) | 6: return Tripwire::Tripwire(true, false, false, false, false, false, false); + case (132 << 4) | 7: return Tripwire::Tripwire(true, false, false, false, true, false, false); + case (132 << 4) | 8: return Tripwire::Tripwire(false, true, false, false, false, false, false); + case (132 << 4) | 9: return Tripwire::Tripwire(false, true, false, false, true, false, false); + case (132 << 4) | 10: return Tripwire::Tripwire(false, true, false, false, false, false, false); + case (132 << 4) | 11: return Tripwire::Tripwire(false, true, false, false, true, false, false); + case (132 << 4) | 12: return Tripwire::Tripwire(true, true, false, false, false, false, false); + case (132 << 4) | 13: return Tripwire::Tripwire(true, true, false, false, true, false, false); + case (132 << 4) | 14: return Tripwire::Tripwire(true, true, false, false, false, false, false); + case (133 << 4) | 0: return EmeraldBlock::EmeraldBlock(); + case (134 << 4) | 0: return SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight); + case (134 << 4) | 1: return SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight); + case (134 << 4) | 2: return SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight); + case (134 << 4) | 3: return SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Bottom, SpruceStairs::Shape::Straight); + case (134 << 4) | 4: return SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight); + case (134 << 4) | 5: return SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_XM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight); + case (134 << 4) | 6: return SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZP, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight); + case (134 << 4) | 7: return SpruceStairs::SpruceStairs(eBlockFace::BLOCK_FACE_ZM, SpruceStairs::Half::Top, SpruceStairs::Shape::Straight); + case (135 << 4) | 0: return BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight); + case (135 << 4) | 1: return BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight); + case (135 << 4) | 2: return BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight); + case (135 << 4) | 3: return BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Bottom, BirchStairs::Shape::Straight); + case (135 << 4) | 4: return BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XP, BirchStairs::Half::Top, BirchStairs::Shape::Straight); + case (135 << 4) | 5: return BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_XM, BirchStairs::Half::Top, BirchStairs::Shape::Straight); + case (135 << 4) | 6: return BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZP, BirchStairs::Half::Top, BirchStairs::Shape::Straight); + case (135 << 4) | 7: return BirchStairs::BirchStairs(eBlockFace::BLOCK_FACE_ZM, BirchStairs::Half::Top, BirchStairs::Shape::Straight); + case (136 << 4) | 0: return JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight); + case (136 << 4) | 1: return JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight); + case (136 << 4) | 2: return JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight); + case (136 << 4) | 3: return JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Bottom, JungleStairs::Shape::Straight); + case (136 << 4) | 4: return JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XP, JungleStairs::Half::Top, JungleStairs::Shape::Straight); + case (136 << 4) | 5: return JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_XM, JungleStairs::Half::Top, JungleStairs::Shape::Straight); + case (136 << 4) | 6: return JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZP, JungleStairs::Half::Top, JungleStairs::Shape::Straight); + case (136 << 4) | 7: return JungleStairs::JungleStairs(eBlockFace::BLOCK_FACE_ZM, JungleStairs::Half::Top, JungleStairs::Shape::Straight); + case (137 << 4) | 0: return CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YM); + case (137 << 4) | 1: return CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_YP); + case (137 << 4) | 2: return CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZM); + case (137 << 4) | 3: return CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_ZP); + case (137 << 4) | 4: return CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XM); + case (137 << 4) | 5: return CommandBlock::CommandBlock(false, eBlockFace::BLOCK_FACE_XP); + case (137 << 4) | 8: return CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YM); + case (137 << 4) | 9: return CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_YP); + case (137 << 4) | 10: return CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZM); + case (137 << 4) | 11: return CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_ZP); + case (137 << 4) | 12: return CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XM); + case (137 << 4) | 13: return CommandBlock::CommandBlock(true, eBlockFace::BLOCK_FACE_XP); + case (138 << 4) | 0: return Beacon::Beacon(); + case (139 << 4) | 0: return CobblestoneWall::CobblestoneWall(CobblestoneWall::East::None, CobblestoneWall::North::None, CobblestoneWall::South::None, true, CobblestoneWall::West::None); + case (139 << 4) | 1: return MossyCobblestoneWall::MossyCobblestoneWall(MossyCobblestoneWall::East::None, MossyCobblestoneWall::North::None, MossyCobblestoneWall::South::None, true, MossyCobblestoneWall::West::None); + case (140 << 4) | 0: return PottedCactus::PottedCactus(); + case (140 << 4) | 1: return PottedCactus::PottedCactus(); + case (140 << 4) | 2: return PottedCactus::PottedCactus(); + case (140 << 4) | 3: return PottedCactus::PottedCactus(); + case (140 << 4) | 4: return PottedCactus::PottedCactus(); + case (140 << 4) | 5: return PottedCactus::PottedCactus(); + case (140 << 4) | 6: return PottedCactus::PottedCactus(); + case (140 << 4) | 7: return PottedCactus::PottedCactus(); + case (140 << 4) | 8: return PottedCactus::PottedCactus(); + case (140 << 4) | 9: return PottedCactus::PottedCactus(); + case (140 << 4) | 10: return PottedCactus::PottedCactus(); + case (140 << 4) | 11: return PottedCactus::PottedCactus(); + case (140 << 4) | 12: return PottedCactus::PottedCactus(); + case (140 << 4) | 13: return PottedCactus::PottedCactus(); + case (140 << 4) | 14: return PottedCactus::PottedCactus(); + case (140 << 4) | 15: return PottedCactus::PottedCactus(); + case (141 << 4) | 0: return Carrots::Carrots(0); + case (141 << 4) | 1: return Carrots::Carrots(1); + case (141 << 4) | 2: return Carrots::Carrots(2); + case (141 << 4) | 3: return Carrots::Carrots(3); + case (141 << 4) | 4: return Carrots::Carrots(4); + case (141 << 4) | 5: return Carrots::Carrots(5); + case (141 << 4) | 6: return Carrots::Carrots(6); + case (141 << 4) | 7: return Carrots::Carrots(7); + case (142 << 4) | 0: return Potatoes::Potatoes(0); + case (142 << 4) | 1: return Potatoes::Potatoes(1); + case (142 << 4) | 2: return Potatoes::Potatoes(2); + case (142 << 4) | 3: return Potatoes::Potatoes(3); + case (142 << 4) | 4: return Potatoes::Potatoes(4); + case (142 << 4) | 5: return Potatoes::Potatoes(5); + case (142 << 4) | 6: return Potatoes::Potatoes(6); + case (142 << 4) | 7: return Potatoes::Potatoes(7); + case (143 << 4) | 0: return OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, false); + case (143 << 4) | 1: return OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, false); + case (143 << 4) | 2: return OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, false); + case (143 << 4) | 3: return OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, false); + case (143 << 4) | 4: return OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, false); + case (143 << 4) | 5: return OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, false); + case (143 << 4) | 8: return OakButton::OakButton(OakButton::Face::Ceiling, eBlockFace::BLOCK_FACE_ZM, true); + case (143 << 4) | 9: return OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XP, true); + case (143 << 4) | 10: return OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_XM, true); + case (143 << 4) | 11: return OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZP, true); + case (143 << 4) | 12: return OakButton::OakButton(OakButton::Face::Wall, eBlockFace::BLOCK_FACE_ZM, true); + case (143 << 4) | 13: return OakButton::OakButton(OakButton::Face::Floor, eBlockFace::BLOCK_FACE_ZM, true); + case (144 << 4) | 1: return SkeletonSkull::SkeletonSkull(eBlockFace::BLOCK_FACE_YP); + case (144 << 4) | 2: return SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZM); + case (144 << 4) | 3: return SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_ZP); + case (144 << 4) | 4: return SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XM); + case (144 << 4) | 5: return SkeletonWallSkull::SkeletonWallSkull(eBlockFace::BLOCK_FACE_XP); + case (145 << 4) | 0: return Anvil::Anvil(eBlockFace::BLOCK_FACE_ZP); + case (145 << 4) | 1: return Anvil::Anvil(eBlockFace::BLOCK_FACE_XM); + case (145 << 4) | 2: return Anvil::Anvil(eBlockFace::BLOCK_FACE_ZM); + case (145 << 4) | 3: return Anvil::Anvil(eBlockFace::BLOCK_FACE_XP); + case (145 << 4) | 4: return ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZP); + case (145 << 4) | 5: return ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XM); + case (145 << 4) | 6: return ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_ZM); + case (145 << 4) | 7: return ChippedAnvil::ChippedAnvil(eBlockFace::BLOCK_FACE_XP); + case (145 << 4) | 8: return DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZP); + case (145 << 4) | 9: return DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XM); + case (145 << 4) | 10: return DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_ZM); + case (145 << 4) | 11: return DamagedAnvil::DamagedAnvil(eBlockFace::BLOCK_FACE_XP); + case (146 << 4) | 2: return TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZM, TrappedChest::Type::Single); + case (146 << 4) | 3: return TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_ZP, TrappedChest::Type::Single); + case (146 << 4) | 4: return TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XM, TrappedChest::Type::Single); + case (146 << 4) | 5: return TrappedChest::TrappedChest(eBlockFace::BLOCK_FACE_XP, TrappedChest::Type::Single); + case (147 << 4) | 0: return LightWeightedPressurePlate::LightWeightedPressurePlate(0); + case (147 << 4) | 1: return LightWeightedPressurePlate::LightWeightedPressurePlate(1); + case (147 << 4) | 2: return LightWeightedPressurePlate::LightWeightedPressurePlate(2); + case (147 << 4) | 3: return LightWeightedPressurePlate::LightWeightedPressurePlate(3); + case (147 << 4) | 4: return LightWeightedPressurePlate::LightWeightedPressurePlate(4); + case (147 << 4) | 5: return LightWeightedPressurePlate::LightWeightedPressurePlate(5); + case (147 << 4) | 6: return LightWeightedPressurePlate::LightWeightedPressurePlate(6); + case (147 << 4) | 7: return LightWeightedPressurePlate::LightWeightedPressurePlate(7); + case (147 << 4) | 8: return LightWeightedPressurePlate::LightWeightedPressurePlate(8); + case (147 << 4) | 9: return LightWeightedPressurePlate::LightWeightedPressurePlate(9); + case (147 << 4) | 10: return LightWeightedPressurePlate::LightWeightedPressurePlate(10); + case (147 << 4) | 11: return LightWeightedPressurePlate::LightWeightedPressurePlate(11); + case (147 << 4) | 12: return LightWeightedPressurePlate::LightWeightedPressurePlate(12); + case (147 << 4) | 13: return LightWeightedPressurePlate::LightWeightedPressurePlate(13); + case (147 << 4) | 14: return LightWeightedPressurePlate::LightWeightedPressurePlate(14); + case (147 << 4) | 15: return LightWeightedPressurePlate::LightWeightedPressurePlate(15); + case (148 << 4) | 0: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(0); + case (148 << 4) | 1: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(1); + case (148 << 4) | 2: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(2); + case (148 << 4) | 3: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(3); + case (148 << 4) | 4: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(4); + case (148 << 4) | 5: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(5); + case (148 << 4) | 6: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(6); + case (148 << 4) | 7: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(7); + case (148 << 4) | 8: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(8); + case (148 << 4) | 9: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(9); + case (148 << 4) | 10: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(10); + case (148 << 4) | 11: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(11); + case (148 << 4) | 12: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(12); + case (148 << 4) | 13: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(13); + case (148 << 4) | 14: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(14); + case (148 << 4) | 15: return HeavyWeightedPressurePlate::HeavyWeightedPressurePlate(15); + case (149 << 4) | 0: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false); + case (149 << 4) | 1: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false); + case (149 << 4) | 2: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false); + case (149 << 4) | 3: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false); + case (149 << 4) | 4: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false); + case (149 << 4) | 5: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false); + case (149 << 4) | 6: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false); + case (149 << 4) | 7: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false); + case (149 << 4) | 8: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true); + case (149 << 4) | 9: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true); + case (149 << 4) | 10: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true); + case (149 << 4) | 11: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true); + case (149 << 4) | 12: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true); + case (149 << 4) | 13: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true); + case (149 << 4) | 14: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true); + case (149 << 4) | 15: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true); + case (150 << 4) | 0: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, false); + case (150 << 4) | 1: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, false); + case (150 << 4) | 2: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, false); + case (150 << 4) | 3: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, false); + case (150 << 4) | 4: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, false); + case (150 << 4) | 5: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, false); + case (150 << 4) | 6: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, false); + case (150 << 4) | 7: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, false); + case (150 << 4) | 8: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Compare, true); + case (150 << 4) | 9: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Compare, true); + case (150 << 4) | 10: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Compare, true); + case (150 << 4) | 11: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Compare, true); + case (150 << 4) | 12: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZP, Comparator::Mode::Subtract, true); + case (150 << 4) | 13: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XM, Comparator::Mode::Subtract, true); + case (150 << 4) | 14: return Comparator::Comparator(eBlockFace::BLOCK_FACE_ZM, Comparator::Mode::Subtract, true); + case (150 << 4) | 15: return Comparator::Comparator(eBlockFace::BLOCK_FACE_XP, Comparator::Mode::Subtract, true); + case (151 << 4) | 0: return DaylightDetector::DaylightDetector(false, 0); + case (151 << 4) | 1: return DaylightDetector::DaylightDetector(false, 1); + case (151 << 4) | 2: return DaylightDetector::DaylightDetector(false, 2); + case (151 << 4) | 3: return DaylightDetector::DaylightDetector(false, 3); + case (151 << 4) | 4: return DaylightDetector::DaylightDetector(false, 4); + case (151 << 4) | 5: return DaylightDetector::DaylightDetector(false, 5); + case (151 << 4) | 6: return DaylightDetector::DaylightDetector(false, 6); + case (151 << 4) | 7: return DaylightDetector::DaylightDetector(false, 7); + case (151 << 4) | 8: return DaylightDetector::DaylightDetector(false, 8); + case (151 << 4) | 9: return DaylightDetector::DaylightDetector(false, 9); + case (151 << 4) | 10: return DaylightDetector::DaylightDetector(false, 10); + case (151 << 4) | 11: return DaylightDetector::DaylightDetector(false, 11); + case (151 << 4) | 12: return DaylightDetector::DaylightDetector(false, 12); + case (151 << 4) | 13: return DaylightDetector::DaylightDetector(false, 13); + case (151 << 4) | 14: return DaylightDetector::DaylightDetector(false, 14); + case (151 << 4) | 15: return DaylightDetector::DaylightDetector(false, 15); + case (152 << 4) | 0: return RedstoneBlock::RedstoneBlock(); + case (153 << 4) | 0: return NetherQuartzOre::NetherQuartzOre(); + case (154 << 4) | 0: return Hopper::Hopper(true, eBlockFace::BLOCK_FACE_YM); + case (154 << 4) | 2: return Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZM); + case (154 << 4) | 3: return Hopper::Hopper(true, eBlockFace::BLOCK_FACE_ZP); + case (154 << 4) | 4: return Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XM); + case (154 << 4) | 5: return Hopper::Hopper(true, eBlockFace::BLOCK_FACE_XP); + case (154 << 4) | 8: return Hopper::Hopper(false, eBlockFace::BLOCK_FACE_YM); + case (154 << 4) | 10: return Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZM); + case (154 << 4) | 11: return Hopper::Hopper(false, eBlockFace::BLOCK_FACE_ZP); + case (154 << 4) | 12: return Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XM); + case (154 << 4) | 13: return Hopper::Hopper(false, eBlockFace::BLOCK_FACE_XP); + case (155 << 4) | 0: return QuartzBlock::QuartzBlock(); + case (155 << 4) | 1: return ChiseledQuartzBlock::ChiseledQuartzBlock(); + case (155 << 4) | 2: return QuartzPillar::QuartzPillar(QuartzPillar::Axis::Y); + case (155 << 4) | 3: return QuartzPillar::QuartzPillar(QuartzPillar::Axis::X); + case (155 << 4) | 4: return QuartzPillar::QuartzPillar(QuartzPillar::Axis::Z); + case (156 << 4) | 0: return QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight); + case (156 << 4) | 1: return QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight); + case (156 << 4) | 2: return QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight); + case (156 << 4) | 3: return QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Bottom, QuartzStairs::Shape::Straight); + case (156 << 4) | 4: return QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight); + case (156 << 4) | 5: return QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_XM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight); + case (156 << 4) | 6: return QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZP, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight); + case (156 << 4) | 7: return QuartzStairs::QuartzStairs(eBlockFace::BLOCK_FACE_ZM, QuartzStairs::Half::Top, QuartzStairs::Shape::Straight); + case (157 << 4) | 0: return ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::NorthSouth); + case (157 << 4) | 1: return ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::EastWest); + case (157 << 4) | 2: return ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingEast); + case (157 << 4) | 3: return ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingWest); + case (157 << 4) | 4: return ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingNorth); + case (157 << 4) | 5: return ActivatorRail::ActivatorRail(false, ActivatorRail::Shape::AscendingSouth); + case (157 << 4) | 8: return ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::NorthSouth); + case (157 << 4) | 9: return ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::EastWest); + case (157 << 4) | 10: return ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingEast); + case (157 << 4) | 11: return ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingWest); + case (157 << 4) | 12: return ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingNorth); + case (157 << 4) | 13: return ActivatorRail::ActivatorRail(true, ActivatorRail::Shape::AscendingSouth); + case (158 << 4) | 0: return Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, false); + case (158 << 4) | 1: return Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, false); + case (158 << 4) | 2: return Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, false); + case (158 << 4) | 3: return Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, false); + case (158 << 4) | 4: return Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, false); + case (158 << 4) | 5: return Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, false); + case (158 << 4) | 8: return Dropper::Dropper(eBlockFace::BLOCK_FACE_YM, true); + case (158 << 4) | 9: return Dropper::Dropper(eBlockFace::BLOCK_FACE_YP, true); + case (158 << 4) | 10: return Dropper::Dropper(eBlockFace::BLOCK_FACE_ZM, true); + case (158 << 4) | 11: return Dropper::Dropper(eBlockFace::BLOCK_FACE_ZP, true); + case (158 << 4) | 12: return Dropper::Dropper(eBlockFace::BLOCK_FACE_XM, true); + case (158 << 4) | 13: return Dropper::Dropper(eBlockFace::BLOCK_FACE_XP, true); + case (159 << 4) | 0: return WhiteTerracotta::WhiteTerracotta(); + case (159 << 4) | 1: return OrangeTerracotta::OrangeTerracotta(); + case (159 << 4) | 2: return MagentaTerracotta::MagentaTerracotta(); + case (159 << 4) | 3: return LightBlueTerracotta::LightBlueTerracotta(); + case (159 << 4) | 4: return YellowTerracotta::YellowTerracotta(); + case (159 << 4) | 5: return LimeTerracotta::LimeTerracotta(); + case (159 << 4) | 6: return PinkTerracotta::PinkTerracotta(); + case (159 << 4) | 7: return GrayTerracotta::GrayTerracotta(); + case (159 << 4) | 8: return LightGrayTerracotta::LightGrayTerracotta(); + case (159 << 4) | 9: return CyanTerracotta::CyanTerracotta(); + case (159 << 4) | 10: return PurpleTerracotta::PurpleTerracotta(); + case (159 << 4) | 11: return BlueTerracotta::BlueTerracotta(); + case (159 << 4) | 12: return BrownTerracotta::BrownTerracotta(); + case (159 << 4) | 13: return GreenTerracotta::GreenTerracotta(); + case (159 << 4) | 14: return RedTerracotta::RedTerracotta(); + case (159 << 4) | 15: return BlackTerracotta::BlackTerracotta(); + case (160 << 4) | 0: return WhiteStainedGlassPane::WhiteStainedGlassPane(false, false, false, false); + case (160 << 4) | 1: return OrangeStainedGlassPane::OrangeStainedGlassPane(false, false, false, false); + case (160 << 4) | 2: return MagentaStainedGlassPane::MagentaStainedGlassPane(false, false, false, false); + case (160 << 4) | 3: return LightBlueStainedGlassPane::LightBlueStainedGlassPane(false, false, false, false); + case (160 << 4) | 4: return YellowStainedGlassPane::YellowStainedGlassPane(false, false, false, false); + case (160 << 4) | 5: return LimeStainedGlassPane::LimeStainedGlassPane(false, false, false, false); + case (160 << 4) | 6: return PinkStainedGlassPane::PinkStainedGlassPane(false, false, false, false); + case (160 << 4) | 7: return GrayStainedGlassPane::GrayStainedGlassPane(false, false, false, false); + case (160 << 4) | 8: return LightGrayStainedGlassPane::LightGrayStainedGlassPane(false, false, false, false); + case (160 << 4) | 9: return CyanStainedGlassPane::CyanStainedGlassPane(false, false, false, false); + case (160 << 4) | 10: return PurpleStainedGlassPane::PurpleStainedGlassPane(false, false, false, false); + case (160 << 4) | 11: return BlueStainedGlassPane::BlueStainedGlassPane(false, false, false, false); + case (160 << 4) | 12: return BrownStainedGlassPane::BrownStainedGlassPane(false, false, false, false); + case (160 << 4) | 13: return GreenStainedGlassPane::GreenStainedGlassPane(false, false, false, false); + case (160 << 4) | 14: return RedStainedGlassPane::RedStainedGlassPane(false, false, false, false); + case (160 << 4) | 15: return BlackStainedGlassPane::BlackStainedGlassPane(false, false, false, false); + case (161 << 4) | 0: return AcaciaLeaves::AcaciaLeaves(false, true); + case (161 << 4) | 1: return DarkOakLeaves::DarkOakLeaves(false, true); + case (161 << 4) | 4: return AcaciaLeaves::AcaciaLeaves(false, false); + case (161 << 4) | 5: return DarkOakLeaves::DarkOakLeaves(false, false); + case (161 << 4) | 8: return AcaciaLeaves::AcaciaLeaves(true, true); + case (161 << 4) | 9: return DarkOakLeaves::DarkOakLeaves(true, true); + case (161 << 4) | 12: return AcaciaLeaves::AcaciaLeaves(true, false); + case (161 << 4) | 13: return DarkOakLeaves::DarkOakLeaves(true, false); + case (162 << 4) | 0: return AcaciaLog::AcaciaLog(AcaciaLog::Axis::Y); + case (162 << 4) | 1: return DarkOakLog::DarkOakLog(DarkOakLog::Axis::Y); + case (162 << 4) | 4: return AcaciaLog::AcaciaLog(AcaciaLog::Axis::X); + case (162 << 4) | 5: return DarkOakLog::DarkOakLog(DarkOakLog::Axis::X); + case (162 << 4) | 8: return AcaciaLog::AcaciaLog(AcaciaLog::Axis::Z); + case (162 << 4) | 9: return DarkOakLog::DarkOakLog(DarkOakLog::Axis::Z); + case (162 << 4) | 12: return AcaciaWood::AcaciaWood(); + case (162 << 4) | 13: return DarkOakWood::DarkOakWood(); + case (163 << 4) | 0: return AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight); + case (163 << 4) | 1: return AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight); + case (163 << 4) | 2: return AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight); + case (163 << 4) | 3: return AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Bottom, AcaciaStairs::Shape::Straight); + case (163 << 4) | 4: return AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight); + case (163 << 4) | 5: return AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_XM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight); + case (163 << 4) | 6: return AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZP, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight); + case (163 << 4) | 7: return AcaciaStairs::AcaciaStairs(eBlockFace::BLOCK_FACE_ZM, AcaciaStairs::Half::Top, AcaciaStairs::Shape::Straight); + case (164 << 4) | 0: return DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight); + case (164 << 4) | 1: return DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight); + case (164 << 4) | 2: return DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight); + case (164 << 4) | 3: return DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Bottom, DarkOakStairs::Shape::Straight); + case (164 << 4) | 4: return DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight); + case (164 << 4) | 5: return DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_XM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight); + case (164 << 4) | 6: return DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZP, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight); + case (164 << 4) | 7: return DarkOakStairs::DarkOakStairs(eBlockFace::BLOCK_FACE_ZM, DarkOakStairs::Half::Top, DarkOakStairs::Shape::Straight); + case (165 << 4) | 0: return SlimeBlock::SlimeBlock(); + case (166 << 4) | 0: return Barrier::Barrier(); + case (167 << 4) | 0: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, false, false); + case (167 << 4) | 1: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, false, false); + case (167 << 4) | 2: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, false, false); + case (167 << 4) | 3: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, false, false); + case (167 << 4) | 4: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Bottom, true, false); + case (167 << 4) | 5: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Bottom, true, false); + case (167 << 4) | 6: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Bottom, true, false); + case (167 << 4) | 7: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Bottom, true, false); + case (167 << 4) | 8: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, false, false); + case (167 << 4) | 9: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, false, false); + case (167 << 4) | 10: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, false, false); + case (167 << 4) | 11: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, false, false); + case (167 << 4) | 12: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZM, IronTrapdoor::Half::Top, true, false); + case (167 << 4) | 13: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_ZP, IronTrapdoor::Half::Top, true, false); + case (167 << 4) | 14: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XM, IronTrapdoor::Half::Top, true, false); + case (167 << 4) | 15: return IronTrapdoor::IronTrapdoor(eBlockFace::BLOCK_FACE_XP, IronTrapdoor::Half::Top, true, false); + case (168 << 4) | 0: return Prismarine::Prismarine(); + case (168 << 4) | 1: return PrismarineBricks::PrismarineBricks(); + case (168 << 4) | 2: return DarkPrismarine::DarkPrismarine(); + case (169 << 4) | 0: return SeaLantern::SeaLantern(); + case (170 << 4) | 0: return HayBale::HayBale(HayBale::Axis::Y); + case (170 << 4) | 4: return HayBale::HayBale(HayBale::Axis::X); + case (170 << 4) | 8: return HayBale::HayBale(HayBale::Axis::Z); + case (171 << 4) | 0: return WhiteCarpet::WhiteCarpet(); + case (171 << 4) | 1: return OrangeCarpet::OrangeCarpet(); + case (171 << 4) | 2: return MagentaCarpet::MagentaCarpet(); + case (171 << 4) | 3: return LightBlueCarpet::LightBlueCarpet(); + case (171 << 4) | 4: return YellowCarpet::YellowCarpet(); + case (171 << 4) | 5: return LimeCarpet::LimeCarpet(); + case (171 << 4) | 6: return PinkCarpet::PinkCarpet(); + case (171 << 4) | 7: return GrayCarpet::GrayCarpet(); + case (171 << 4) | 8: return LightGrayCarpet::LightGrayCarpet(); + case (171 << 4) | 9: return CyanCarpet::CyanCarpet(); + case (171 << 4) | 10: return PurpleCarpet::PurpleCarpet(); + case (171 << 4) | 11: return BlueCarpet::BlueCarpet(); + case (171 << 4) | 12: return BrownCarpet::BrownCarpet(); + case (171 << 4) | 13: return GreenCarpet::GreenCarpet(); + case (171 << 4) | 14: return RedCarpet::RedCarpet(); + case (171 << 4) | 15: return BlackCarpet::BlackCarpet(); + case (172 << 4) | 0: return Terracotta::Terracotta(); + case (173 << 4) | 0: return CoalBlock::CoalBlock(); + case (174 << 4) | 0: return PackedIce::PackedIce(); + case (175 << 4) | 0: return Sunflower::Sunflower(Sunflower::Half::Lower); + case (175 << 4) | 1: return Lilac::Lilac(Lilac::Half::Lower); + case (175 << 4) | 2: return TallGrass::TallGrass(TallGrass::Half::Lower); + case (175 << 4) | 3: return LargeFern::LargeFern(LargeFern::Half::Lower); + case (175 << 4) | 4: return RoseBush::RoseBush(RoseBush::Half::Lower); + case (175 << 4) | 5: return Peony::Peony(Peony::Half::Lower); + case (175 << 4) | 8: return Peony::Peony(Peony::Half::Upper); + case (175 << 4) | 9: return Peony::Peony(Peony::Half::Upper); + case (175 << 4) | 10: return Peony::Peony(Peony::Half::Upper); + case (175 << 4) | 11: return Peony::Peony(Peony::Half::Upper); + case (176 << 4) | 0: return WhiteBanner::WhiteBanner(0); + case (176 << 4) | 1: return WhiteBanner::WhiteBanner(1); + case (176 << 4) | 2: return WhiteBanner::WhiteBanner(2); + case (176 << 4) | 3: return WhiteBanner::WhiteBanner(3); + case (176 << 4) | 4: return WhiteBanner::WhiteBanner(4); + case (176 << 4) | 5: return WhiteBanner::WhiteBanner(5); + case (176 << 4) | 6: return WhiteBanner::WhiteBanner(6); + case (176 << 4) | 7: return WhiteBanner::WhiteBanner(7); + case (176 << 4) | 8: return WhiteBanner::WhiteBanner(8); + case (176 << 4) | 9: return WhiteBanner::WhiteBanner(9); + case (176 << 4) | 10: return WhiteBanner::WhiteBanner(10); + case (176 << 4) | 11: return WhiteBanner::WhiteBanner(11); + case (176 << 4) | 12: return WhiteBanner::WhiteBanner(12); + case (176 << 4) | 13: return WhiteBanner::WhiteBanner(13); + case (176 << 4) | 14: return WhiteBanner::WhiteBanner(14); + case (176 << 4) | 15: return WhiteBanner::WhiteBanner(15); + case (177 << 4) | 2: return WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZM); + case (177 << 4) | 3: return WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_ZP); + case (177 << 4) | 4: return WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XM); + case (177 << 4) | 5: return WhiteWallBanner::WhiteWallBanner(eBlockFace::BLOCK_FACE_XP); + case (178 << 4) | 0: return DaylightDetector::DaylightDetector(true, 0); + case (178 << 4) | 1: return DaylightDetector::DaylightDetector(true, 1); + case (178 << 4) | 2: return DaylightDetector::DaylightDetector(true, 2); + case (178 << 4) | 3: return DaylightDetector::DaylightDetector(true, 3); + case (178 << 4) | 4: return DaylightDetector::DaylightDetector(true, 4); + case (178 << 4) | 5: return DaylightDetector::DaylightDetector(true, 5); + case (178 << 4) | 6: return DaylightDetector::DaylightDetector(true, 6); + case (178 << 4) | 7: return DaylightDetector::DaylightDetector(true, 7); + case (178 << 4) | 8: return DaylightDetector::DaylightDetector(true, 8); + case (178 << 4) | 9: return DaylightDetector::DaylightDetector(true, 9); + case (178 << 4) | 10: return DaylightDetector::DaylightDetector(true, 10); + case (178 << 4) | 11: return DaylightDetector::DaylightDetector(true, 11); + case (178 << 4) | 12: return DaylightDetector::DaylightDetector(true, 12); + case (178 << 4) | 13: return DaylightDetector::DaylightDetector(true, 13); + case (178 << 4) | 14: return DaylightDetector::DaylightDetector(true, 14); + case (178 << 4) | 15: return DaylightDetector::DaylightDetector(true, 15); + case (179 << 4) | 0: return RedSandstone::RedSandstone(); + case (179 << 4) | 1: return ChiseledRedSandstone::ChiseledRedSandstone(); + case (179 << 4) | 2: return CutRedSandstone::CutRedSandstone(); + case (180 << 4) | 0: return RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight); + case (180 << 4) | 1: return RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight); + case (180 << 4) | 2: return RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight); + case (180 << 4) | 3: return RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Bottom, RedSandstoneStairs::Shape::Straight); + case (180 << 4) | 4: return RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight); + case (180 << 4) | 5: return RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_XM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight); + case (180 << 4) | 6: return RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZP, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight); + case (180 << 4) | 7: return RedSandstoneStairs::RedSandstoneStairs(eBlockFace::BLOCK_FACE_ZM, RedSandstoneStairs::Half::Top, RedSandstoneStairs::Shape::Straight); + case (181 << 4) | 0: return RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Double); + case (181 << 4) | 8: return SmoothRedSandstone::SmoothRedSandstone(); + case (182 << 4) | 0: return RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Bottom); + case (182 << 4) | 8: return RedSandstoneSlab::RedSandstoneSlab(RedSandstoneSlab::Type::Top); + case (183 << 4) | 0: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false); + case (183 << 4) | 1: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false); + case (183 << 4) | 2: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false); + case (183 << 4) | 3: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false); + case (183 << 4) | 4: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false); + case (183 << 4) | 5: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false); + case (183 << 4) | 6: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false); + case (183 << 4) | 7: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false); + case (183 << 4) | 8: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true); + case (183 << 4) | 9: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true); + case (183 << 4) | 10: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true); + case (183 << 4) | 11: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true); + case (183 << 4) | 12: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true); + case (183 << 4) | 13: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true); + case (183 << 4) | 14: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true); + case (183 << 4) | 15: return SpruceFenceGate::SpruceFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true); + case (184 << 4) | 0: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false); + case (184 << 4) | 1: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false); + case (184 << 4) | 2: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false); + case (184 << 4) | 3: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false); + case (184 << 4) | 4: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false); + case (184 << 4) | 5: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false); + case (184 << 4) | 6: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false); + case (184 << 4) | 7: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false); + case (184 << 4) | 8: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true); + case (184 << 4) | 9: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true); + case (184 << 4) | 10: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true); + case (184 << 4) | 11: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true); + case (184 << 4) | 12: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true); + case (184 << 4) | 13: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true); + case (184 << 4) | 14: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true); + case (184 << 4) | 15: return BirchFenceGate::BirchFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true); + case (185 << 4) | 0: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false); + case (185 << 4) | 1: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false); + case (185 << 4) | 2: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false); + case (185 << 4) | 3: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false); + case (185 << 4) | 4: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false); + case (185 << 4) | 5: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false); + case (185 << 4) | 6: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false); + case (185 << 4) | 7: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false); + case (185 << 4) | 8: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true); + case (185 << 4) | 9: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true); + case (185 << 4) | 10: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true); + case (185 << 4) | 11: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true); + case (185 << 4) | 12: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true); + case (185 << 4) | 13: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true); + case (185 << 4) | 14: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true); + case (185 << 4) | 15: return JungleFenceGate::JungleFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true); + case (186 << 4) | 0: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false); + case (186 << 4) | 1: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false); + case (186 << 4) | 2: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false); + case (186 << 4) | 3: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false); + case (186 << 4) | 4: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false); + case (186 << 4) | 5: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false); + case (186 << 4) | 6: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false); + case (186 << 4) | 7: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false); + case (186 << 4) | 8: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true); + case (186 << 4) | 9: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true); + case (186 << 4) | 10: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true); + case (186 << 4) | 11: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true); + case (186 << 4) | 12: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true); + case (186 << 4) | 13: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true); + case (186 << 4) | 14: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true); + case (186 << 4) | 15: return DarkOakFenceGate::DarkOakFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true); + case (187 << 4) | 0: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, false); + case (187 << 4) | 1: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, false); + case (187 << 4) | 2: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, false); + case (187 << 4) | 3: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, false); + case (187 << 4) | 4: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, false); + case (187 << 4) | 5: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, false); + case (187 << 4) | 6: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, false); + case (187 << 4) | 7: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, false); + case (187 << 4) | 8: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, false, true); + case (187 << 4) | 9: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, false, true); + case (187 << 4) | 10: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, false, true); + case (187 << 4) | 11: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, false, true); + case (187 << 4) | 12: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZP, false, true, true); + case (187 << 4) | 13: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XM, false, true, true); + case (187 << 4) | 14: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_ZM, false, true, true); + case (187 << 4) | 15: return AcaciaFenceGate::AcaciaFenceGate(eBlockFace::BLOCK_FACE_XP, false, true, true); + case (188 << 4) | 0: return SpruceFence::SpruceFence(false, false, false, false); + case (189 << 4) | 0: return BirchFence::BirchFence(false, false, false, false); + case (190 << 4) | 0: return JungleFence::JungleFence(false, false, false, false); + case (191 << 4) | 0: return DarkOakFence::DarkOakFence(false, false, false, false); + case (192 << 4) | 0: return AcaciaFence::AcaciaFence(false, false, false, false); + case (193 << 4) | 0: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false); + case (193 << 4) | 1: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false); + case (193 << 4) | 2: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false); + case (193 << 4) | 3: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, false, false); + case (193 << 4) | 4: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false); + case (193 << 4) | 5: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZP, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false); + case (193 << 4) | 6: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false); + case (193 << 4) | 7: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_ZM, SpruceDoor::Half::Lower, SpruceDoor::Hinge::Right, true, false); + case (193 << 4) | 8: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, false); + case (193 << 4) | 9: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, false); + case (193 << 4) | 10: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Left, false, true); + case (193 << 4) | 11: return SpruceDoor::SpruceDoor(eBlockFace::BLOCK_FACE_XP, SpruceDoor::Half::Upper, SpruceDoor::Hinge::Right, false, true); + case (194 << 4) | 0: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false); + case (194 << 4) | 1: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false); + case (194 << 4) | 2: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false); + case (194 << 4) | 3: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, false, false); + case (194 << 4) | 4: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false); + case (194 << 4) | 5: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZP, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false); + case (194 << 4) | 6: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false); + case (194 << 4) | 7: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_ZM, BirchDoor::Half::Lower, BirchDoor::Hinge::Right, true, false); + case (194 << 4) | 8: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, false); + case (194 << 4) | 9: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, false); + case (194 << 4) | 10: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Left, false, true); + case (194 << 4) | 11: return BirchDoor::BirchDoor(eBlockFace::BLOCK_FACE_XP, BirchDoor::Half::Upper, BirchDoor::Hinge::Right, false, true); + case (195 << 4) | 0: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false); + case (195 << 4) | 1: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false); + case (195 << 4) | 2: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false); + case (195 << 4) | 3: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, false, false); + case (195 << 4) | 4: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false); + case (195 << 4) | 5: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZP, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false); + case (195 << 4) | 6: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false); + case (195 << 4) | 7: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_ZM, JungleDoor::Half::Lower, JungleDoor::Hinge::Right, true, false); + case (195 << 4) | 8: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, false); + case (195 << 4) | 9: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, false); + case (195 << 4) | 10: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Left, false, true); + case (195 << 4) | 11: return JungleDoor::JungleDoor(eBlockFace::BLOCK_FACE_XP, JungleDoor::Half::Upper, JungleDoor::Hinge::Right, false, true); + case (196 << 4) | 0: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false); + case (196 << 4) | 1: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false); + case (196 << 4) | 2: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false); + case (196 << 4) | 3: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, false, false); + case (196 << 4) | 4: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false); + case (196 << 4) | 5: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZP, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false); + case (196 << 4) | 6: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false); + case (196 << 4) | 7: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_ZM, AcaciaDoor::Half::Lower, AcaciaDoor::Hinge::Right, true, false); + case (196 << 4) | 8: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, false); + case (196 << 4) | 9: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, false); + case (196 << 4) | 10: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Left, false, true); + case (196 << 4) | 11: return AcaciaDoor::AcaciaDoor(eBlockFace::BLOCK_FACE_XP, AcaciaDoor::Half::Upper, AcaciaDoor::Hinge::Right, false, true); + case (197 << 4) | 0: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false); + case (197 << 4) | 1: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false); + case (197 << 4) | 2: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false); + case (197 << 4) | 3: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, false, false); + case (197 << 4) | 4: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false); + case (197 << 4) | 5: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZP, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false); + case (197 << 4) | 6: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false); + case (197 << 4) | 7: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_ZM, DarkOakDoor::Half::Lower, DarkOakDoor::Hinge::Right, true, false); + case (197 << 4) | 8: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, false); + case (197 << 4) | 9: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, false); + case (197 << 4) | 10: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Left, false, true); + case (197 << 4) | 11: return DarkOakDoor::DarkOakDoor(eBlockFace::BLOCK_FACE_XP, DarkOakDoor::Half::Upper, DarkOakDoor::Hinge::Right, false, true); + case (198 << 4) | 0: return EndRod::EndRod(eBlockFace::BLOCK_FACE_YM); + case (198 << 4) | 1: return EndRod::EndRod(eBlockFace::BLOCK_FACE_YP); + case (198 << 4) | 2: return EndRod::EndRod(eBlockFace::BLOCK_FACE_ZM); + case (198 << 4) | 3: return EndRod::EndRod(eBlockFace::BLOCK_FACE_ZP); + case (198 << 4) | 4: return EndRod::EndRod(eBlockFace::BLOCK_FACE_XM); + case (198 << 4) | 5: return EndRod::EndRod(eBlockFace::BLOCK_FACE_XP); + case (199 << 4) | 0: return ChorusPlant::ChorusPlant(false, false, false, false, false, false); + case (200 << 4) | 0: return ChorusFlower::ChorusFlower(0); + case (200 << 4) | 1: return ChorusFlower::ChorusFlower(1); + case (200 << 4) | 2: return ChorusFlower::ChorusFlower(2); + case (200 << 4) | 3: return ChorusFlower::ChorusFlower(3); + case (200 << 4) | 4: return ChorusFlower::ChorusFlower(4); + case (200 << 4) | 5: return ChorusFlower::ChorusFlower(5); + case (201 << 4) | 0: return PurpurBlock::PurpurBlock(); + case (202 << 4) | 0: return PurpurPillar::PurpurPillar(PurpurPillar::Axis::Y); + case (202 << 4) | 4: return PurpurPillar::PurpurPillar(PurpurPillar::Axis::X); + case (202 << 4) | 8: return PurpurPillar::PurpurPillar(PurpurPillar::Axis::Z); + case (203 << 4) | 0: return PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight); + case (203 << 4) | 1: return PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight); + case (203 << 4) | 2: return PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight); + case (203 << 4) | 3: return PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Bottom, PurpurStairs::Shape::Straight); + case (203 << 4) | 4: return PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight); + case (203 << 4) | 5: return PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_XM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight); + case (203 << 4) | 6: return PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZP, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight); + case (203 << 4) | 7: return PurpurStairs::PurpurStairs(eBlockFace::BLOCK_FACE_ZM, PurpurStairs::Half::Top, PurpurStairs::Shape::Straight); + case (204 << 4) | 0: return PurpurSlab::PurpurSlab(PurpurSlab::Type::Double); + case (205 << 4) | 0: return PurpurSlab::PurpurSlab(PurpurSlab::Type::Bottom); + case (205 << 4) | 8: return PurpurSlab::PurpurSlab(PurpurSlab::Type::Top); + case (206 << 4) | 0: return EndStoneBricks::EndStoneBricks(); + case (207 << 4) | 0: return Beetroots::Beetroots(0); + case (207 << 4) | 1: return Beetroots::Beetroots(1); + case (207 << 4) | 2: return Beetroots::Beetroots(2); + case (207 << 4) | 3: return Beetroots::Beetroots(3); + case (208 << 4) | 0: return GrassPath::GrassPath(); + case (209 << 4) | 0: return EndGateway::EndGateway(); + case (210 << 4) | 0: return RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YM); + case (210 << 4) | 1: return RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_YP); + case (210 << 4) | 2: return RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZM); + case (210 << 4) | 3: return RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_ZP); + case (210 << 4) | 4: return RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XM); + case (210 << 4) | 5: return RepeatingCommandBlock::RepeatingCommandBlock(false, eBlockFace::BLOCK_FACE_XP); + case (210 << 4) | 8: return RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YM); + case (210 << 4) | 9: return RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_YP); + case (210 << 4) | 10: return RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZM); + case (210 << 4) | 11: return RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_ZP); + case (210 << 4) | 12: return RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XM); + case (210 << 4) | 13: return RepeatingCommandBlock::RepeatingCommandBlock(true, eBlockFace::BLOCK_FACE_XP); + case (211 << 4) | 0: return ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YM); + case (211 << 4) | 1: return ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_YP); + case (211 << 4) | 2: return ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZM); + case (211 << 4) | 3: return ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_ZP); + case (211 << 4) | 4: return ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XM); + case (211 << 4) | 5: return ChainCommandBlock::ChainCommandBlock(false, eBlockFace::BLOCK_FACE_XP); + case (211 << 4) | 8: return ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YM); + case (211 << 4) | 9: return ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_YP); + case (211 << 4) | 10: return ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZM); + case (211 << 4) | 11: return ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_ZP); + case (211 << 4) | 12: return ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XM); + case (211 << 4) | 13: return ChainCommandBlock::ChainCommandBlock(true, eBlockFace::BLOCK_FACE_XP); + case (212 << 4) | 0: return FrostedIce::FrostedIce(0); + case (212 << 4) | 1: return FrostedIce::FrostedIce(1); + case (212 << 4) | 2: return FrostedIce::FrostedIce(2); + case (212 << 4) | 3: return FrostedIce::FrostedIce(3); + case (213 << 4) | 0: return MagmaBlock::MagmaBlock(); + case (214 << 4) | 0: return NetherWartBlock::NetherWartBlock(); + case (215 << 4) | 0: return RedNetherBricks::RedNetherBricks(); + case (216 << 4) | 0: return BoneBlock::BoneBlock(BoneBlock::Axis::Y); + case (216 << 4) | 4: return BoneBlock::BoneBlock(BoneBlock::Axis::X); + case (216 << 4) | 8: return BoneBlock::BoneBlock(BoneBlock::Axis::Z); + case (217 << 4) | 0: return StructureVoid::StructureVoid(); + case (218 << 4) | 0: return Observer::Observer(eBlockFace::BLOCK_FACE_YM, false); + case (218 << 4) | 1: return Observer::Observer(eBlockFace::BLOCK_FACE_YP, false); + case (218 << 4) | 2: return Observer::Observer(eBlockFace::BLOCK_FACE_ZM, false); + case (218 << 4) | 3: return Observer::Observer(eBlockFace::BLOCK_FACE_ZP, false); + case (218 << 4) | 4: return Observer::Observer(eBlockFace::BLOCK_FACE_XM, false); + case (218 << 4) | 5: return Observer::Observer(eBlockFace::BLOCK_FACE_XP, false); + case (218 << 4) | 8: return Observer::Observer(eBlockFace::BLOCK_FACE_YM, true); + case (218 << 4) | 9: return Observer::Observer(eBlockFace::BLOCK_FACE_YP, true); + case (218 << 4) | 10: return Observer::Observer(eBlockFace::BLOCK_FACE_ZM, true); + case (218 << 4) | 11: return Observer::Observer(eBlockFace::BLOCK_FACE_ZP, true); + case (218 << 4) | 12: return Observer::Observer(eBlockFace::BLOCK_FACE_XM, true); + case (218 << 4) | 13: return Observer::Observer(eBlockFace::BLOCK_FACE_XP, true); + case (219 << 4) | 0: return WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (219 << 4) | 1: return WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (219 << 4) | 2: return WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (219 << 4) | 3: return WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (219 << 4) | 4: return WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (219 << 4) | 5: return WhiteShulkerBox::WhiteShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (220 << 4) | 0: return OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (220 << 4) | 1: return OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (220 << 4) | 2: return OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (220 << 4) | 3: return OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (220 << 4) | 4: return OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (220 << 4) | 5: return OrangeShulkerBox::OrangeShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (221 << 4) | 0: return MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (221 << 4) | 1: return MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (221 << 4) | 2: return MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (221 << 4) | 3: return MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (221 << 4) | 4: return MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (221 << 4) | 5: return MagentaShulkerBox::MagentaShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (222 << 4) | 0: return LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (222 << 4) | 1: return LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (222 << 4) | 2: return LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (222 << 4) | 3: return LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (222 << 4) | 4: return LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (222 << 4) | 5: return LightBlueShulkerBox::LightBlueShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (223 << 4) | 0: return YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (223 << 4) | 1: return YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (223 << 4) | 2: return YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (223 << 4) | 3: return YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (223 << 4) | 4: return YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (223 << 4) | 5: return YellowShulkerBox::YellowShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (224 << 4) | 0: return LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (224 << 4) | 1: return LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (224 << 4) | 2: return LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (224 << 4) | 3: return LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (224 << 4) | 4: return LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (224 << 4) | 5: return LimeShulkerBox::LimeShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (225 << 4) | 0: return PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (225 << 4) | 1: return PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (225 << 4) | 2: return PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (225 << 4) | 3: return PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (225 << 4) | 4: return PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (225 << 4) | 5: return PinkShulkerBox::PinkShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (226 << 4) | 0: return GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (226 << 4) | 1: return GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (226 << 4) | 2: return GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (226 << 4) | 3: return GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (226 << 4) | 4: return GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (226 << 4) | 5: return GrayShulkerBox::GrayShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (227 << 4) | 0: return LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (227 << 4) | 1: return LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (227 << 4) | 2: return LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (227 << 4) | 3: return LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (227 << 4) | 4: return LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (227 << 4) | 5: return LightGrayShulkerBox::LightGrayShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (228 << 4) | 0: return CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (228 << 4) | 1: return CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (228 << 4) | 2: return CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (228 << 4) | 3: return CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (228 << 4) | 4: return CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (228 << 4) | 5: return CyanShulkerBox::CyanShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (229 << 4) | 0: return PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (229 << 4) | 1: return PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (229 << 4) | 2: return PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (229 << 4) | 3: return PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (229 << 4) | 4: return PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (229 << 4) | 5: return PurpleShulkerBox::PurpleShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (230 << 4) | 0: return BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (230 << 4) | 1: return BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (230 << 4) | 2: return BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (230 << 4) | 3: return BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (230 << 4) | 4: return BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (230 << 4) | 5: return BlueShulkerBox::BlueShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (231 << 4) | 0: return BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (231 << 4) | 1: return BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (231 << 4) | 2: return BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (231 << 4) | 3: return BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (231 << 4) | 4: return BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (231 << 4) | 5: return BrownShulkerBox::BrownShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (232 << 4) | 0: return GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (232 << 4) | 1: return GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (232 << 4) | 2: return GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (232 << 4) | 3: return GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (232 << 4) | 4: return GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (232 << 4) | 5: return GreenShulkerBox::GreenShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (233 << 4) | 0: return RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (233 << 4) | 1: return RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (233 << 4) | 2: return RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (233 << 4) | 3: return RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (233 << 4) | 4: return RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (233 << 4) | 5: return RedShulkerBox::RedShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (234 << 4) | 0: return BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YM); + case (234 << 4) | 1: return BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_YP); + case (234 << 4) | 2: return BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZM); + case (234 << 4) | 3: return BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_ZP); + case (234 << 4) | 4: return BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XM); + case (234 << 4) | 5: return BlackShulkerBox::BlackShulkerBox(eBlockFace::BLOCK_FACE_XP); + case (235 << 4) | 0: return WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (235 << 4) | 1: return WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (235 << 4) | 2: return WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (235 << 4) | 3: return WhiteGlazedTerracotta::WhiteGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (236 << 4) | 0: return OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (236 << 4) | 1: return OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (236 << 4) | 2: return OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (236 << 4) | 3: return OrangeGlazedTerracotta::OrangeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (237 << 4) | 0: return MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (237 << 4) | 1: return MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (237 << 4) | 2: return MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (237 << 4) | 3: return MagentaGlazedTerracotta::MagentaGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (238 << 4) | 0: return LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (238 << 4) | 1: return LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (238 << 4) | 2: return LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (238 << 4) | 3: return LightBlueGlazedTerracotta::LightBlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (239 << 4) | 0: return YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (239 << 4) | 1: return YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (239 << 4) | 2: return YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (239 << 4) | 3: return YellowGlazedTerracotta::YellowGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (240 << 4) | 0: return LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (240 << 4) | 1: return LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (240 << 4) | 2: return LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (240 << 4) | 3: return LimeGlazedTerracotta::LimeGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (241 << 4) | 0: return PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (241 << 4) | 1: return PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (241 << 4) | 2: return PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (241 << 4) | 3: return PinkGlazedTerracotta::PinkGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (242 << 4) | 0: return GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (242 << 4) | 1: return GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (242 << 4) | 2: return GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (242 << 4) | 3: return GrayGlazedTerracotta::GrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (243 << 4) | 0: return LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (243 << 4) | 1: return LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (243 << 4) | 2: return LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (243 << 4) | 3: return LightGrayGlazedTerracotta::LightGrayGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (244 << 4) | 0: return CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (244 << 4) | 1: return CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (244 << 4) | 2: return CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (244 << 4) | 3: return CyanGlazedTerracotta::CyanGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (245 << 4) | 0: return PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (245 << 4) | 1: return PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (245 << 4) | 2: return PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (245 << 4) | 3: return PurpleGlazedTerracotta::PurpleGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (246 << 4) | 0: return BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (246 << 4) | 1: return BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (246 << 4) | 2: return BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (246 << 4) | 3: return BlueGlazedTerracotta::BlueGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (247 << 4) | 0: return BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (247 << 4) | 1: return BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (247 << 4) | 2: return BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (247 << 4) | 3: return BrownGlazedTerracotta::BrownGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (248 << 4) | 0: return GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (248 << 4) | 1: return GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (248 << 4) | 2: return GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (248 << 4) | 3: return GreenGlazedTerracotta::GreenGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (249 << 4) | 0: return RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (249 << 4) | 1: return RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (249 << 4) | 2: return RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (249 << 4) | 3: return RedGlazedTerracotta::RedGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (250 << 4) | 0: return BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZP); + case (250 << 4) | 1: return BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XM); + case (250 << 4) | 2: return BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_ZM); + case (250 << 4) | 3: return BlackGlazedTerracotta::BlackGlazedTerracotta(eBlockFace::BLOCK_FACE_XP); + case (251 << 4) | 0: return WhiteConcrete::WhiteConcrete(); + case (251 << 4) | 1: return OrangeConcrete::OrangeConcrete(); + case (251 << 4) | 2: return MagentaConcrete::MagentaConcrete(); + case (251 << 4) | 3: return LightBlueConcrete::LightBlueConcrete(); + case (251 << 4) | 4: return YellowConcrete::YellowConcrete(); + case (251 << 4) | 5: return LimeConcrete::LimeConcrete(); + case (251 << 4) | 6: return PinkConcrete::PinkConcrete(); + case (251 << 4) | 7: return GrayConcrete::GrayConcrete(); + case (251 << 4) | 8: return LightGrayConcrete::LightGrayConcrete(); + case (251 << 4) | 9: return CyanConcrete::CyanConcrete(); + case (251 << 4) | 10: return PurpleConcrete::PurpleConcrete(); + case (251 << 4) | 11: return BlueConcrete::BlueConcrete(); + case (251 << 4) | 12: return BrownConcrete::BrownConcrete(); + case (251 << 4) | 13: return GreenConcrete::GreenConcrete(); + case (251 << 4) | 14: return RedConcrete::RedConcrete(); + case (251 << 4) | 15: return BlackConcrete::BlackConcrete(); + case (252 << 4) | 0: return WhiteConcretePowder::WhiteConcretePowder(); + case (252 << 4) | 1: return OrangeConcretePowder::OrangeConcretePowder(); + case (252 << 4) | 2: return MagentaConcretePowder::MagentaConcretePowder(); + case (252 << 4) | 3: return LightBlueConcretePowder::LightBlueConcretePowder(); + case (252 << 4) | 4: return YellowConcretePowder::YellowConcretePowder(); + case (252 << 4) | 5: return LimeConcretePowder::LimeConcretePowder(); + case (252 << 4) | 6: return PinkConcretePowder::PinkConcretePowder(); + case (252 << 4) | 7: return GrayConcretePowder::GrayConcretePowder(); + case (252 << 4) | 8: return LightGrayConcretePowder::LightGrayConcretePowder(); + case (252 << 4) | 9: return CyanConcretePowder::CyanConcretePowder(); + case (252 << 4) | 10: return PurpleConcretePowder::PurpleConcretePowder(); + case (252 << 4) | 11: return BlueConcretePowder::BlueConcretePowder(); + case (252 << 4) | 12: return BrownConcretePowder::BrownConcretePowder(); + case (252 << 4) | 13: return GreenConcretePowder::GreenConcretePowder(); + case (252 << 4) | 14: return RedConcretePowder::RedConcretePowder(); + case (252 << 4) | 15: return BlackConcretePowder::BlackConcretePowder(); + case (255 << 4) | 0: return StructureBlock::StructureBlock(StructureBlock::Mode::Save); + case (255 << 4) | 1: return StructureBlock::StructureBlock(StructureBlock::Mode::Load); + case (255 << 4) | 2: return StructureBlock::StructureBlock(StructureBlock::Mode::Corner); + case (255 << 4) | 3: return StructureBlock::StructureBlock(StructureBlock::Mode::Data); + default: return Air::Air(); + } + } + + Item FromItem(short Item, short Meta) + { + switch ((Item << 16) | Meta) + { + case (1 << 16) | 0: return Item::Stone; + case (1 << 16) | 1: return Item::Granite; + case (1 << 16) | 2: return Item::PolishedGranite; + case (1 << 16) | 3: return Item::Diorite; + case (1 << 16) | 4: return Item::PolishedDiorite; + case (1 << 16) | 5: return Item::Andesite; + case (1 << 16) | 6: return Item::PolishedAndesite; + case (2 << 16) | 0: return Item::GrassBlock; + case (3 << 16) | 0: return Item::Dirt; + case (3 << 16) | 1: return Item::CoarseDirt; + case (3 << 16) | 2: return Item::Podzol; + case (4 << 16) | 0: return Item::Cobblestone; + case (5 << 16) | 0: return Item::OakPlanks; + case (5 << 16) | 1: return Item::SprucePlanks; + case (5 << 16) | 2: return Item::BirchPlanks; + case (5 << 16) | 3: return Item::JunglePlanks; + case (5 << 16) | 4: return Item::AcaciaPlanks; + case (5 << 16) | 5: return Item::DarkOakPlanks; + case (6 << 16) | 0: return Item::OakSapling; + case (6 << 16) | 1: return Item::SpruceSapling; + case (6 << 16) | 2: return Item::BirchSapling; + case (6 << 16) | 3: return Item::JungleSapling; + case (6 << 16) | 4: return Item::AcaciaSapling; + case (6 << 16) | 5: return Item::DarkOakSapling; + case (7 << 16) | 0: return Item::Bedrock; + case (12 << 16) | 0: return Item::Sand; + case (12 << 16) | 1: return Item::RedSand; + case (13 << 16) | 0: return Item::Gravel; + case (14 << 16) | 0: return Item::GoldOre; + case (15 << 16) | 0: return Item::IronOre; + case (16 << 16) | 0: return Item::CoalOre; + case (17 << 16) | 0: return Item::OakLog; + case (17 << 16) | 1: return Item::SpruceLog; + case (17 << 16) | 2: return Item::BirchLog; + case (17 << 16) | 3: return Item::JungleLog; + case (162 << 16) | 0: return Item::AcaciaLog; + case (162 << 16) | 1: return Item::DarkOakLog; + case (18 << 16) | 0: return Item::OakLeaves; + case (18 << 16) | 1: return Item::SpruceLeaves; + case (18 << 16) | 2: return Item::BirchLeaves; + case (18 << 16) | 3: return Item::JungleLeaves; + case (161 << 16) | 0: return Item::AcaciaLeaves; + case (161 << 16) | 1: return Item::DarkOakLeaves; + case (19 << 16) | 0: return Item::Sponge; + case (19 << 16) | 1: return Item::WetSponge; + case (20 << 16) | 0: return Item::Glass; + case (21 << 16) | 0: return Item::LapisOre; + case (22 << 16) | 0: return Item::LapisBlock; + case (23 << 16) | 0: return Item::Dispenser; + case (24 << 16) | 0: return Item::Sandstone; + case (24 << 16) | 1: return Item::ChiseledSandstone; + case (24 << 16) | 2: return Item::CutSandstone; + case (25 << 16) | 0: return Item::NoteBlock; + case (27 << 16) | 0: return Item::PoweredRail; + case (28 << 16) | 0: return Item::DetectorRail; + case (29 << 16) | 0: return Item::StickyPiston; + case (30 << 16) | 0: return Item::Cobweb; + case (31 << 16) | 2: return Item::Fern; + case (32 << 16) | 0: return Item::DeadBush; + case (33 << 16) | 0: return Item::Piston; + case (35 << 16) | 0: return Item::WhiteWool; + case (35 << 16) | 1: return Item::OrangeWool; + case (35 << 16) | 2: return Item::MagentaWool; + case (35 << 16) | 3: return Item::LightBlueWool; + case (35 << 16) | 4: return Item::YellowWool; + case (35 << 16) | 5: return Item::LimeWool; + case (35 << 16) | 6: return Item::PinkWool; + case (35 << 16) | 7: return Item::GrayWool; + case (35 << 16) | 8: return Item::LightGrayWool; + case (35 << 16) | 9: return Item::CyanWool; + case (35 << 16) | 10: return Item::PurpleWool; + case (35 << 16) | 11: return Item::BlueWool; + case (35 << 16) | 12: return Item::BrownWool; + case (35 << 16) | 13: return Item::GreenWool; + case (35 << 16) | 14: return Item::RedWool; + case (35 << 16) | 15: return Item::BlackWool; + case (37 << 16) | 0: return Item::Dandelion; + case (38 << 16) | 0: return Item::Poppy; + case (38 << 16) | 1: return Item::BlueOrchid; + case (38 << 16) | 2: return Item::Allium; + case (38 << 16) | 3: return Item::AzureBluet; + case (38 << 16) | 4: return Item::RedTulip; + case (38 << 16) | 5: return Item::OrangeTulip; + case (38 << 16) | 6: return Item::WhiteTulip; + case (38 << 16) | 7: return Item::PinkTulip; + case (38 << 16) | 8: return Item::OxeyeDaisy; + case (39 << 16) | 0: return Item::BrownMushroom; + case (40 << 16) | 0: return Item::RedMushroom; + case (41 << 16) | 0: return Item::GoldBlock; + case (42 << 16) | 0: return Item::IronBlock; + case (126 << 16) | 0: return Item::OakSlab; + case (126 << 16) | 1: return Item::SpruceSlab; + case (126 << 16) | 2: return Item::BirchSlab; + case (126 << 16) | 3: return Item::JungleSlab; + case (126 << 16) | 4: return Item::AcaciaSlab; + case (126 << 16) | 5: return Item::DarkOakSlab; + case (44 << 16) | 2: return Item::StoneSlab; + case (44 << 16) | 1: return Item::SandstoneSlab; + case (44 << 16) | 3: return Item::CobblestoneSlab; + case (44 << 16) | 4: return Item::BrickSlab; + case (44 << 16) | 5: return Item::StoneBrickSlab; + case (44 << 16) | 6: return Item::NetherBrickSlab; + case (44 << 16) | 7: return Item::QuartzSlab; + case (182 << 16) | 0: return Item::RedSandstoneSlab; + case (205 << 16) | 0: return Item::PurpurSlab; + case (43 << 16) | 7: return Item::SmoothQuartz; + case (43 << 16) | 8: return Item::SmoothStone; + case (45 << 16) | 0: return Item::Bricks; + case (46 << 16) | 0: return Item::TNT; + case (47 << 16) | 0: return Item::Bookshelf; + case (48 << 16) | 0: return Item::MossyCobblestone; + case (49 << 16) | 0: return Item::Obsidian; + case (50 << 16) | 0: return Item::Torch; + case (198 << 16) | 0: return Item::EndRod; + case (199 << 16) | 0: return Item::ChorusPlant; + case (200 << 16) | 0: return Item::ChorusFlower; + case (201 << 16) | 0: return Item::PurpurBlock; + case (202 << 16) | 0: return Item::PurpurPillar; + case (203 << 16) | 0: return Item::PurpurStairs; + case (52 << 16) | 0: return Item::Spawner; + case (53 << 16) | 0: return Item::OakStairs; + case (54 << 16) | 0: return Item::Chest; + case (56 << 16) | 0: return Item::DiamondOre; + case (57 << 16) | 0: return Item::DiamondBlock; + case (58 << 16) | 0: return Item::CraftingTable; + case (60 << 16) | 0: return Item::Farmland; + case (61 << 16) | 0: return Item::Furnace; + case (65 << 16) | 0: return Item::Ladder; + case (66 << 16) | 0: return Item::Rail; + case (67 << 16) | 0: return Item::CobblestoneStairs; + case (69 << 16) | 0: return Item::Lever; + case (70 << 16) | 0: return Item::StonePressurePlate; + case (72 << 16) | 0: return Item::OakPressurePlate; + case (73 << 16) | 0: return Item::RedstoneOre; + case (76 << 16) | 0: return Item::RedstoneTorch; + case (77 << 16) | 0: return Item::StoneButton; + case (78 << 16) | 0: return Item::Snow; + case (79 << 16) | 0: return Item::Ice; + case (80 << 16) | 0: return Item::SnowBlock; + case (81 << 16) | 0: return Item::Cactus; + case (82 << 16) | 0: return Item::Clay; + case (84 << 16) | 0: return Item::Jukebox; + case (85 << 16) | 0: return Item::OakFence; + case (188 << 16) | 0: return Item::SpruceFence; + case (189 << 16) | 0: return Item::BirchFence; + case (190 << 16) | 0: return Item::JungleFence; + case (192 << 16) | 0: return Item::AcaciaFence; + case (191 << 16) | 0: return Item::DarkOakFence; + case (86 << 16) | 0: return Item::Pumpkin; + case (87 << 16) | 0: return Item::Netherrack; + case (88 << 16) | 0: return Item::SoulSand; + case (89 << 16) | 0: return Item::Glowstone; + case (91 << 16) | 0: return Item::JackOLantern; + case (96 << 16) | 0: return Item::OakTrapdoor; + case (97 << 16) | 0: return Item::InfestedStone; + case (97 << 16) | 1: return Item::InfestedCobblestone; + case (97 << 16) | 2: return Item::InfestedStoneBricks; + case (97 << 16) | 3: return Item::InfestedMossyStoneBricks; + case (97 << 16) | 4: return Item::InfestedCrackedStoneBricks; + case (97 << 16) | 5: return Item::InfestedChiseledStoneBricks; + case (98 << 16) | 0: return Item::StoneBricks; + case (98 << 16) | 1: return Item::MossyStoneBricks; + case (98 << 16) | 2: return Item::CrackedStoneBricks; + case (98 << 16) | 3: return Item::ChiseledStoneBricks; + case (99 << 16) | 0: return Item::BrownMushroomBlock; + case (100 << 16) | 0: return Item::RedMushroomBlock; + case (101 << 16) | 0: return Item::IronBars; + case (102 << 16) | 0: return Item::GlassPane; + case (103 << 16) | 0: return Item::Melon; + case (106 << 16) | 0: return Item::Vine; + case (107 << 16) | 0: return Item::OakFenceGate; + case (183 << 16) | 0: return Item::SpruceFenceGate; + case (184 << 16) | 0: return Item::BirchFenceGate; + case (185 << 16) | 0: return Item::JungleFenceGate; + case (187 << 16) | 0: return Item::AcaciaFenceGate; + case (186 << 16) | 0: return Item::DarkOakFenceGate; + case (108 << 16) | 0: return Item::BrickStairs; + case (109 << 16) | 0: return Item::StoneBrickStairs; + case (110 << 16) | 0: return Item::Mycelium; + case (111 << 16) | 0: return Item::LilyPad; + case (112 << 16) | 0: return Item::NetherBricks; + case (113 << 16) | 0: return Item::NetherBrickFence; + case (114 << 16) | 0: return Item::NetherBrickStairs; + case (116 << 16) | 0: return Item::EnchantingTable; + case (120 << 16) | 0: return Item::EndPortalFrame; + case (121 << 16) | 0: return Item::EndStone; + case (206 << 16) | 0: return Item::EndStoneBricks; + case (122 << 16) | 0: return Item::DragonEgg; + case (123 << 16) | 0: return Item::RedstoneLamp; + case (128 << 16) | 0: return Item::SandstoneStairs; + case (129 << 16) | 0: return Item::EmeraldOre; + case (130 << 16) | 0: return Item::EnderChest; + case (131 << 16) | 0: return Item::TripwireHook; + case (133 << 16) | 0: return Item::EmeraldBlock; + case (134 << 16) | 0: return Item::SpruceStairs; + case (135 << 16) | 0: return Item::BirchStairs; + case (136 << 16) | 0: return Item::JungleStairs; + case (137 << 16) | 0: return Item::CommandBlock; + case (138 << 16) | 0: return Item::Beacon; + case (139 << 16) | 0: return Item::CobblestoneWall; + case (139 << 16) | 1: return Item::MossyCobblestoneWall; + case (143 << 16) | 0: return Item::OakButton; + case (145 << 16) | 0: return Item::Anvil; + case (145 << 16) | 1: return Item::ChippedAnvil; + case (145 << 16) | 2: return Item::DamagedAnvil; + case (146 << 16) | 0: return Item::TrappedChest; + case (147 << 16) | 0: return Item::LightWeightedPressurePlate; + case (148 << 16) | 0: return Item::HeavyWeightedPressurePlate; + case (151 << 16) | 0: return Item::DaylightDetector; + case (152 << 16) | 0: return Item::RedstoneBlock; + case (153 << 16) | 0: return Item::NetherQuartzOre; + case (154 << 16) | 0: return Item::Hopper; + case (155 << 16) | 1: return Item::ChiseledQuartzBlock; + case (155 << 16) | 0: return Item::QuartzBlock; + case (155 << 16) | 2: return Item::QuartzPillar; + case (156 << 16) | 0: return Item::QuartzStairs; + case (157 << 16) | 0: return Item::ActivatorRail; + case (158 << 16) | 0: return Item::Dropper; + case (159 << 16) | 0: return Item::WhiteTerracotta; + case (159 << 16) | 1: return Item::OrangeTerracotta; + case (159 << 16) | 2: return Item::MagentaTerracotta; + case (159 << 16) | 3: return Item::LightBlueTerracotta; + case (159 << 16) | 4: return Item::YellowTerracotta; + case (159 << 16) | 5: return Item::LimeTerracotta; + case (159 << 16) | 6: return Item::PinkTerracotta; + case (159 << 16) | 7: return Item::GrayTerracotta; + case (159 << 16) | 8: return Item::LightGrayTerracotta; + case (159 << 16) | 9: return Item::CyanTerracotta; + case (159 << 16) | 10: return Item::PurpleTerracotta; + case (159 << 16) | 11: return Item::BlueTerracotta; + case (159 << 16) | 12: return Item::BrownTerracotta; + case (159 << 16) | 13: return Item::GreenTerracotta; + case (159 << 16) | 14: return Item::RedTerracotta; + case (159 << 16) | 15: return Item::BlackTerracotta; + case (166 << 16) | 0: return Item::Barrier; + case (167 << 16) | 0: return Item::IronTrapdoor; + case (170 << 16) | 0: return Item::HayBale; + case (171 << 16) | 0: return Item::WhiteCarpet; + case (171 << 16) | 1: return Item::OrangeCarpet; + case (171 << 16) | 2: return Item::MagentaCarpet; + case (171 << 16) | 3: return Item::LightBlueCarpet; + case (171 << 16) | 4: return Item::YellowCarpet; + case (171 << 16) | 5: return Item::LimeCarpet; + case (171 << 16) | 6: return Item::PinkCarpet; + case (171 << 16) | 7: return Item::GrayCarpet; + case (171 << 16) | 8: return Item::LightGrayCarpet; + case (171 << 16) | 9: return Item::CyanCarpet; + case (171 << 16) | 10: return Item::PurpleCarpet; + case (171 << 16) | 11: return Item::BlueCarpet; + case (171 << 16) | 12: return Item::BrownCarpet; + case (171 << 16) | 13: return Item::GreenCarpet; + case (171 << 16) | 14: return Item::RedCarpet; + case (171 << 16) | 15: return Item::BlackCarpet; + case (172 << 16) | 0: return Item::Terracotta; + case (173 << 16) | 0: return Item::CoalBlock; + case (174 << 16) | 0: return Item::PackedIce; + case (163 << 16) | 0: return Item::AcaciaStairs; + case (164 << 16) | 0: return Item::DarkOakStairs; + case (165 << 16) | 0: return Item::SlimeBlock; + case (208 << 16) | 0: return Item::GrassPath; + case (175 << 16) | 0: return Item::Sunflower; + case (175 << 16) | 1: return Item::Lilac; + case (175 << 16) | 4: return Item::RoseBush; + case (175 << 16) | 5: return Item::Peony; + case (175 << 16) | 2: return Item::TallGrass; + case (175 << 16) | 3: return Item::LargeFern; + case (95 << 16) | 0: return Item::WhiteStainedGlass; + case (95 << 16) | 1: return Item::OrangeStainedGlass; + case (95 << 16) | 2: return Item::MagentaStainedGlass; + case (95 << 16) | 3: return Item::LightBlueStainedGlass; + case (95 << 16) | 4: return Item::YellowStainedGlass; + case (95 << 16) | 5: return Item::LimeStainedGlass; + case (95 << 16) | 6: return Item::PinkStainedGlass; + case (95 << 16) | 7: return Item::GrayStainedGlass; + case (95 << 16) | 8: return Item::LightGrayStainedGlass; + case (95 << 16) | 9: return Item::CyanStainedGlass; + case (95 << 16) | 10: return Item::PurpleStainedGlass; + case (95 << 16) | 11: return Item::BlueStainedGlass; + case (95 << 16) | 12: return Item::BrownStainedGlass; + case (95 << 16) | 13: return Item::GreenStainedGlass; + case (95 << 16) | 14: return Item::RedStainedGlass; + case (95 << 16) | 15: return Item::BlackStainedGlass; + case (160 << 16) | 0: return Item::WhiteStainedGlassPane; + case (160 << 16) | 1: return Item::OrangeStainedGlassPane; + case (160 << 16) | 2: return Item::MagentaStainedGlassPane; + case (160 << 16) | 3: return Item::LightBlueStainedGlassPane; + case (160 << 16) | 4: return Item::YellowStainedGlassPane; + case (160 << 16) | 5: return Item::LimeStainedGlassPane; + case (160 << 16) | 6: return Item::PinkStainedGlassPane; + case (160 << 16) | 7: return Item::GrayStainedGlassPane; + case (160 << 16) | 8: return Item::LightGrayStainedGlassPane; + case (160 << 16) | 9: return Item::CyanStainedGlassPane; + case (160 << 16) | 10: return Item::PurpleStainedGlassPane; + case (160 << 16) | 11: return Item::BlueStainedGlassPane; + case (160 << 16) | 12: return Item::BrownStainedGlassPane; + case (160 << 16) | 13: return Item::GreenStainedGlassPane; + case (160 << 16) | 14: return Item::RedStainedGlassPane; + case (160 << 16) | 15: return Item::BlackStainedGlassPane; + case (168 << 16) | 0: return Item::Prismarine; + case (168 << 16) | 1: return Item::PrismarineBricks; + case (168 << 16) | 2: return Item::DarkPrismarine; + case (169 << 16) | 0: return Item::SeaLantern; + case (179 << 16) | 0: return Item::RedSandstone; + case (179 << 16) | 1: return Item::ChiseledRedSandstone; + case (179 << 16) | 2: return Item::CutRedSandstone; + case (180 << 16) | 0: return Item::RedSandstoneStairs; + case (210 << 16) | 0: return Item::RepeatingCommandBlock; + case (211 << 16) | 0: return Item::ChainCommandBlock; + case (213 << 16) | 0: return Item::MagmaBlock; + case (214 << 16) | 0: return Item::NetherWartBlock; + case (215 << 16) | 0: return Item::RedNetherBricks; + case (216 << 16) | 0: return Item::BoneBlock; + case (217 << 16) | 0: return Item::StructureVoid; + case (218 << 16) | 0: return Item::Observer; + case (219 << 16) | 0: return Item::WhiteShulkerBox; + case (220 << 16) | 0: return Item::OrangeShulkerBox; + case (221 << 16) | 0: return Item::MagentaShulkerBox; + case (222 << 16) | 0: return Item::LightBlueShulkerBox; + case (223 << 16) | 0: return Item::YellowShulkerBox; + case (224 << 16) | 0: return Item::LimeShulkerBox; + case (225 << 16) | 0: return Item::PinkShulkerBox; + case (226 << 16) | 0: return Item::GrayShulkerBox; + case (227 << 16) | 0: return Item::LightGrayShulkerBox; + case (228 << 16) | 0: return Item::CyanShulkerBox; + case (229 << 16) | 0: return Item::PurpleShulkerBox; + case (230 << 16) | 0: return Item::BlueShulkerBox; + case (231 << 16) | 0: return Item::BrownShulkerBox; + case (232 << 16) | 0: return Item::GreenShulkerBox; + case (233 << 16) | 0: return Item::RedShulkerBox; + case (234 << 16) | 0: return Item::BlackShulkerBox; + case (235 << 16) | 0: return Item::WhiteGlazedTerracotta; + case (236 << 16) | 0: return Item::OrangeGlazedTerracotta; + case (237 << 16) | 0: return Item::MagentaGlazedTerracotta; + case (238 << 16) | 0: return Item::LightBlueGlazedTerracotta; + case (239 << 16) | 0: return Item::YellowGlazedTerracotta; + case (240 << 16) | 0: return Item::LimeGlazedTerracotta; + case (241 << 16) | 0: return Item::PinkGlazedTerracotta; + case (242 << 16) | 0: return Item::GrayGlazedTerracotta; + case (243 << 16) | 0: return Item::LightGrayGlazedTerracotta; + case (244 << 16) | 0: return Item::CyanGlazedTerracotta; + case (245 << 16) | 0: return Item::PurpleGlazedTerracotta; + case (246 << 16) | 0: return Item::BlueGlazedTerracotta; + case (247 << 16) | 0: return Item::BrownGlazedTerracotta; + case (248 << 16) | 0: return Item::GreenGlazedTerracotta; + case (249 << 16) | 0: return Item::RedGlazedTerracotta; + case (250 << 16) | 0: return Item::BlackGlazedTerracotta; + case (251 << 16) | 0: return Item::WhiteConcrete; + case (251 << 16) | 1: return Item::OrangeConcrete; + case (251 << 16) | 2: return Item::MagentaConcrete; + case (251 << 16) | 3: return Item::LightBlueConcrete; + case (251 << 16) | 4: return Item::YellowConcrete; + case (251 << 16) | 5: return Item::LimeConcrete; + case (251 << 16) | 6: return Item::PinkConcrete; + case (251 << 16) | 7: return Item::GrayConcrete; + case (251 << 16) | 8: return Item::LightGrayConcrete; + case (251 << 16) | 9: return Item::CyanConcrete; + case (251 << 16) | 10: return Item::PurpleConcrete; + case (251 << 16) | 11: return Item::BlueConcrete; + case (251 << 16) | 12: return Item::BrownConcrete; + case (251 << 16) | 13: return Item::GreenConcrete; + case (251 << 16) | 14: return Item::RedConcrete; + case (251 << 16) | 15: return Item::BlackConcrete; + case (252 << 16) | 0: return Item::WhiteConcretePowder; + case (252 << 16) | 1: return Item::OrangeConcretePowder; + case (252 << 16) | 2: return Item::MagentaConcretePowder; + case (252 << 16) | 3: return Item::LightBlueConcretePowder; + case (252 << 16) | 4: return Item::YellowConcretePowder; + case (252 << 16) | 5: return Item::LimeConcretePowder; + case (252 << 16) | 6: return Item::PinkConcretePowder; + case (252 << 16) | 7: return Item::GrayConcretePowder; + case (252 << 16) | 8: return Item::LightGrayConcretePowder; + case (252 << 16) | 9: return Item::CyanConcretePowder; + case (252 << 16) | 10: return Item::PurpleConcretePowder; + case (252 << 16) | 11: return Item::BlueConcretePowder; + case (252 << 16) | 12: return Item::BrownConcretePowder; + case (252 << 16) | 13: return Item::GreenConcretePowder; + case (252 << 16) | 14: return Item::RedConcretePowder; + case (252 << 16) | 15: return Item::BlackConcretePowder; + case (330 << 16) | 0: return Item::IronDoor; + case (324 << 16) | 0: return Item::OakDoor; + case (427 << 16) | 0: return Item::SpruceDoor; + case (428 << 16) | 0: return Item::BirchDoor; + case (429 << 16) | 0: return Item::JungleDoor; + case (430 << 16) | 0: return Item::AcaciaDoor; + case (431 << 16) | 0: return Item::DarkOakDoor; + case (356 << 16) | 0: return Item::Repeater; + case (404 << 16) | 0: return Item::Comparator; + case (255 << 16) | 0: return Item::StructureBlock; + case (256 << 16) | 0: return Item::IronShovel; + case (257 << 16) | 0: return Item::IronPickaxe; + case (258 << 16) | 0: return Item::IronAxe; + case (259 << 16) | 0: return Item::FlintAndSteel; + case (260 << 16) | 0: return Item::Apple; + case (261 << 16) | 0: return Item::Bow; + case (262 << 16) | 0: return Item::Arrow; + case (263 << 16) | 0: return Item::Coal; + case (263 << 16) | 1: return Item::Charcoal; + case (264 << 16) | 0: return Item::Diamond; + case (265 << 16) | 0: return Item::IronIngot; + case (266 << 16) | 0: return Item::GoldIngot; + case (267 << 16) | 0: return Item::IronSword; + case (268 << 16) | 0: return Item::WoodenSword; + case (269 << 16) | 0: return Item::WoodenShovel; + case (270 << 16) | 0: return Item::WoodenPickaxe; + case (271 << 16) | 0: return Item::WoodenAxe; + case (272 << 16) | 0: return Item::StoneSword; + case (273 << 16) | 0: return Item::StoneShovel; + case (274 << 16) | 0: return Item::StonePickaxe; + case (275 << 16) | 0: return Item::StoneAxe; + case (276 << 16) | 0: return Item::DiamondSword; + case (277 << 16) | 0: return Item::DiamondShovel; + case (278 << 16) | 0: return Item::DiamondPickaxe; + case (279 << 16) | 0: return Item::DiamondAxe; + case (280 << 16) | 0: return Item::Stick; + case (281 << 16) | 0: return Item::Bowl; + case (282 << 16) | 0: return Item::MushroomStew; + case (283 << 16) | 0: return Item::GoldenSword; + case (284 << 16) | 0: return Item::GoldenShovel; + case (285 << 16) | 0: return Item::GoldenPickaxe; + case (286 << 16) | 0: return Item::GoldenAxe; + case (287 << 16) | 0: return Item::String; + case (288 << 16) | 0: return Item::Feather; + case (289 << 16) | 0: return Item::Gunpowder; + case (290 << 16) | 0: return Item::WoodenHoe; + case (291 << 16) | 0: return Item::StoneHoe; + case (292 << 16) | 0: return Item::IronHoe; + case (293 << 16) | 0: return Item::DiamondHoe; + case (294 << 16) | 0: return Item::GoldenHoe; + case (295 << 16) | 0: return Item::WheatSeeds; + case (296 << 16) | 0: return Item::Wheat; + case (297 << 16) | 0: return Item::Bread; + case (298 << 16) | 0: return Item::LeatherHelmet; + case (299 << 16) | 0: return Item::LeatherChestplate; + case (300 << 16) | 0: return Item::LeatherLeggings; + case (301 << 16) | 0: return Item::LeatherBoots; + case (302 << 16) | 0: return Item::ChainmailHelmet; + case (303 << 16) | 0: return Item::ChainmailChestplate; + case (304 << 16) | 0: return Item::ChainmailLeggings; + case (305 << 16) | 0: return Item::ChainmailBoots; + case (306 << 16) | 0: return Item::IronHelmet; + case (307 << 16) | 0: return Item::IronChestplate; + case (308 << 16) | 0: return Item::IronLeggings; + case (309 << 16) | 0: return Item::IronBoots; + case (310 << 16) | 0: return Item::DiamondHelmet; + case (311 << 16) | 0: return Item::DiamondChestplate; + case (312 << 16) | 0: return Item::DiamondLeggings; + case (313 << 16) | 0: return Item::DiamondBoots; + case (314 << 16) | 0: return Item::GoldenHelmet; + case (315 << 16) | 0: return Item::GoldenChestplate; + case (316 << 16) | 0: return Item::GoldenLeggings; + case (317 << 16) | 0: return Item::GoldenBoots; + case (318 << 16) | 0: return Item::Flint; + case (319 << 16) | 0: return Item::Porkchop; + case (320 << 16) | 0: return Item::CookedPorkchop; + case (321 << 16) | 0: return Item::Painting; + case (322 << 16) | 0: return Item::GoldenApple; + case (322 << 16) | 1: return Item::EnchantedGoldenApple; + case (323 << 16) | 0: return Item::OakSign; + case (325 << 16) | 0: return Item::Bucket; + case (326 << 16) | 0: return Item::WaterBucket; + case (327 << 16) | 0: return Item::LavaBucket; + case (328 << 16) | 0: return Item::Minecart; + case (329 << 16) | 0: return Item::Saddle; + case (331 << 16) | 0: return Item::Redstone; + case (332 << 16) | 0: return Item::Snowball; + case (333 << 16) | 0: return Item::OakBoat; + case (334 << 16) | 0: return Item::Leather; + case (335 << 16) | 0: return Item::MilkBucket; + case (336 << 16) | 0: return Item::Brick; + case (337 << 16) | 0: return Item::ClayBall; + case (338 << 16) | 0: return Item::SugarCane; + case (339 << 16) | 0: return Item::Paper; + case (340 << 16) | 0: return Item::Book; + case (341 << 16) | 0: return Item::SlimeBall; + case (342 << 16) | 0: return Item::ChestMinecart; + case (343 << 16) | 0: return Item::FurnaceMinecart; + case (344 << 16) | 0: return Item::Egg; + case (345 << 16) | 0: return Item::Compass; + case (346 << 16) | 0: return Item::FishingRod; + case (347 << 16) | 0: return Item::Clock; + case (348 << 16) | 0: return Item::GlowstoneDust; + case (349 << 16) | 0: return Item::Cod; + case (349 << 16) | 1: return Item::Salmon; + case (349 << 16) | 2: return Item::TropicalFish; + case (349 << 16) | 3: return Item::Pufferfish; + case (350 << 16) | 0: return Item::CookedCod; + case (350 << 16) | 1: return Item::CookedSalmon; + case (351 << 16) | 0: return Item::InkSac; + case (351 << 16) | 1: return Item::RedDye; + case (351 << 16) | 2: return Item::GreenDye; + case (351 << 16) | 3: return Item::CocoaBeans; + case (351 << 16) | 4: return Item::LapisLazuli; + case (351 << 16) | 5: return Item::PurpleDye; + case (351 << 16) | 6: return Item::CyanDye; + case (351 << 16) | 7: return Item::LightGrayDye; + case (351 << 16) | 8: return Item::GrayDye; + case (351 << 16) | 9: return Item::PinkDye; + case (351 << 16) | 10: return Item::LimeDye; + case (351 << 16) | 11: return Item::YellowDye; + case (351 << 16) | 12: return Item::LightBlueDye; + case (351 << 16) | 13: return Item::MagentaDye; + case (351 << 16) | 14: return Item::OrangeDye; + case (351 << 16) | 15: return Item::BoneMeal; + case (352 << 16) | 0: return Item::Bone; + case (353 << 16) | 0: return Item::Sugar; + case (354 << 16) | 0: return Item::Cake; + case (355 << 16) | 0: return Item::WhiteBed; + case (355 << 16) | 1: return Item::OrangeBed; + case (355 << 16) | 2: return Item::MagentaBed; + case (355 << 16) | 3: return Item::LightBlueBed; + case (355 << 16) | 4: return Item::YellowBed; + case (355 << 16) | 5: return Item::LimeBed; + case (355 << 16) | 6: return Item::PinkBed; + case (355 << 16) | 7: return Item::GrayBed; + case (355 << 16) | 8: return Item::LightGrayBed; + case (355 << 16) | 9: return Item::CyanBed; + case (355 << 16) | 10: return Item::PurpleBed; + case (355 << 16) | 11: return Item::BlueBed; + case (355 << 16) | 12: return Item::BrownBed; + case (355 << 16) | 13: return Item::GreenBed; + case (355 << 16) | 14: return Item::RedBed; + case (355 << 16) | 15: return Item::BlackBed; + case (357 << 16) | 0: return Item::Cookie; + case (358 << 16) | 0: return Item::FilledMap; + case (359 << 16) | 0: return Item::Shears; + case (360 << 16) | 0: return Item::MelonSlice; + case (361 << 16) | 0: return Item::PumpkinSeeds; + case (362 << 16) | 0: return Item::MelonSeeds; + case (363 << 16) | 0: return Item::Beef; + case (364 << 16) | 0: return Item::CookedBeef; + case (365 << 16) | 0: return Item::Chicken; + case (366 << 16) | 0: return Item::CookedChicken; + case (367 << 16) | 0: return Item::RottenFlesh; + case (368 << 16) | 0: return Item::EnderPearl; + case (369 << 16) | 0: return Item::BlazeRod; + case (370 << 16) | 0: return Item::GhastTear; + case (371 << 16) | 0: return Item::GoldNugget; + case (372 << 16) | 0: return Item::NetherWart; + case (373 << 16) | 0: return Item::Potion; + case (438 << 16) | 0: return Item::SplashPotion; + case (441 << 16) | 0: return Item::LingeringPotion; + + // Potion type encoded in Item NBT: + case (373 << 16) | 16: + case (373 << 16) | 32: + case (373 << 16) | 64: + case (373 << 16) | 8193: + case (373 << 16) | 8194: + case (373 << 16) | 8195: + case (373 << 16) | 8196: + case (373 << 16) | 8197: + case (373 << 16) | 8198: + case (373 << 16) | 8200: + case (373 << 16) | 8201: + case (373 << 16) | 8202: + case (373 << 16) | 8204: + case (373 << 16) | 8205: + case (373 << 16) | 8206: + case (373 << 16) | 8225: + case (373 << 16) | 8226: + case (373 << 16) | 8228: + case (373 << 16) | 8229: + case (373 << 16) | 8233: + case (373 << 16) | 8235: + case (373 << 16) | 8236: + case (373 << 16) | 8257: + case (373 << 16) | 8258: + case (373 << 16) | 8259: + case (373 << 16) | 8260: + case (373 << 16) | 8262: + case (373 << 16) | 8264: + case (373 << 16) | 8265: + case (373 << 16) | 8266: + case (373 << 16) | 8267: + case (373 << 16) | 8269: + case (373 << 16) | 8270: + case (373 << 16) | 8289: + case (373 << 16) | 8290: + case (373 << 16) | 8292: + case (373 << 16) | 8297: return Item::Potion; + + // Potion type encoded in Item NBT: + case (373 << 16) | 16385: + case (373 << 16) | 16386: + case (373 << 16) | 16387: + case (373 << 16) | 16388: + case (373 << 16) | 16389: + case (373 << 16) | 16390: + case (373 << 16) | 16392: + case (373 << 16) | 16393: + case (373 << 16) | 16394: + case (373 << 16) | 16396: + case (373 << 16) | 16397: + case (373 << 16) | 16398: + case (373 << 16) | 16417: + case (373 << 16) | 16418: + case (373 << 16) | 16420: + case (373 << 16) | 16421: + case (373 << 16) | 16425: + case (373 << 16) | 16427: + case (373 << 16) | 16428: + case (373 << 16) | 16449: + case (373 << 16) | 16450: + case (373 << 16) | 16451: + case (373 << 16) | 16452: + case (373 << 16) | 16454: + case (373 << 16) | 16456: + case (373 << 16) | 16457: + case (373 << 16) | 16458: + case (373 << 16) | 16459: + case (373 << 16) | 16461: + case (373 << 16) | 16462: + case (373 << 16) | 16481: + case (373 << 16) | 16482: + case (373 << 16) | 16484: + case (373 << 16) | 16489: return Item::SplashPotion; + + case (374 << 16) | 0: return Item::GlassBottle; + case (375 << 16) | 0: return Item::SpiderEye; + case (376 << 16) | 0: return Item::FermentedSpiderEye; + case (377 << 16) | 0: return Item::BlazePowder; + case (378 << 16) | 0: return Item::MagmaCream; + case (379 << 16) | 0: return Item::BrewingStand; + case (380 << 16) | 0: return Item::Cauldron; + case (381 << 16) | 0: return Item::EnderEye; + case (382 << 16) | 0: return Item::GlisteringMelonSlice; + case (383 << 16) | 65: return Item::BatSpawnEgg; + case (383 << 16) | 61: return Item::BlazeSpawnEgg; + case (383 << 16) | 59: return Item::CaveSpiderSpawnEgg; + case (383 << 16) | 93: return Item::ChickenSpawnEgg; + case (383 << 16) | 92: return Item::CowSpawnEgg; + case (383 << 16) | 50: return Item::CreeperSpawnEgg; + case (383 << 16) | 31: return Item::DonkeySpawnEgg; + case (383 << 16) | 4: return Item::ElderGuardianSpawnEgg; + case (383 << 16) | 58: return Item::EndermanSpawnEgg; + case (383 << 16) | 67: return Item::EndermiteSpawnEgg; + case (383 << 16) | 34: return Item::EvokerSpawnEgg; + case (383 << 16) | 56: return Item::GhastSpawnEgg; + case (383 << 16) | 68: return Item::GuardianSpawnEgg; + case (383 << 16) | 100: return Item::HorseSpawnEgg; + case (383 << 16) | 23: return Item::HuskSpawnEgg; + case (383 << 16) | 103: return Item::LlamaSpawnEgg; + case (383 << 16) | 62: return Item::MagmaCubeSpawnEgg; + case (383 << 16) | 96: return Item::MooshroomSpawnEgg; + case (383 << 16) | 32: return Item::MuleSpawnEgg; + case (383 << 16) | 98: return Item::OcelotSpawnEgg; + case (383 << 16) | 90: return Item::PigSpawnEgg; + case (383 << 16) | 102: return Item::PolarBearSpawnEgg; + case (383 << 16) | 101: return Item::RabbitSpawnEgg; + case (383 << 16) | 91: return Item::SheepSpawnEgg; + case (383 << 16) | 69: return Item::ShulkerSpawnEgg; + case (383 << 16) | 51: return Item::SkeletonSpawnEgg; + case (383 << 16) | 28: return Item::SkeletonHorseSpawnEgg; + case (383 << 16) | 55: return Item::SlimeSpawnEgg; + case (383 << 16) | 52: return Item::SpiderSpawnEgg; + case (383 << 16) | 94: return Item::SquidSpawnEgg; + case (383 << 16) | 6: return Item::StraySpawnEgg; + case (383 << 16) | 35: return Item::VexSpawnEgg; + case (383 << 16) | 120: return Item::VillagerSpawnEgg; + case (383 << 16) | 36: return Item::VindicatorSpawnEgg; + case (383 << 16) | 66: return Item::WitchSpawnEgg; + case (383 << 16) | 5: return Item::WitherSkeletonSpawnEgg; + case (383 << 16) | 95: return Item::WolfSpawnEgg; + case (383 << 16) | 54: return Item::ZombieSpawnEgg; + case (383 << 16) | 29: return Item::ZombieHorseSpawnEgg; + case (383 << 16) | 57: return Item::ZombiePigmanSpawnEgg; + case (383 << 16) | 27: return Item::ZombieVillagerSpawnEgg; + case (384 << 16) | 0: return Item::ExperienceBottle; + case (385 << 16) | 0: return Item::FireCharge; + case (386 << 16) | 0: return Item::WritableBook; + case (387 << 16) | 0: return Item::WrittenBook; + case (388 << 16) | 0: return Item::Emerald; + case (389 << 16) | 0: return Item::ItemFrame; + case (390 << 16) | 0: return Item::FlowerPot; + case (391 << 16) | 0: return Item::Carrot; + case (392 << 16) | 0: return Item::Potato; + case (393 << 16) | 0: return Item::BakedPotato; + case (394 << 16) | 0: return Item::PoisonousPotato; + case (395 << 16) | 0: return Item::Map; + case (396 << 16) | 0: return Item::GoldenCarrot; + case (397 << 16) | 0: return Item::SkeletonSkull; + case (397 << 16) | 1: return Item::WitherSkeletonSkull; + case (397 << 16) | 3: return Item::PlayerHead; + case (397 << 16) | 2: return Item::ZombieHead; + case (397 << 16) | 4: return Item::CreeperHead; + case (397 << 16) | 5: return Item::DragonHead; + case (398 << 16) | 0: return Item::CarrotOnAStick; + case (399 << 16) | 0: return Item::NetherStar; + case (400 << 16) | 0: return Item::PumpkinPie; + case (401 << 16) | 0: return Item::FireworkRocket; + case (402 << 16) | 0: return Item::FireworkStar; + case (403 << 16) | 0: return Item::EnchantedBook; + case (405 << 16) | 0: return Item::NetherBrick; + case (406 << 16) | 0: return Item::Quartz; + case (407 << 16) | 0: return Item::TNTMinecart; + case (408 << 16) | 0: return Item::HopperMinecart; + case (409 << 16) | 0: return Item::PrismarineShard; + case (410 << 16) | 0: return Item::PrismarineCrystals; + case (411 << 16) | 0: return Item::Rabbit; + case (412 << 16) | 0: return Item::CookedRabbit; + case (413 << 16) | 0: return Item::RabbitStew; + case (414 << 16) | 0: return Item::RabbitFoot; + case (415 << 16) | 0: return Item::RabbitHide; + case (416 << 16) | 0: return Item::ArmorStand; + case (417 << 16) | 0: return Item::IronHorseArmor; + case (418 << 16) | 0: return Item::GoldenHorseArmor; + case (419 << 16) | 0: return Item::DiamondHorseArmor; + case (420 << 16) | 0: return Item::Lead; + case (421 << 16) | 0: return Item::NameTag; + case (422 << 16) | 0: return Item::CommandBlockMinecart; + case (423 << 16) | 0: return Item::Mutton; + case (424 << 16) | 0: return Item::CookedMutton; + case (425 << 16) | 15: return Item::WhiteBanner; + case (425 << 16) | 14: return Item::OrangeBanner; + case (425 << 16) | 13: return Item::MagentaBanner; + case (425 << 16) | 12: return Item::LightBlueBanner; + case (425 << 16) | 11: return Item::YellowBanner; + case (425 << 16) | 10: return Item::LimeBanner; + case (425 << 16) | 9: return Item::PinkBanner; + case (425 << 16) | 8: return Item::GrayBanner; + case (425 << 16) | 7: return Item::LightGrayBanner; + case (425 << 16) | 6: return Item::CyanBanner; + case (425 << 16) | 5: return Item::PurpleBanner; + case (425 << 16) | 4: return Item::BlueBanner; + case (425 << 16) | 3: return Item::BrownBanner; + case (425 << 16) | 2: return Item::GreenBanner; + case (425 << 16) | 1: return Item::RedBanner; + case (425 << 16) | 0: return Item::BlackBanner; + case (426 << 16) | 0: return Item::EndCrystal; + case (432 << 16) | 0: return Item::ChorusFruit; + case (433 << 16) | 0: return Item::PoppedChorusFruit; + case (434 << 16) | 0: return Item::Beetroot; + case (435 << 16) | 0: return Item::BeetrootSeeds; + case (436 << 16) | 0: return Item::BeetrootSoup; + case (437 << 16) | 0: return Item::DragonBreath; + case (439 << 16) | 0: return Item::SpectralArrow; + case (440 << 16) | 0: return Item::TippedArrow; + case (442 << 16) | 0: return Item::Shield; + case (443 << 16) | 0: return Item::Elytra; + case (444 << 16) | 0: return Item::SpruceBoat; + case (445 << 16) | 0: return Item::BirchBoat; + case (446 << 16) | 0: return Item::JungleBoat; + case (447 << 16) | 0: return Item::AcaciaBoat; + case (448 << 16) | 0: return Item::DarkOakBoat; + case (449 << 16) | 0: return Item::TotemOfUndying; + case (450 << 16) | 0: return Item::ShulkerShell; + case (452 << 16) | 0: return Item::IronNugget; + case (2256 << 16) | 0: return Item::MusicDisc13; + case (2257 << 16) | 0: return Item::MusicDiscCat; + case (2258 << 16) | 0: return Item::MusicDiscBlocks; + case (2259 << 16) | 0: return Item::MusicDiscChirp; + case (2260 << 16) | 0: return Item::MusicDiscFar; + case (2261 << 16) | 0: return Item::MusicDiscMall; + case (2262 << 16) | 0: return Item::MusicDiscMellohi; + case (2263 << 16) | 0: return Item::MusicDiscStal; + case (2264 << 16) | 0: return Item::MusicDiscStrad; + case (2265 << 16) | 0: return Item::MusicDiscWard; + case (2266 << 16) | 0: return Item::MusicDisc11; + case (2267 << 16) | 0: return Item::MusicDiscWait; + + // Technical blocks that used to be able to appear + // in the inventory. e.g. Water, Lava, Piston Head, Fire + // Redstone Wire, Wall Sign, Stem, Portal, Cocoa, Tripwire, etc. + // Some technical blocks have been manually mapped to item analogues. + case (55 << 16) | 0: return Item::Redstone; + case (68 << 16) | 0: return Item::OakSign; + case (83 << 16) | 0: return Item::SugarCane; + case (127 << 16) | 0: return Item::CocoaBeans; + case (132 << 16) | 0: return Item::String; + case (141 << 16) | 0: return Item::Carrot; + case (142 << 16) | 0: return Item::Potato; + case (207 << 16) | 0: return Item::Beetroot; + + // Monster Spawner type encoded in Item NBT + case (52 << 16) | 50: + case (52 << 16) | 51: + case (52 << 16) | 52: + case (52 << 16) | 53: + case (52 << 16) | 54: + case (52 << 16) | 55: + case (52 << 16) | 56: + case (52 << 16) | 57: + case (52 << 16) | 58: + case (52 << 16) | 59: + case (52 << 16) | 60: + case (52 << 16) | 61: + case (52 << 16) | 62: + case (52 << 16) | 63: + case (52 << 16) | 64: + case (52 << 16) | 65: + case (52 << 16) | 66: + case (52 << 16) | 90: + case (52 << 16) | 91: + case (52 << 16) | 92: + case (52 << 16) | 93: + case (52 << 16) | 94: + case (52 << 16) | 95: + case (52 << 16) | 96: + case (52 << 16) | 97: + case (52 << 16) | 98: + case (52 << 16) | 99: + case (52 << 16) | 100: return Item::Spawner; + + default: return Item::Air; + } + } + + std::pair<short, short> ToItem(Item ID) + { + switch (ID) + { + case Item::Stone: return { 1, 0 }; + case Item::Granite: return { 1, 1 }; + case Item::PolishedGranite: return { 1, 2 }; + case Item::Diorite: return { 1, 3 }; + case Item::PolishedDiorite: return { 1, 4 }; + case Item::Andesite: return { 1, 5 }; + case Item::PolishedAndesite: return { 1, 6 }; + case Item::GrassBlock: return { 2, 0 }; + case Item::Dirt: return { 3, 0 }; + case Item::CoarseDirt: return { 3, 1 }; + case Item::Podzol: return { 3, 2 }; + case Item::Cobblestone: return { 4, 0 }; + case Item::OakPlanks: return { 5, 0 }; + case Item::SprucePlanks: return { 5, 1 }; + case Item::BirchPlanks: return { 5, 2 }; + case Item::JunglePlanks: return { 5, 3 }; + case Item::AcaciaPlanks: return { 5, 4 }; + case Item::DarkOakPlanks: return { 5, 5 }; + case Item::OakSapling: return { 6, 0 }; + case Item::SpruceSapling: return { 6, 1 }; + case Item::BirchSapling: return { 6, 2 }; + case Item::JungleSapling: return { 6, 3 }; + case Item::AcaciaSapling: return { 6, 4 }; + case Item::DarkOakSapling: return { 6, 5 }; + case Item::Bedrock: return { 7, 0 }; + case Item::Sand: return { 12, 0 }; + case Item::RedSand: return { 12, 1 }; + case Item::Gravel: return { 13, 0 }; + case Item::GoldOre: return { 14, 0 }; + case Item::IronOre: return { 15, 0 }; + case Item::CoalOre: return { 16, 0 }; + case Item::OakLog: return { 17, 0 }; + case Item::SpruceLog: return { 17, 1 }; + case Item::BirchLog: return { 17, 2 }; + case Item::JungleLog: return { 17, 3 }; + case Item::AcaciaLog: return { 162, 0 }; + case Item::DarkOakLog: return { 162, 1 }; + case Item::OakLeaves: return { 18, 0 }; + case Item::SpruceLeaves: return { 18, 1 }; + case Item::BirchLeaves: return { 18, 2 }; + case Item::JungleLeaves: return { 18, 3 }; + case Item::AcaciaLeaves: return { 161, 0 }; + case Item::DarkOakLeaves: return { 161, 1 }; + case Item::Sponge: return { 19, 0 }; + case Item::WetSponge: return { 19, 1 }; + case Item::Glass: return { 20, 0 }; + case Item::LapisOre: return { 21, 0 }; + case Item::LapisBlock: return { 22, 0 }; + case Item::Dispenser: return { 23, 0 }; + case Item::Sandstone: return { 24, 0 }; + case Item::ChiseledSandstone: return { 24, 1 }; + case Item::CutSandstone: return { 24, 2 }; + case Item::NoteBlock: return { 25, 0 }; + case Item::PoweredRail: return { 27, 0 }; + case Item::DetectorRail: return { 28, 0 }; + case Item::StickyPiston: return { 29, 0 }; + case Item::Cobweb: return { 30, 0 }; + case Item::Fern: return { 31, 2 }; + case Item::DeadBush: return { 32, 0 }; + case Item::Piston: return { 33, 0 }; + case Item::WhiteWool: return { 35, 0 }; + case Item::OrangeWool: return { 35, 1 }; + case Item::MagentaWool: return { 35, 2 }; + case Item::LightBlueWool: return { 35, 3 }; + case Item::YellowWool: return { 35, 4 }; + case Item::LimeWool: return { 35, 5 }; + case Item::PinkWool: return { 35, 6 }; + case Item::GrayWool: return { 35, 7 }; + case Item::LightGrayWool: return { 35, 8 }; + case Item::CyanWool: return { 35, 9 }; + case Item::PurpleWool: return { 35, 10 }; + case Item::BlueWool: return { 35, 11 }; + case Item::BrownWool: return { 35, 12 }; + case Item::GreenWool: return { 35, 13 }; + case Item::RedWool: return { 35, 14 }; + case Item::BlackWool: return { 35, 15 }; + case Item::Dandelion: return { 37, 0 }; + case Item::Poppy: return { 38, 0 }; + case Item::BlueOrchid: return { 38, 1 }; + case Item::Allium: return { 38, 2 }; + case Item::AzureBluet: return { 38, 3 }; + case Item::RedTulip: return { 38, 4 }; + case Item::OrangeTulip: return { 38, 5 }; + case Item::WhiteTulip: return { 38, 6 }; + case Item::PinkTulip: return { 38, 7 }; + case Item::OxeyeDaisy: return { 38, 8 }; + case Item::BrownMushroom: return { 39, 0 }; + case Item::RedMushroom: return { 40, 0 }; + case Item::GoldBlock: return { 41, 0 }; + case Item::IronBlock: return { 42, 0 }; + case Item::OakSlab: return { 126, 0 }; + case Item::SpruceSlab: return { 126, 1 }; + case Item::BirchSlab: return { 126, 2 }; + case Item::JungleSlab: return { 126, 3 }; + case Item::AcaciaSlab: return { 126, 4 }; + case Item::DarkOakSlab: return { 126, 5 }; + case Item::StoneSlab: return { 44, 2 }; + case Item::SandstoneSlab: return { 44, 1 }; + case Item::CobblestoneSlab: return { 44, 3 }; + case Item::BrickSlab: return { 44, 4 }; + case Item::StoneBrickSlab: return { 44, 5 }; + case Item::NetherBrickSlab: return { 44, 6 }; + case Item::QuartzSlab: return { 44, 7 }; + case Item::RedSandstoneSlab: return { 182, 0 }; + case Item::PurpurSlab: return { 205, 0 }; + case Item::SmoothQuartz: return { 43, 7 }; + case Item::SmoothStone: return { 43, 8 }; + case Item::Bricks: return { 45, 0 }; + case Item::TNT: return { 46, 0 }; + case Item::Bookshelf: return { 47, 0 }; + case Item::MossyCobblestone: return { 48, 0 }; + case Item::Obsidian: return { 49, 0 }; + case Item::Torch: return { 50, 0 }; + case Item::EndRod: return { 198, 0 }; + case Item::ChorusPlant: return { 199, 0 }; + case Item::ChorusFlower: return { 200, 0 }; + case Item::PurpurBlock: return { 201, 0 }; + case Item::PurpurPillar: return { 202, 0 }; + case Item::PurpurStairs: return { 203, 0 }; + case Item::Spawner: return { 52, 0 }; + case Item::OakStairs: return { 53, 0 }; + case Item::Chest: return { 54, 0 }; + case Item::DiamondOre: return { 56, 0 }; + case Item::DiamondBlock: return { 57, 0 }; + case Item::CraftingTable: return { 58, 0 }; + case Item::Farmland: return { 60, 0 }; + case Item::Furnace: return { 61, 0 }; + case Item::Ladder: return { 65, 0 }; + case Item::Rail: return { 66, 0 }; + case Item::CobblestoneStairs: return { 67, 0 }; + case Item::Lever: return { 69, 0 }; + case Item::StonePressurePlate: return { 70, 0 }; + case Item::OakPressurePlate: return { 72, 0 }; + case Item::RedstoneOre: return { 73, 0 }; + case Item::RedstoneTorch: return { 76, 0 }; + case Item::StoneButton: return { 77, 0 }; + case Item::Snow: return { 78, 0 }; + case Item::Ice: return { 79, 0 }; + case Item::SnowBlock: return { 80, 0 }; + case Item::Cactus: return { 81, 0 }; + case Item::Clay: return { 82, 0 }; + case Item::Jukebox: return { 84, 0 }; + case Item::OakFence: return { 85, 0 }; + case Item::SpruceFence: return { 188, 0 }; + case Item::BirchFence: return { 189, 0 }; + case Item::JungleFence: return { 190, 0 }; + case Item::AcaciaFence: return { 192, 0 }; + case Item::DarkOakFence: return { 191, 0 }; + case Item::Pumpkin: return { 86, 0 }; + case Item::Netherrack: return { 87, 0 }; + case Item::SoulSand: return { 88, 0 }; + case Item::Glowstone: return { 89, 0 }; + case Item::JackOLantern: return { 91, 0 }; + case Item::OakTrapdoor: return { 96, 0 }; + case Item::InfestedStone: return { 97, 0 }; + case Item::InfestedCobblestone: return { 97, 1 }; + case Item::InfestedStoneBricks: return { 97, 2 }; + case Item::InfestedMossyStoneBricks: return { 97, 3 }; + case Item::InfestedCrackedStoneBricks: return { 97, 4 }; + case Item::InfestedChiseledStoneBricks: return { 97, 5 }; + case Item::StoneBricks: return { 98, 0 }; + case Item::MossyStoneBricks: return { 98, 1 }; + case Item::CrackedStoneBricks: return { 98, 2 }; + case Item::ChiseledStoneBricks: return { 98, 3 }; + case Item::BrownMushroomBlock: return { 99, 0 }; + case Item::RedMushroomBlock: return { 100, 0 }; + case Item::IronBars: return { 101, 0 }; + case Item::GlassPane: return { 102, 0 }; + case Item::Melon: return { 103, 0 }; + case Item::Vine: return { 106, 0 }; + case Item::OakFenceGate: return { 107, 0 }; + case Item::SpruceFenceGate: return { 183, 0 }; + case Item::BirchFenceGate: return { 184, 0 }; + case Item::JungleFenceGate: return { 185, 0 }; + case Item::AcaciaFenceGate: return { 187, 0 }; + case Item::DarkOakFenceGate: return { 186, 0 }; + case Item::BrickStairs: return { 108, 0 }; + case Item::StoneBrickStairs: return { 109, 0 }; + case Item::Mycelium: return { 110, 0 }; + case Item::LilyPad: return { 111, 0 }; + case Item::NetherBricks: return { 112, 0 }; + case Item::NetherBrickFence: return { 113, 0 }; + case Item::NetherBrickStairs: return { 114, 0 }; + case Item::EnchantingTable: return { 116, 0 }; + case Item::EndPortalFrame: return { 120, 0 }; + case Item::EndStone: return { 121, 0 }; + case Item::EndStoneBricks: return { 206, 0 }; + case Item::DragonEgg: return { 122, 0 }; + case Item::RedstoneLamp: return { 123, 0 }; + case Item::SandstoneStairs: return { 128, 0 }; + case Item::EmeraldOre: return { 129, 0 }; + case Item::EnderChest: return { 130, 0 }; + case Item::TripwireHook: return { 131, 0 }; + case Item::EmeraldBlock: return { 133, 0 }; + case Item::SpruceStairs: return { 134, 0 }; + case Item::BirchStairs: return { 135, 0 }; + case Item::JungleStairs: return { 136, 0 }; + case Item::CommandBlock: return { 137, 0 }; + case Item::Beacon: return { 138, 0 }; + case Item::CobblestoneWall: return { 139, 0 }; + case Item::MossyCobblestoneWall: return { 139, 1 }; + case Item::OakButton: return { 143, 0 }; + case Item::Anvil: return { 145, 0 }; + case Item::ChippedAnvil: return { 145, 1 }; + case Item::DamagedAnvil: return { 145, 2 }; + case Item::TrappedChest: return { 146, 0 }; + case Item::LightWeightedPressurePlate: return { 147, 0 }; + case Item::HeavyWeightedPressurePlate: return { 148, 0 }; + case Item::DaylightDetector: return { 151, 0 }; + case Item::RedstoneBlock: return { 152, 0 }; + case Item::NetherQuartzOre: return { 153, 0 }; + case Item::Hopper: return { 154, 0 }; + case Item::ChiseledQuartzBlock: return { 155, 1 }; + case Item::QuartzBlock: return { 155, 0 }; + case Item::QuartzPillar: return { 155, 2 }; + case Item::QuartzStairs: return { 156, 0 }; + case Item::ActivatorRail: return { 157, 0 }; + case Item::Dropper: return { 158, 0 }; + case Item::WhiteTerracotta: return { 159, 0 }; + case Item::OrangeTerracotta: return { 159, 1 }; + case Item::MagentaTerracotta: return { 159, 2 }; + case Item::LightBlueTerracotta: return { 159, 3 }; + case Item::YellowTerracotta: return { 159, 4 }; + case Item::LimeTerracotta: return { 159, 5 }; + case Item::PinkTerracotta: return { 159, 6 }; + case Item::GrayTerracotta: return { 159, 7 }; + case Item::LightGrayTerracotta: return { 159, 8 }; + case Item::CyanTerracotta: return { 159, 9 }; + case Item::PurpleTerracotta: return { 159, 10 }; + case Item::BlueTerracotta: return { 159, 11 }; + case Item::BrownTerracotta: return { 159, 12 }; + case Item::GreenTerracotta: return { 159, 13 }; + case Item::RedTerracotta: return { 159, 14 }; + case Item::BlackTerracotta: return { 159, 15 }; + case Item::Barrier: return { 166, 0 }; + case Item::IronTrapdoor: return { 167, 0 }; + case Item::HayBale: return { 170, 0 }; + case Item::WhiteCarpet: return { 171, 0 }; + case Item::OrangeCarpet: return { 171, 1 }; + case Item::MagentaCarpet: return { 171, 2 }; + case Item::LightBlueCarpet: return { 171, 3 }; + case Item::YellowCarpet: return { 171, 4 }; + case Item::LimeCarpet: return { 171, 5 }; + case Item::PinkCarpet: return { 171, 6 }; + case Item::GrayCarpet: return { 171, 7 }; + case Item::LightGrayCarpet: return { 171, 8 }; + case Item::CyanCarpet: return { 171, 9 }; + case Item::PurpleCarpet: return { 171, 10 }; + case Item::BlueCarpet: return { 171, 11 }; + case Item::BrownCarpet: return { 171, 12 }; + case Item::GreenCarpet: return { 171, 13 }; + case Item::RedCarpet: return { 171, 14 }; + case Item::BlackCarpet: return { 171, 15 }; + case Item::Terracotta: return { 172, 0 }; + case Item::CoalBlock: return { 173, 0 }; + case Item::PackedIce: return { 174, 0 }; + case Item::AcaciaStairs: return { 163, 0 }; + case Item::DarkOakStairs: return { 164, 0 }; + case Item::SlimeBlock: return { 165, 0 }; + case Item::GrassPath: return { 208, 0 }; + case Item::Sunflower: return { 175, 0 }; + case Item::Lilac: return { 175, 1 }; + case Item::RoseBush: return { 175, 4 }; + case Item::Peony: return { 175, 5 }; + case Item::TallGrass: return { 175, 2 }; + case Item::LargeFern: return { 175, 3 }; + case Item::WhiteStainedGlass: return { 95, 0 }; + case Item::OrangeStainedGlass: return { 95, 1 }; + case Item::MagentaStainedGlass: return { 95, 2 }; + case Item::LightBlueStainedGlass: return { 95, 3 }; + case Item::YellowStainedGlass: return { 95, 4 }; + case Item::LimeStainedGlass: return { 95, 5 }; + case Item::PinkStainedGlass: return { 95, 6 }; + case Item::GrayStainedGlass: return { 95, 7 }; + case Item::LightGrayStainedGlass: return { 95, 8 }; + case Item::CyanStainedGlass: return { 95, 9 }; + case Item::PurpleStainedGlass: return { 95, 10 }; + case Item::BlueStainedGlass: return { 95, 11 }; + case Item::BrownStainedGlass: return { 95, 12 }; + case Item::GreenStainedGlass: return { 95, 13 }; + case Item::RedStainedGlass: return { 95, 14 }; + case Item::BlackStainedGlass: return { 95, 15 }; + case Item::WhiteStainedGlassPane: return { 160, 0 }; + case Item::OrangeStainedGlassPane: return { 160, 1 }; + case Item::MagentaStainedGlassPane: return { 160, 2 }; + case Item::LightBlueStainedGlassPane: return { 160, 3 }; + case Item::YellowStainedGlassPane: return { 160, 4 }; + case Item::LimeStainedGlassPane: return { 160, 5 }; + case Item::PinkStainedGlassPane: return { 160, 6 }; + case Item::GrayStainedGlassPane: return { 160, 7 }; + case Item::LightGrayStainedGlassPane: return { 160, 8 }; + case Item::CyanStainedGlassPane: return { 160, 9 }; + case Item::PurpleStainedGlassPane: return { 160, 10 }; + case Item::BlueStainedGlassPane: return { 160, 11 }; + case Item::BrownStainedGlassPane: return { 160, 12 }; + case Item::GreenStainedGlassPane: return { 160, 13 }; + case Item::RedStainedGlassPane: return { 160, 14 }; + case Item::BlackStainedGlassPane: return { 160, 15 }; + case Item::Prismarine: return { 168, 0 }; + case Item::PrismarineBricks: return { 168, 1 }; + case Item::DarkPrismarine: return { 168, 2 }; + case Item::SeaLantern: return { 169, 0 }; + case Item::RedSandstone: return { 179, 0 }; + case Item::ChiseledRedSandstone: return { 179, 1 }; + case Item::CutRedSandstone: return { 179, 2 }; + case Item::RedSandstoneStairs: return { 180, 0 }; + case Item::RepeatingCommandBlock: return { 210, 0 }; + case Item::ChainCommandBlock: return { 211, 0 }; + case Item::MagmaBlock: return { 213, 0 }; + case Item::NetherWartBlock: return { 214, 0 }; + case Item::RedNetherBricks: return { 215, 0 }; + case Item::BoneBlock: return { 216, 0 }; + case Item::StructureVoid: return { 217, 0 }; + case Item::Observer: return { 218, 0 }; + case Item::WhiteShulkerBox: return { 219, 0 }; + case Item::OrangeShulkerBox: return { 220, 0 }; + case Item::MagentaShulkerBox: return { 221, 0 }; + case Item::LightBlueShulkerBox: return { 222, 0 }; + case Item::YellowShulkerBox: return { 223, 0 }; + case Item::LimeShulkerBox: return { 224, 0 }; + case Item::PinkShulkerBox: return { 225, 0 }; + case Item::GrayShulkerBox: return { 226, 0 }; + case Item::LightGrayShulkerBox: return { 227, 0 }; + case Item::CyanShulkerBox: return { 228, 0 }; + case Item::PurpleShulkerBox: return { 229, 0 }; + case Item::BlueShulkerBox: return { 230, 0 }; + case Item::BrownShulkerBox: return { 231, 0 }; + case Item::GreenShulkerBox: return { 232, 0 }; + case Item::RedShulkerBox: return { 233, 0 }; + case Item::BlackShulkerBox: return { 234, 0 }; + case Item::WhiteGlazedTerracotta: return { 235, 0 }; + case Item::OrangeGlazedTerracotta: return { 236, 0 }; + case Item::MagentaGlazedTerracotta: return { 237, 0 }; + case Item::LightBlueGlazedTerracotta: return { 238, 0 }; + case Item::YellowGlazedTerracotta: return { 239, 0 }; + case Item::LimeGlazedTerracotta: return { 240, 0 }; + case Item::PinkGlazedTerracotta: return { 241, 0 }; + case Item::GrayGlazedTerracotta: return { 242, 0 }; + case Item::LightGrayGlazedTerracotta: return { 243, 0 }; + case Item::CyanGlazedTerracotta: return { 244, 0 }; + case Item::PurpleGlazedTerracotta: return { 245, 0 }; + case Item::BlueGlazedTerracotta: return { 246, 0 }; + case Item::BrownGlazedTerracotta: return { 247, 0 }; + case Item::GreenGlazedTerracotta: return { 248, 0 }; + case Item::RedGlazedTerracotta: return { 249, 0 }; + case Item::BlackGlazedTerracotta: return { 250, 0 }; + case Item::WhiteConcrete: return { 251, 0 }; + case Item::OrangeConcrete: return { 251, 1 }; + case Item::MagentaConcrete: return { 251, 2 }; + case Item::LightBlueConcrete: return { 251, 3 }; + case Item::YellowConcrete: return { 251, 4 }; + case Item::LimeConcrete: return { 251, 5 }; + case Item::PinkConcrete: return { 251, 6 }; + case Item::GrayConcrete: return { 251, 7 }; + case Item::LightGrayConcrete: return { 251, 8 }; + case Item::CyanConcrete: return { 251, 9 }; + case Item::PurpleConcrete: return { 251, 10 }; + case Item::BlueConcrete: return { 251, 11 }; + case Item::BrownConcrete: return { 251, 12 }; + case Item::GreenConcrete: return { 251, 13 }; + case Item::RedConcrete: return { 251, 14 }; + case Item::BlackConcrete: return { 251, 15 }; + case Item::WhiteConcretePowder: return { 252, 0 }; + case Item::OrangeConcretePowder: return { 252, 1 }; + case Item::MagentaConcretePowder: return { 252, 2 }; + case Item::LightBlueConcretePowder: return { 252, 3 }; + case Item::YellowConcretePowder: return { 252, 4 }; + case Item::LimeConcretePowder: return { 252, 5 }; + case Item::PinkConcretePowder: return { 252, 6 }; + case Item::GrayConcretePowder: return { 252, 7 }; + case Item::LightGrayConcretePowder: return { 252, 8 }; + case Item::CyanConcretePowder: return { 252, 9 }; + case Item::PurpleConcretePowder: return { 252, 10 }; + case Item::BlueConcretePowder: return { 252, 11 }; + case Item::BrownConcretePowder: return { 252, 12 }; + case Item::GreenConcretePowder: return { 252, 13 }; + case Item::RedConcretePowder: return { 252, 14 }; + case Item::BlackConcretePowder: return { 252, 15 }; + case Item::IronDoor: return { 330, 0 }; + case Item::OakDoor: return { 324, 0 }; + case Item::SpruceDoor: return { 427, 0 }; + case Item::BirchDoor: return { 428, 0 }; + case Item::JungleDoor: return { 429, 0 }; + case Item::AcaciaDoor: return { 430, 0 }; + case Item::DarkOakDoor: return { 431, 0 }; + case Item::Repeater: return { 356, 0 }; + case Item::Comparator: return { 404, 0 }; + case Item::StructureBlock: return { 255, 0 }; + case Item::IronShovel: return { 256, 0 }; + case Item::IronPickaxe: return { 257, 0 }; + case Item::IronAxe: return { 258, 0 }; + case Item::FlintAndSteel: return { 259, 0 }; + case Item::Apple: return { 260, 0 }; + case Item::Bow: return { 261, 0 }; + case Item::Arrow: return { 262, 0 }; + case Item::Coal: return { 263, 0 }; + case Item::Charcoal: return { 263, 1 }; + case Item::Diamond: return { 264, 0 }; + case Item::IronIngot: return { 265, 0 }; + case Item::GoldIngot: return { 266, 0 }; + case Item::IronSword: return { 267, 0 }; + case Item::WoodenSword: return { 268, 0 }; + case Item::WoodenShovel: return { 269, 0 }; + case Item::WoodenPickaxe: return { 270, 0 }; + case Item::WoodenAxe: return { 271, 0 }; + case Item::StoneSword: return { 272, 0 }; + case Item::StoneShovel: return { 273, 0 }; + case Item::StonePickaxe: return { 274, 0 }; + case Item::StoneAxe: return { 275, 0 }; + case Item::DiamondSword: return { 276, 0 }; + case Item::DiamondShovel: return { 277, 0 }; + case Item::DiamondPickaxe: return { 278, 0 }; + case Item::DiamondAxe: return { 279, 0 }; + case Item::Stick: return { 280, 0 }; + case Item::Bowl: return { 281, 0 }; + case Item::MushroomStew: return { 282, 0 }; + case Item::GoldenSword: return { 283, 0 }; + case Item::GoldenShovel: return { 284, 0 }; + case Item::GoldenPickaxe: return { 285, 0 }; + case Item::GoldenAxe: return { 286, 0 }; + case Item::String: return { 287, 0 }; + case Item::Feather: return { 288, 0 }; + case Item::Gunpowder: return { 289, 0 }; + case Item::WoodenHoe: return { 290, 0 }; + case Item::StoneHoe: return { 291, 0 }; + case Item::IronHoe: return { 292, 0 }; + case Item::DiamondHoe: return { 293, 0 }; + case Item::GoldenHoe: return { 294, 0 }; + case Item::WheatSeeds: return { 295, 0 }; + case Item::Wheat: return { 296, 0 }; + case Item::Bread: return { 297, 0 }; + case Item::LeatherHelmet: return { 298, 0 }; + case Item::LeatherChestplate: return { 299, 0 }; + case Item::LeatherLeggings: return { 300, 0 }; + case Item::LeatherBoots: return { 301, 0 }; + case Item::ChainmailHelmet: return { 302, 0 }; + case Item::ChainmailChestplate: return { 303, 0 }; + case Item::ChainmailLeggings: return { 304, 0 }; + case Item::ChainmailBoots: return { 305, 0 }; + case Item::IronHelmet: return { 306, 0 }; + case Item::IronChestplate: return { 307, 0 }; + case Item::IronLeggings: return { 308, 0 }; + case Item::IronBoots: return { 309, 0 }; + case Item::DiamondHelmet: return { 310, 0 }; + case Item::DiamondChestplate: return { 311, 0 }; + case Item::DiamondLeggings: return { 312, 0 }; + case Item::DiamondBoots: return { 313, 0 }; + case Item::GoldenHelmet: return { 314, 0 }; + case Item::GoldenChestplate: return { 315, 0 }; + case Item::GoldenLeggings: return { 316, 0 }; + case Item::GoldenBoots: return { 317, 0 }; + case Item::Flint: return { 318, 0 }; + case Item::Porkchop: return { 319, 0 }; + case Item::CookedPorkchop: return { 320, 0 }; + case Item::Painting: return { 321, 0 }; + case Item::GoldenApple: return { 322, 0 }; + case Item::EnchantedGoldenApple: return { 322, 1 }; + case Item::OakSign: return { 323, 0 }; + case Item::Bucket: return { 325, 0 }; + case Item::WaterBucket: return { 326, 0 }; + case Item::LavaBucket: return { 327, 0 }; + case Item::Minecart: return { 328, 0 }; + case Item::Saddle: return { 329, 0 }; + case Item::Redstone: return { 331, 0 }; + case Item::Snowball: return { 332, 0 }; + case Item::OakBoat: return { 333, 0 }; + case Item::Leather: return { 334, 0 }; + case Item::MilkBucket: return { 335, 0 }; + case Item::Brick: return { 336, 0 }; + case Item::ClayBall: return { 337, 0 }; + case Item::SugarCane: return { 338, 0 }; + case Item::Paper: return { 339, 0 }; + case Item::Book: return { 340, 0 }; + case Item::SlimeBall: return { 341, 0 }; + case Item::ChestMinecart: return { 342, 0 }; + case Item::FurnaceMinecart: return { 343, 0 }; + case Item::Egg: return { 344, 0 }; + case Item::Compass: return { 345, 0 }; + case Item::FishingRod: return { 346, 0 }; + case Item::Clock: return { 347, 0 }; + case Item::GlowstoneDust: return { 348, 0 }; + case Item::Cod: return { 349, 0 }; + case Item::Salmon: return { 349, 1 }; + case Item::TropicalFish: return { 349, 2 }; + case Item::Pufferfish: return { 349, 3 }; + case Item::CookedCod: return { 350, 0 }; + case Item::CookedSalmon: return { 350, 1 }; + case Item::InkSac: return { 351, 0 }; + case Item::RedDye: return { 351, 1 }; + case Item::GreenDye: return { 351, 2 }; + case Item::CocoaBeans: return { 351, 3 }; + case Item::LapisLazuli: return { 351, 4 }; + case Item::PurpleDye: return { 351, 5 }; + case Item::CyanDye: return { 351, 6 }; + case Item::LightGrayDye: return { 351, 7 }; + case Item::GrayDye: return { 351, 8 }; + case Item::PinkDye: return { 351, 9 }; + case Item::LimeDye: return { 351, 10 }; + case Item::YellowDye: return { 351, 11 }; + case Item::LightBlueDye: return { 351, 12 }; + case Item::MagentaDye: return { 351, 13 }; + case Item::OrangeDye: return { 351, 14 }; + case Item::BoneMeal: return { 351, 15 }; + case Item::Bone: return { 352, 0 }; + case Item::Sugar: return { 353, 0 }; + case Item::Cake: return { 354, 0 }; + case Item::WhiteBed: return { 355, 0 }; + case Item::OrangeBed: return { 355, 1 }; + case Item::MagentaBed: return { 355, 2 }; + case Item::LightBlueBed: return { 355, 3 }; + case Item::YellowBed: return { 355, 4 }; + case Item::LimeBed: return { 355, 5 }; + case Item::PinkBed: return { 355, 6 }; + case Item::GrayBed: return { 355, 7 }; + case Item::LightGrayBed: return { 355, 8 }; + case Item::CyanBed: return { 355, 9 }; + case Item::PurpleBed: return { 355, 10 }; + case Item::BlueBed: return { 355, 11 }; + case Item::BrownBed: return { 355, 12 }; + case Item::GreenBed: return { 355, 13 }; + case Item::RedBed: return { 355, 14 }; + case Item::BlackBed: return { 355, 15 }; + case Item::Cookie: return { 357, 0 }; + case Item::FilledMap: return { 358, 0 }; + case Item::Shears: return { 359, 0 }; + case Item::MelonSlice: return { 360, 0 }; + case Item::PumpkinSeeds: return { 361, 0 }; + case Item::MelonSeeds: return { 362, 0 }; + case Item::Beef: return { 363, 0 }; + case Item::CookedBeef: return { 364, 0 }; + case Item::Chicken: return { 365, 0 }; + case Item::CookedChicken: return { 366, 0 }; + case Item::RottenFlesh: return { 367, 0 }; + case Item::EnderPearl: return { 368, 0 }; + case Item::BlazeRod: return { 369, 0 }; + case Item::GhastTear: return { 370, 0 }; + case Item::GoldNugget: return { 371, 0 }; + case Item::NetherWart: return { 372, 0 }; + case Item::Potion: return { 373, 0 }; + case Item::SplashPotion: return { 438, 0 }; + case Item::LingeringPotion: return { 441, 0 }; + case Item::GlassBottle: return { 374, 0 }; + case Item::SpiderEye: return { 375, 0 }; + case Item::FermentedSpiderEye: return { 376, 0 }; + case Item::BlazePowder: return { 377, 0 }; + case Item::MagmaCream: return { 378, 0 }; + case Item::BrewingStand: return { 379, 0 }; + case Item::Cauldron: return { 380, 0 }; + case Item::EnderEye: return { 381, 0 }; + case Item::GlisteringMelonSlice: return { 382, 0 }; + case Item::BatSpawnEgg: return { 383, 65 }; + case Item::BlazeSpawnEgg: return { 383, 61 }; + case Item::CaveSpiderSpawnEgg: return { 383, 59 }; + case Item::ChickenSpawnEgg: return { 383, 93 }; + case Item::CowSpawnEgg: return { 383, 92 }; + case Item::CreeperSpawnEgg: return { 383, 50 }; + case Item::DonkeySpawnEgg: return { 383, 31 }; + case Item::ElderGuardianSpawnEgg: return { 383, 4 }; + case Item::EndermanSpawnEgg: return { 383, 58 }; + case Item::EndermiteSpawnEgg: return { 383, 67 }; + case Item::EvokerSpawnEgg: return { 383, 34 }; + case Item::GhastSpawnEgg: return { 383, 56 }; + case Item::GuardianSpawnEgg: return { 383, 68 }; + case Item::HorseSpawnEgg: return { 383, 100 }; + case Item::HuskSpawnEgg: return { 383, 23 }; + case Item::LlamaSpawnEgg: return { 383, 103 }; + case Item::MagmaCubeSpawnEgg: return { 383, 62 }; + case Item::MooshroomSpawnEgg: return { 383, 96 }; + case Item::MuleSpawnEgg: return { 383, 32 }; + case Item::OcelotSpawnEgg: return { 383, 98 }; + case Item::PigSpawnEgg: return { 383, 90 }; + case Item::PolarBearSpawnEgg: return { 383, 102 }; + case Item::RabbitSpawnEgg: return { 383, 101 }; + case Item::SheepSpawnEgg: return { 383, 91 }; + case Item::ShulkerSpawnEgg: return { 383, 69 }; + case Item::SkeletonSpawnEgg: return { 383, 51 }; + case Item::SkeletonHorseSpawnEgg: return { 383, 28 }; + case Item::SlimeSpawnEgg: return { 383, 55 }; + case Item::SpiderSpawnEgg: return { 383, 52 }; + case Item::SquidSpawnEgg: return { 383, 94 }; + case Item::StraySpawnEgg: return { 383, 6 }; + case Item::VexSpawnEgg: return { 383, 35 }; + case Item::VillagerSpawnEgg: return { 383, 120 }; + case Item::VindicatorSpawnEgg: return { 383, 36 }; + case Item::WitchSpawnEgg: return { 383, 66 }; + case Item::WitherSkeletonSpawnEgg: return { 383, 5 }; + case Item::WolfSpawnEgg: return { 383, 95 }; + case Item::ZombieSpawnEgg: return { 383, 54 }; + case Item::ZombieHorseSpawnEgg: return { 383, 29 }; + case Item::ZombiePigmanSpawnEgg: return { 383, 57 }; + case Item::ZombieVillagerSpawnEgg: return { 383, 27 }; + case Item::ExperienceBottle: return { 384, 0 }; + case Item::FireCharge: return { 385, 0 }; + case Item::WritableBook: return { 386, 0 }; + case Item::WrittenBook: return { 387, 0 }; + case Item::Emerald: return { 388, 0 }; + case Item::ItemFrame: return { 389, 0 }; + case Item::FlowerPot: return { 390, 0 }; + case Item::Carrot: return { 391, 0 }; + case Item::Potato: return { 392, 0 }; + case Item::BakedPotato: return { 393, 0 }; + case Item::PoisonousPotato: return { 394, 0 }; + case Item::Map: return { 395, 0 }; + case Item::GoldenCarrot: return { 396, 0 }; + case Item::SkeletonSkull: return { 397, 0 }; + case Item::WitherSkeletonSkull: return { 397, 1 }; + case Item::PlayerHead: return { 397, 3 }; + case Item::ZombieHead: return { 397, 2 }; + case Item::CreeperHead: return { 397, 4 }; + case Item::DragonHead: return { 397, 5 }; + case Item::CarrotOnAStick: return { 398, 0 }; + case Item::NetherStar: return { 399, 0 }; + case Item::PumpkinPie: return { 400, 0 }; + case Item::FireworkRocket: return { 401, 0 }; + case Item::FireworkStar: return { 402, 0 }; + case Item::EnchantedBook: return { 403, 0 }; + case Item::NetherBrick: return { 405, 0 }; + case Item::Quartz: return { 406, 0 }; + case Item::TNTMinecart: return { 407, 0 }; + case Item::HopperMinecart: return { 408, 0 }; + case Item::PrismarineShard: return { 409, 0 }; + case Item::PrismarineCrystals: return { 410, 0 }; + case Item::Rabbit: return { 411, 0 }; + case Item::CookedRabbit: return { 412, 0 }; + case Item::RabbitStew: return { 413, 0 }; + case Item::RabbitFoot: return { 414, 0 }; + case Item::RabbitHide: return { 415, 0 }; + case Item::ArmorStand: return { 416, 0 }; + case Item::IronHorseArmor: return { 417, 0 }; + case Item::GoldenHorseArmor: return { 418, 0 }; + case Item::DiamondHorseArmor: return { 419, 0 }; + case Item::Lead: return { 420, 0 }; + case Item::NameTag: return { 421, 0 }; + case Item::CommandBlockMinecart: return { 422, 0 }; + case Item::Mutton: return { 423, 0 }; + case Item::CookedMutton: return { 424, 0 }; + case Item::WhiteBanner: return { 425, 15 }; + case Item::OrangeBanner: return { 425, 14 }; + case Item::MagentaBanner: return { 425, 13 }; + case Item::LightBlueBanner: return { 425, 12 }; + case Item::YellowBanner: return { 425, 11 }; + case Item::LimeBanner: return { 425, 10 }; + case Item::PinkBanner: return { 425, 9 }; + case Item::GrayBanner: return { 425, 8 }; + case Item::LightGrayBanner: return { 425, 7 }; + case Item::CyanBanner: return { 425, 6 }; + case Item::PurpleBanner: return { 425, 5 }; + case Item::BlueBanner: return { 425, 4 }; + case Item::BrownBanner: return { 425, 3 }; + case Item::GreenBanner: return { 425, 2 }; + case Item::RedBanner: return { 425, 1 }; + case Item::BlackBanner: return { 425, 0 }; + case Item::EndCrystal: return { 426, 0 }; + case Item::ChorusFruit: return { 432, 0 }; + case Item::PoppedChorusFruit: return { 433, 0 }; + case Item::Beetroot: return { 434, 0 }; + case Item::BeetrootSeeds: return { 435, 0 }; + case Item::BeetrootSoup: return { 436, 0 }; + case Item::DragonBreath: return { 437, 0 }; + case Item::SpectralArrow: return { 439, 0 }; + case Item::TippedArrow: return { 440, 0 }; + case Item::Shield: return { 442, 0 }; + case Item::Elytra: return { 443, 0 }; + case Item::SpruceBoat: return { 444, 0 }; + case Item::BirchBoat: return { 445, 0 }; + case Item::JungleBoat: return { 446, 0 }; + case Item::AcaciaBoat: return { 447, 0 }; + case Item::DarkOakBoat: return { 448, 0 }; + case Item::TotemOfUndying: return { 449, 0 }; + case Item::ShulkerShell: return { 450, 0 }; + case Item::IronNugget: return { 452, 0 }; + case Item::MusicDisc13: return { 2256, 0 }; + case Item::MusicDiscCat: return { 2257, 0 }; + case Item::MusicDiscBlocks: return { 2258, 0 }; + case Item::MusicDiscChirp: return { 2259, 0 }; + case Item::MusicDiscFar: return { 2260, 0 }; + case Item::MusicDiscMall: return { 2261, 0 }; + case Item::MusicDiscMellohi: return { 2262, 0 }; + case Item::MusicDiscStal: return { 2263, 0 }; + case Item::MusicDiscStrad: return { 2264, 0 }; + case Item::MusicDiscWard: return { 2265, 0 }; + case Item::MusicDisc11: return { 2266, 0 }; + case Item::MusicDiscWait: return { 2267, 0 }; + default: return { 0, 0 }; + } + } +} |