summaryrefslogtreecommitdiffstats
path: root/src/Protocol/Palettes/Upgrade.cpp
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@outlook.com>2020-07-18 15:22:14 +0200
committerTiger Wang <ziwei.tiger@outlook.com>2020-07-18 20:23:10 +0200
commit7425305154fb0005fde9f077cd30100c53d511a4 (patch)
tree0aeba36b1443daae94c38fe1a45075d1d31bd221 /src/Protocol/Palettes/Upgrade.cpp
parentMove IsValidSocket out of global namespace (diff)
downloadcuberite-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.cpp3207
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 };
+ }
+ }
+}